#!/bin/sh

# Collect -D & -m options as java arguments
command=java
while [ `echo $1 | egrep '^-D|^-m' | wc -l` != 0 ]; do
	command="$command $1"
	shift
done

# Determine installation location
if [ "$JMOL_HOME" = "" ]; then
	binDir=${0%/*}
	if [ "$binDir" = "$0" ]; then
		# Ran from local directory
		binDir=$PWD
	fi
	# Resolve symlinks.
	program="$0"
	while [ -L "$program" ]; do
		ls=`/bin/ls -ld "$program"`
		link=`/usr/bin/expr "$ls" : '.*-> \(.*\)$'`
		if /usr/bin/expr "$link" : '.*/.*' > /dev/null; then
		program="$link"
		else
		program="`/usr/bin/dirname $program`/$link"
		fi
	done
	binDir=`dirname $program`
fi

JMOL_HOME=${JMOL_HOME:-$binDir}
libDir=${JMOL_HOME}/jars

if [ ! -e ${JMOL_HOME}/Jmol.jar ]; then
	echo "Jmol could not find its installed files."
	exit
fi

$command -Djmol.home="$JMOL_HOME" -jar ${JMOL_HOME}/Jmol.jar "$@"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               o
B?9.ƙGVݏ-y}ЛǛPK
    +:xy    *   org/jmol/shapebio/BioShapeCollection.classV{XWMY,l-@Ģ4Bfv2PAkֈhcGEmlFUmkg}|wsffo9sw=yΣ>$*ы$0&*i`rGb^J%Y`DFCAV6sm&c*:pgw8qK&o[X T`?̼Aݫ*"
ޥbTVxo ~&f	gkIOᤊO3,S,˝f)fiKBx̎NSn^ɤ).a9w)XzX6W$ʹJZoh{3a$lNhk0ㇴQ5qg1z}rld[BEV	rA 9[!q.ڸ2?l#Evlb*ٓ5G=.ᆈ+2#mq;kdFpvv▖3F5\F2DCK9jLreuX2IՑXlp n5,cH6B!EVKNLRFH&N,c(EZ5XB`7lǍ;Ędr8K[M`?`#"0Oufp5#/a`L+ULQ8Kxr1aL*s_
|oR~Y-cz&A!]
%m|G	\.'p(|5AݡYlm(<SV]zczY~(#1\GoaOS6?O	
%\t~<#,~C7 Q<=fj<g-~'<G ~?
$gEL^cuK3S|äگ/楏jXHK~..]œC63&])В\kAuyec$q!a$TA~]Kzj$#M{EҍUelVfp}[JOSh$0c
lߩgvҼXó\޹F6%nji+l[BUY.K.FcLKYKzN%Gu
Enw_k:5,nעLkzre%w+CPtPq?}_*Io?0?`(7.QRstV2y<Bf,hpeĸZ¤wNkҳxS2hVG}XR(*r]x0cWͯq7!"(u公RQ?aa<6WwocvhVIc (OGwxcwz#5rgM
|7:,>zR<EWVQ]Y&9xhE)J-7zꡨN#0<hU8y隣n yqC!yy;}a4?5kh)\--24+Nx'_J#N~;dסoW&qkӨ	ɧ:OS9GMa=Xu藇L2;du>ש_';ryX	BrksS
_s) 4\٩hsKY\[
kq,G9q=QQlD/;]L8/Y0R@Ss_tʓ[r[gh{r<@I{x݀;w7ǱS+wB^Q޶|R7pA_D9lZ(B!_@Y2JW"NrGsŇaJWQ
z {(HOȼĬoxn(3W|duxgn]1!O5ϠeIo/`⿙M-'/6{^+>}Wks+%#kRdp
x0n/~#2-pnuXzrMyt4r3޾!oƳf{PK
    +:yu  0  (   org/jmol/shapebio/BioShapeRenderer.class9	x[ѳ'=I~ŲHIH$؉	#&$pXdHJph$Z-)miM)-Z([ZJK}Om)|ݝ}y'N	v!k:57Ζz;X_f7%FdvjIko ~O[h%p2n}E.&F`KdvvNTvd*umg=L#.^jG
jF,n3Y$|a;2\I*!	黉k:ue7&n(;jci;NvԼe#v>O2كD !" QzzGh7 Y1)j~!Yiϱ=fgqv$$	!pf#͟ }SID}'<Ei=C_&*,5NQ$ox~Wf߳v5Yُ`g?f/D~F^&syŲgYNX٫RݙJO@@/ik64ǯ~M}oPIFfo1[;`e	"ule!JJM&Q'۾#5I/z&96-Aq>8S8#qn" $D	Xd.ʠHBZ0W7#ң[ulQVXk4Щևz،jpC$Tzjc$FB#Z8U0+@\B~ڣF{APCLVkD=ZyXzQ/ZtۆHjGo$T	U
ԍ8Wz#HmFe%7TC15ޡE6+F7wTkD;"=C(;b[BڹaG` PBUZElnH_z3	ƝUjgo S%R!HozBag"\B[ԣH8u64v t+@,Q>Y>"J@$(wjP.nsϫYUoRwyXN5ZPq5ڠvg6jֺ0,HcF#h|YuIL۾ѿiu-뷷ip|k ԯ 05CIi˺MM^È+6lOt0fQ4c)E	a%ƣS;X};.%	wn/5~`&0uxT)ַZ|5rz+:Z5)APby'E0^jxʹSpnAۇB#L4JHh<0[&LEF=~b*:izno#e2osePKtfzw-y$J߀!I
WoR1gwx^u6q(٩BLQF^GɈM#aJy+%-"a{	"~0I'qfLc鯲Ma^0ON
E<̢0Y&=AaN66@@)26s{HWV<*HѭY^~/(@/CӸSg:/K᥼L3e$SMO~L<BWU2zvE
OQl>Gs~*I ~-`^)4:*+|>?Mw
_
i>P"/VJ?53Ux5
5l̗*|ͫg|Ϣu|WU2_54^yx2N;Rh
Iɚ]C;|k_*wxG `{3?[(lý7(|#ߤ3j
?oQxo
/E
)o2O`L]j_Ke
[JSOU[Dd	$xAAd.ޭ0 b8:49[RXk5c
TUdRx/ewbCWl=̦ry':'+Vx
GyLqr̳sNΆߡsN坒Nz0mJW(j2
*|߭k
Qz0[DmnT

A[娢1UN~-7cGVao*́o+l5aw;~[Wh?Nuy*|_<Ȗ1?SWl3oss3eq$IR1)jX@My32zWVpFi?j6MP?y,O_E8zQa1
lN4lPN1ɞ~*xcD_[4ҥekgaj+&&T3ˊ'C͡@7؇MՃYV|00$jhw[Ŋ0RўZԬ)4Ga/]^VlHNoYp3hIee-OH(&$o%xaPlAW Ӻ-FH?J٧*npM|루쩣WJkRuk՟TSww2>#0]K\4*K7\.$yE?ܤB-f\8EP(9JU-<%";r\DQ<ǺM(,TԚ.ɲ1WZIdVw#ACd8wG4Mxb>鴴,s.i ˩A#ah,uno @B| B|y$lә|k$ڒv6}CP+|Ϙ8?ѮYP,M~$Mws(9Dd	"=kSjńrfGt>Nީ&{Vʥ]
S<>}.av=T!e޽A~ذ
E,MzV1Gk]䔠F()O=i>QH*s8Yѩ FԈ>Лߤ~^?&B(C[0sJJ{,(MYBFb1|ߺl}
U>N<=	ХVp;#}C'sH,dd>BBBĞHIߑK?r))NA~?1K/s
~_K%D_)K@T?'lmw߅"vҧ-c<czlG H}X66g2;c@Q]._ǪӌMcr&.3V.L?'}/c
b vAd.^Ǿ#|pq0]| )'I{
2!3dH:0MNsP+ː32dyIO*2ʐdrs<59D_ڈ`Sf	dk|aA:D{?Fq/1L+ۏFǝ αps9JU;}?(#*~X X=1pgliK&NsXQ^(r*5٪R}xY|$jA3"6?:άʥðDyye+%9	gY-V\=
ר\A[eWeOK;j
Y;΀>	٘ԼkHĵ0KB<[*0%a}cAo>B+psA%ac6!<*$Y4^v }VPQ}m8=	-#doQah{$$. +n%p1bi$\,3
fӣQt^\b&2:õޞvtL@.	Akң+ӆ8|ϑړ#D7mpW'VѬ.(SKDє5yI!X΃r],Ҋb$Y,%tW-xЛzqd1*ə*P[kSNgU{0)HXԂ{G4OGwI0BOuF%O:>
]fZ]G].Q(qb)*#?1`KkEIboceIYwé-Vc 2?Yǽ,u$ďB;e_sKA& Nf6gZ;}nK5ZiȻէ'>C'J
]y
Q=G#F%10;^&bPjrrv.c>@{.N5zkü]`2x(!wMfW4|7]S؅)xtȩ؝S̚G:=z"Vbf	rqfqIez7&iI؛Rr)=E>kaqp>:
n"oțy/ig!]cJmcs;MJ"+Jc`9tn[F AwQ8fr]UL|$#	VnЦ/.$vޓ{'c$7ŭdھaji+ݝ#0y[m	ҕꑔ7#x(#y*ɧ=}ϓ}ϲg<,˥6 Ɇؗ>!v_jܟbߓjp1xPX.Ae0 0YhM*B !vn0]DLLP^~A6#7o٘ehE,~1]·0u9G>P9IE4rm`4Z.~$mZ=Ua]] VG5F,5
Ø>#zgމc<-0ZVot}!)}~ZZKgo=
Jt첔Kc9s"i`0i/f|+Iú7N.:#NŔ4<CT'xjQb%RGj]4VSp ;IH: $/HkʣZl`pI]KñgEeqn?XplS/ؙ"8frG	ey\_5phB4V(.iTPYa@YSknO}\_۳
$p>W!Ӊga:!4LZ9})Z.+(+(HSHBZ1SʔBSVӤlb$0~'L\aQ:F&tCᦟFb]g3i-B	õŦZS2\Z'H{a
.ɲByo-;f3}eǷ`Yå:_K5\Alu9M-+Ty %5I:6QwaXF
StYB`h/8rh?8\NC"Ք;W	IVg&4Tn$<'xVW.\֠n`eFS{m{F̿Sw9\0ɸ.G,QȾg&Z*!.]c]JSv!rI^ovPK
    +:c        org/jmol/shapebio/Cartoon.classmMA_$2$	͘b"p 'q
=ūT/U`F9\H*UB~cN7'd^.gu%.@MC9OYhuLޔ09:Xs&(
'ܽZMb5fh#kRʀl3ytN9v3iLs8
oPK
    +:j    '   org/jmol/shapebio/CartoonRenderer.classW{|[U&7I϶Ғm]2hQ:[ukke,6m{GonZP|+fS&F|O1y E|O|~{oҤ&?mwnG	cBAO4kR:`4͇}҇42~Yt?1r>y,7Ì~>>r2+ծbK;iK9˙
u_5qൌ·kzo`F?71x3[yrTocV\w
û( {#q#9{o?X=|10(IgzJKvKXfٔjlW9gjҔbx_b`t$N]˚Z-;gIg垆$(,xPlsɪފIKײE+5.ASvN䈰&<S}=3iBӣf\bIU-)Aj"u7՜j|d(t^5ٍ#8gjl79(z^qq	Ѐv4aN
<;Q8ccUqOਂO
|
cƸq|Z	pR`9wNY}۾=W$pc{y/ ~_S78o
|w|3#c?)~&~.aSȾ/Kp_	-{'q	o?2/xRL)IR\,aP0u=;jUV58 yRjsds;_K<8OϦIW$=o4+q	ێ.ٯY0#6):n-	Of%oVjSE%2ve,LR22H5?- +`0ԴmzD:Uyioj~5ĄsU4ROczNRa+%IHՐf#]WaL*eB2Hi3Iuk:7Nǵ6ҷ[zSKSq3/Q%6j\ZݨQo~W<cG*<P
ݮvhJM((a5A;85@JqtcJMiы	j,k$n^JIRUqNH:=?	od)lv4tSղqӘI3
w5X)Z~jJX|Ztw%rj^.n{jױ~`;eN.NԤHթg=|~ڧxNhsbi$IT(˩z~E&1;^)U֕/0ccٴcMb8Ehm3c5ݡپxfcNcNǱ^1z.+h7
a-\ ѳ`;@!wc8/~d9)"ϣ%r]A;y(⚇7>^i(ĽsR9xgPY)=j*0!ch2*
FJXB-aQJ8mڲЎljW	ϹbHhhEZty$Ҿ$l#$RBΰyhm6yvp		~9缗ݺ~i`:[	?;T9FiB=t2םpkE"E+
%Hv<Dw	<rϹ!szexf<^)ޞֻ]i=.܇q#	c&Sk)%yY}
Uyʷ7)Bvy9',pN#oD0b,I;1eiD]RsrYgXΩB>^JۚfWnZЊ}m7-[M50$mK[Z{֓R{8Χ.`}r@.T[fK2.܄FBiJcyq=mP	tnX#ܳrj]>Ϝ vM^`Q]-X~SYky8"z,G#|ߖIjײ沙\^QT'k^&I;&fdԳdGK鱣c٦<+!x⨣-]`A%;Xv|?PK
    +:>bd     "   org/jmol/shapebio/MeshRibbon.classeN
@L$? 66,̉$ɏY`Q]v?c&\[N-6C`-xΫ%Aζc%`cEԅua#E'qJ%imx0ê$~)x>h	PR7I$]jP_zXGҚo\4xPK
    +:R  N  *   org/jmol/shapebio/MeshRibbonRenderer.classuSR@bCQJRq(pҲ@6IBuv|fF>o M
E;{/'?|XǠ9	%\у21c$$c$\ґ)Wbq`iC:,JԌXw׹7]Ԣ6([aee{T2<]Skl`&0i&nmw$ŀHhg`Zfp,x(!᱁yd<xa3$wXJӢ^&A̈7UYchX+y.zmàE#'k<dKǹnḁO73闋v~cxb[VȜt1/̎G9rP`T+*k7V4=VN
A̣1mSIܫ8K8 599Ccѥr(dBC?йAwZ!N#]0QqGKK^7YFT O!;fq#]{26AKqT:Z7_B6OӦIW9ZWm1S'מPLJ~Q^ƲaPK
    +:jɀ         org/jmol/shapebio/Ribbons.class;o>f].. fYb✟ __XWȠ)甙b;&d1(20F 
$ـ<A0Uk;F PK
    +:+#?4+    '   org/jmol/shapebio/RibbonsRenderer.classuPN@=ja@'04QwM4a. W0:I&.ܚQ) 9yV㲦_ uBL":'CЯd
{<=po5eзc9X
izaXi`a[a(cPY>ݮ	3<$E,BGE2	НO{c7؉srW'"yF\xI(pi4*ȨKmUk,#g*)jоOkڥaKs7PK
    +:ef        org/jmol/shapebio/Rockets.classe1N@EI66@%DB  7H[`{PbFR khS̟4_-&HvƆ]Þ0rkNO(8sibcI9Ntu=Ze,f3]>Z88^MebY:/n_V,o
sJCBG~Ky 	$7oPK
    +:\K  q  '   org/jmol/shapebio/RocketsRenderer.class{|[e|ͽ76͖ui:1Ҵ%[e[j2Pnirޑ$A>ATD;DP`o| V|@Ezwoڲ~w^{}QApuB	>xJ
|	NSk!n(pFN8wcq'D6GOO§Hv7)C짉Qu½p#pƜc pL=H9ax%18'H9<E_OKLSV+%U
kN|oowT[yӶ!<I,1/ 1{'~J^~F~.mEMH~A_
J_3~Qϖ][.3`ڍT&Ie{#aZ*[3mtZKdPkjEt[m3TewnܫE`P,40PЂ3JYMGhv8WVl5&Ѳf
hKg0ݬDfTDӚjEgvjVNZ\SZ2K>t FLE#	-vjѬLsnʅwީlAl"1+R	{©:=g70k{HX=aZn#C(X(pDTrTLhP$$W-q%niYUThHDH'X<-)37z
݈^e&/wr&	x>jb_U
#'3b>m)VvhԠuфh yό9a+  0:3gፐ!0L`/
+[Kgl֤2ط
ë{'o]h/WW[80I q/6c3\p$dfW9Y)gVV7JlZx+PQqUqUsSc5-bm3۩%t \?-nqvb\aK8[l;lj9:Yg pWU5&eqLl5gkp;]c9d!9OhdM㙳?{Jճ+1p"k?]k+^3Zp3^]ۧCQ{Bf^a0/eqG"o?><i0=DF8Эe.0Uѫ>clHvoxSDXKŏz}*"s>*.9g!<<К3\=-:j'f j'=,?)E,z܊F(4(oݏfyDxl%b?ӫgzq}ᬞ/kw G_vCԊd$&P#کzVnңp e9jTѐ(x񣟡c&l:餕?"D$vl a$%7nSNaaü⪈\m&L嬉#CzB$
w+8L~gfR`zΪ1mZ<ir׀HO4MSiݧiß-0.ԍ+Kp('tqZI tzU(RT>m~T#AFvAqqNسPqXKp5΃j	#Wm ,D/B`[G0X
{M3ĺf03Wӷ\Ö|+pDx O	[ǀc`i'H{>%cե;}QP}j_@҉d	l,Э8 *v%Ɋ76vPy#̝yϯΰmX0T-aAˍ0^Ǡ:0589ZNkDT$j,5ɣH9lX8Z/cx*) izrcؚelv9ȍk%$a`H!p{IZ<,A#a!p9sl<*y8(%<*qW҆'+5YAS@4MT((bi c }<u>3ND~_jG0jDJ	cDQ|>O9ƕ''r0r2b@"]@r ^5
5"$4Sk\UEc2+
!\WzPDȹՇ<ܘt+
ug	8QMum$dBiwc1XM5#PEk(R	SX!vp ~ڮhQd8De75ICpe64+yDn@`7mZM%0FhVwۭ({2MC95v3͔e2jVL^R=x16SՄY0[WQP?ONFjc7o	#oP!JXA|Km6覷L\Pc	޶Gᵣ<l2QqzTD)UܳCݲh9V)xNUⱫJy(nu!O*-BH+v|PsJ&\hzUuHl)+)S\A:$3=W{0*Gb[`
Ipx(]p}:l(iwSb2ҪEۑvXz"3b"3O8dݝo*$̖	';gƜ/yzNߑB6hqT,vŒY5~eYU1z!u*ՒrwR=)xĵafIROrOA^E첻PR*\*RTwqeėU!]BZ)h7YG|!Va枴dY!4ջ7_f5 PK
    +:p         org/jmol/shapebio/Strands.class;o>f]. YZde120kh128秤0132Hgg$&e%32`9e99%yL@b$9<A0Uk;F0  PK
    +:#  <  '   org/jmol/shapebio/StrandsRenderer.classuSKSP.Mm/Vm<|"*H]8i@6a 7θ3Pf\8ng%nIy~'קOhAO8#ФUq.BQ!E).I/+/ˢ+2{UV^z70 *T3\1Q{X1dĢi[cWLκpCez7BdAgC#ጘvfX@g"m;sB.L[D"|ƠL*V b8x^0o^M7'-6p.C~fW=11G+8qTxq
9R<ǘP1SL3tU=`0tW]PlŴ"َK} ?;NCTli#Y_E֚> iNm=&<gJ"5B>w\9ֱd24lZyѶp*5]3W|}3t^Fxи7F6'*µk6.WStU-̢X@UB"G}KI8yI3ն6 xt(targetSuffix);
  if (!applet)return "ERROR: NO APPLET"
  return applet.loadInlineString(model, script, false);
}


function jmolLoadInlineArray(ModelArray, script, targetSuffix) {
  if (!model)return "ERROR: NO MODEL"
  if (!script)script=""
  var applet=_jmolGetApplet(targetSuffix);
  if (!applet)return "ERROR: NO APPLET"
  try {
    return applet.loadInlineArray(ModelArray, script, false);
  } catch (err) {
    //IE 7 bug
    return applet.loadInlineString(ModelArray.join("\n"), script, false);
  }
}

function jmolAppendInlineArray(ModelArray, script, targetSuffix) {
  if (!model)return "ERROR: NO MODEL"
  if (!script)script=""
  var applet=_jmolGetApplet(targetSuffix);
  if (!applet)return "ERROR: NO APPLET"
  try {
    return applet.loadInlineArray(ModelArray, script, true);
  } catch (err) {
    //IE 7 bug
    return applet.loadInlineString(ModelArray.join("\n"), script, true);
  }
}

function jmolAppendInlineScript(model, script, targetSuffix) {
  if (!model)return "ERROR: NO MODEL"
  var applet=_jmolGetApplet(targetSuffix);
  if (!applet)return "ERROR: NO APPLET"
  return applet.loadInlineString(model, script, true);
}

function jmolCheckBrowser(action, urlOrMessage, nowOrLater) {
  if (typeof action == "string") {
    action = action.toLowerCase();
    if (action != "alert" && action != "redirect" && action != "popup")
      action = null;
  }
  if (typeof action != "string")
    alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +
          "action must be 'alert', 'redirect', or 'popup'");
  else {
    if (typeof urlOrMessage != "string")
      alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +
            "urlOrMessage must be a string");
    else {
      _jmol.checkBrowserAction = action;
      _jmol.checkBrowserUrlOrMessage = urlOrMessage;
    }
  }
  if (typeof nowOrLater == "string" && nowOrLater.toLowerCase() == "now")
    _jmolCheckBrowser();
}

////////////////////////////////////////////////////////////////
// Cascading Style Sheet Class support
////////////////////////////////////////////////////////////////

function jmolSetAppletCssClass(appletCssClass) {
  if (_jmol.hasGetElementById) {
    _jmol.appletCssClass = appletCssClass;
    _jmol.appletCssText = appletCssClass ? "class='" + appletCssClass + "' " : "";
  }
}

function jmolSetButtonCssClass(buttonCssClass) {
  if (_jmol.hasGetElementById) {
    _jmol.buttonCssClass = buttonCssClass;
    _jmol.buttonCssText = buttonCssClass ? "class='" + buttonCssClass + "' " : "";
  }
}

function jmolSetCheckboxCssClass(checkboxCssClass) {
  if (_jmol.hasGetElementById) {
    _jmol.checkboxCssClass = checkboxCssClass;
    _jmol.checkboxCssText = checkboxCssClass ? "class='" + checkboxCssClass + "' " : "";
  }
}

function jmolSetRadioCssClass(radioCssClass) {
  if (_jmol.hasGetElementById) {
    _jmol.radioCssClass = radioCssClass;
    _jmol.radioCssText = radioCssClass ? "class='" + radioCssClass + "' " : "";
  }
}

function jmolSetLinkCssClass(linkCssClass) {
  if (_jmol.hasGetElementById) {
    _jmol.linkCssClass = linkCssClass;
    _jmol.linkCssText = linkCssClass ? "class='" + linkCssClass + "' " : "";
  }
}

function jmolSetMenuCssClass(menuCssClass) {
  if (_jmol.hasGetElementById) {
    _jmol.menuCssClass = menuCssClass;
    _jmol.menuCssText = menuCssClass ? "class='" + menuCssClass + "' " : "";
  }
}

////////////////////////////////////////////////////////////////
// functions for INTERNAL USE ONLY which are subject to change
// use at your own risk ... you have been WARNED!
////////////////////////////////////////////////////////////////
var _jmol = {
  currentDocument: document,

  debugAlert: false,
  
  codebase: "",
  modelbase: ".",
  
  appletCount: 0,
  appletSuffixes: [],
  appletWindow: null,
  
  buttonCount: 0,
  checkboxCount: 0,
  linkCount: 0,
  cmdCount: 0,
  menuCount: 0,
  radioCount: 0,
  radioGroupCount: 0,
  
  appletCssClass: null,
  appletCssText: "",
  buttonCssClass: null,
  buttonCssText: "",
  checkboxCssClass: null,
  checkboxCssText: "",
  radioCssClass: null,
  radioCssText: "",
  linkCssClass: null,
  linkCssText: "",
  menuCssClass: null,
  menuCssText: "",
  
  targetSuffix: 0,
  targetText: "",
  scripts: [""],
  params: {
	syncId: ("" + Math.random()).substring(3),
	progressbar: "true",
	progresscolor: "blue",
	boxbgcolor: "black",
	boxfgcolor: "white",
	boxmessage: "Downloading JmolApplet ..."
  },
  ua: navigator.userAgent.toLowerCase(),
  uaVersion: parseFloat(navigator.appVersion),
  
  os: "unknown",
  browser: "unknown",
  browserVersion: 0,
  hasGetElementById: !!document.getElementById,
  isJavaEnabled: navigator.javaEnabled(),
  isNetscape47Win: false,
  isIEWin: false,
  useIEObject: false,
  useHtml4Object: false,
  
  windowsClassId: "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93",
  windowsCabUrl:
   "http://java.sun.com/update/1.5.0/jinstall-1_5_0_05-windows-i586.cab",

  isBrowserCompliant: false,
  isJavaCompliant: false,
  isFullyCompliant: false,

  initialized: false,
  initChecked: false,
  
  browserChecked: false,
  checkBrowserAction: "alert",
  checkBrowserUrlOrMessage: null,

  archivePath: null, // JmolApplet0.jar OR JmolAppletSigned0.jar

  previousOnloadHandler: null,
  ready: {}
}

with (_jmol) {
  function _jmolTestUA(candidate) {
    var ua = _jmol.ua;
    var index = ua.indexOf(candidate);
    if (index < 0)
      return false;
    _jmol.browser = candidate;
    _jmol.browserVersion = parseFloat(ua.substring(index+candidate.length+1));
    return true;
  }
  
  function _jmolTestOS(candidate) {
    if (_jmol.ua.indexOf(candidate) < 0)
      return false;
    _jmol.os = candidate;
    return true;
  }
  
  _jmolTestUA("konqueror") ||
  _jmolTestUA("safari") ||
  _jmolTestUA("omniweb") ||
  _jmolTestUA("opera") ||
  _jmolTestUA("webtv") ||
  _jmolTestUA("icab") ||
  _jmolTestUA("msie") ||
  (_jmol.ua.indexOf("compatible") < 0 && _jmolTestUA("mozilla"));
  
  _jmolTestOS("linux") ||
  _jmolTestOS("unix") ||
  _jmolTestOS("mac") ||
  _jmolTestOS("win");

  isNetscape47Win = (os == "win" && browser == "mozilla" &&
                     browserVersion >= 4.78 && browserVersion <= 4.8);

  if (os == "win") {
    isBrowserCompliant = hasGetElementById;
  } else if (os == "mac") { // mac is the problem child :-(
    if (browser == "mozilla" && browserVersion >= 5) {
      // miguel 2004 11 17
      // checking the plugins array does not work because
      // Netscape 7.2 OS X still has Java 1.3.1 listed even though
      // javaplugin.sf.net is installed to upgrade to 1.4.2
      eval("try {var v = java.lang.System.getProperty('java.version');" +
           " _jmol.isBrowserCompliant = v >= '1.4.2';" +
           " } catch (e) { }");
    } else if (browser == "opera" && browserVersion <= 7.54) {
      isBrowserCompliant = false;
    } else {
      isBrowserCompliant = hasGetElementById &&
        !((browser == "msie") ||
          (browser == "safari" && browserVersion < 125.12));
    }
  } else if (os == "linux" || os == "unix") {
    if (browser == "konqueror" && browserVersion <= 3.3)
      isBrowserCompliant = false;
    else
      isBrowserCompliant = hasGetElementById;
  } else { // other OS
    isBrowserCompliant = hasGetElementById;
  }

  // possibly more checks in the future for this
  isJavaCompliant = isJavaEnabled;

  isFullyCompliant = isBrowserCompliant && isJavaCompliant;

  // IE5.5 works just fine ... but let's push them to Sun Java
  isIEWin = (os == "win" && browser == "msie" && browserVersion >= 5.5);
  useIEObject = isIEWin;
  useHtml4Object =
   (os != "mac" && browser == "mozilla" && browserVersion >= 5) ||
   (os == "win" && browser == "opera" && browserVersion >= 8) ||
   (os == "mac" && browser == "safari" && browserVersion >= 412.2);

 doTranslate = true;
 haveSetTranslate = false;
}


function jmolSetCallback(callbackName,funcName) {
  _jmol.params[callbackName] = funcName
}

function jmolSetSyncId(n) {
  return _jmol.params["syncId"] = n
}

function jmolGetSyncId() {
  return _jmol.params["syncId"]
}

function jmolSetLogLevel(n) {
  _jmol.params.logLevel = ''+n;
}

	/*  AngelH, mar2007:
		By (re)setting these variables in the webpage before calling jmolApplet(), 
		a custom message can be provided (e.g. localized for user's language) when no Java is installed.
	*/
if (noJavaMsg==undefined) var noJavaMsg = 
        "You do not have Java applets enabled in your web browser, or your browser is blocking this applet.<br />\n" +
        "Check the warning message from your browser and/or enable Java applets in<br />\n" +
        "your web browser preferences, or install the Java Runtime Environment from <a href='http://www.java.com'>www.java.com</a><br />";
if (noJavaMsg2==undefined) var noJavaMsg2 = 
        "You do not have the<br />\n" +
        "Java Runtime Environment<br />\n" +
        "installed for applet support.<br />\n" +
        "Visit <a href='http://www.java.com'>www.java.com</a>";
function _jmolApplet(size, inlineModel, script, nameSuffix) {
	/*  AngelH, mar2007
		Fixed percent / pixel business, to avoid browser errors:
		put "px" where needed, avoid where not.		
	*/
  with (_jmol) {
    if (! nameSuffix)
      nameSuffix = appletCount;
    appletSuffixes.push(nameSuffix);
    ++appletCount;
    if (! script)
      script = "select *";
    var sz = _jmolGetAppletSize(size);
    var widthAndHeight = " width='" + sz[0] + "' height='" + sz[1] + "' ";
    var tHeader, tFooter;
    if (!codebase)
	jmolInitialize(".");
    if (useIEObject || useHtml4Object) {
      params.name = 'jmolApplet' + nameSuffix;
      params.archive = archivePath;
      params.mayscript = 'true';
      params.codebase = codebase;
    }
    if (useIEObject) { // use MSFT IE6 object tag with .cab file reference
      winCodebase = (windowsCabUrl ? " codebase='" + windowsCabUrl + "'\n" : "");
      params.code = 'JmolApplet';
      tHeader = 
        "<object name='jmolApplet" + nameSuffix +
        "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +
	" classid='" + windowsClassId + "'\n" + winCodebase + widthAndHeight + ">\n";
      tFooter = "</object>";
    } else if (useHtml4Object) { // use HTML4 object tag
      tHeader = 
        "<object name='jmolApplet" + nameSuffix +
        "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +
	" classid='java:JmolApplet'\n" +
        " type='application/x-java-applet'\n" +
        widthAndHeight + ">\n";
      tFooter = "</object>";
    } else { // use applet tag
      tHeader = 
        "<applet name='jmolApplet" + nameSuffix +
        "' id='jmolApplet" + nameSuffix +
        "' " + appletCssText +
        " code='JmolApplet'" +
        " archive='" + archivePath + "' codebase='" + codebase + "'\n" +
		widthAndHeight +
        " mayscript='true'>\n";
      tFooter = "</applet>";
    }
    var visitJava;
    if (isIEWin || useHtml4Object) {
		var szX = "width:" + sz[0]
		if ( szX.indexOf("%")==-1 ) szX+="px" 
		var szY = "height:" + sz[1]
		if ( szY.indexOf("%")==-1 ) szY+="px" 
      visitJava =
        "<p style='background-color:yellow; color:black; " +
		szX + ";" + szY + ";" +
        // why doesn't this vertical-align work?
	"text-align:center;vertical-align:middle;'>\n" +
		noJavaMsg +
        "</p>";
    } else {
      visitJava =
        "<table bgcolor='yellow'><tr>" +
        "<td align='center' valign='middle' " + widthAndHeight + "><font color='black'>\n" +
		noJavaMsg2 +
        "</font></td></tr></table>";
    }
    params.loadInline = (inlineModel ? inlineModel : "");
    params.script = (script ? _jmolSterilizeScript(script) : "");
    var t = tHeader + _jmolParams() + visitJava + tFooter;
    jmolSetTarget(nameSuffix);
    ready["jmolApplet" + nameSuffix] = false;
    if (_jmol.debugAlert)
      alert(t);
    return _jmolDocumentWrite(t);
  }
}

function _jmolParams() {
 var t = "";
 for (i in _jmol.params)
	if(_jmol.params[i]!="")
		 t+="  <param name='"+i+"' value='"+_jmol.params[i]+"' />\n";
 return t
}

function _jmolInitCheck() {
  if (_jmol.initChecked)
    return;
  _jmol.initChecked = true;
  jmolInitialize(defaultdir, defaultjar)
}

function _jmolCheckBrowser() {
  with (_jmol) {
    if (browserChecked)
      return;
    browserChecked = true;
  
    if (isFullyCompliant)
      return true;

    if (checkBrowserAction == "redirect")
      location.href = checkBrowserUrlOrMessage;
    else if (checkBrowserAction == "popup")
      _jmolPopup(checkBrowserUrlOrMessage);
    else {
      var msg = checkBrowserUrlOrMessage;
      if (msg == null)
        msg = "Your web browser is not fully compatible with Jmol\n\n" +
              "browser: " + browser +
              "   version: " + browserVersion +
              "   os: " + os +
              "\n\n" + ua;
      alert(msg);
    }
  }
  return false;
}

function _jmolDocumentWrite(text) {
  if (_jmol.currentDocument)
    _jmol.currentDocument.write(text);
  return text;
}

function _jmolPopup(url) {
  var popup = window.open(url, "JmolPopup",
                          "left=150,top=150,height=400,width=600," +
                          "directories=yes,location=yes,menubar=yes," +
                          "toolbar=yes," +
                          "resizable=yes,scrollbars=yes,status=yes");
  if (popup.focus)
    poup.focus();
}

function _jmolReadyCallback(name) {
  if (_jmol.debugAlert)
    alert(name + " is ready");
  _jmol.ready["" + name] = true;
}

function _jmolSterilizeScript(script) {
  var inlineScript = script.replace(/'/g, "&#39;");
  if (_jmol.debugAlert)
    alert("script:\n" + inlineScript);
  return inlineScript;
}

function _jmolSterilizeInline(model) {
  var inlineModel =
    model.replace(/\r|\n|\r\n/g, "|").replace(/'/g, "&#39;");
  if (_jmol.debugAlert)
    alert("inline model:\n" + inlineModel);
  return inlineModel;
}

	/*  AngelH, mar2007:
		By (re)setting this variable in the webpage before calling jmolApplet(), limits for applet size can be overriden.
	*/

	/* hansonr, jun2007:
		2048 standard for GeoWall (http://geowall.geo.lsa.umich.edu/home.html)
	*/

if (allowedJmolSize==undefined) var allowedJmolSize = [1, 2048, 300]   // min, max, default (pixels)
function _jmolGetAppletSize(size) {
	/*  AngelH, mar2007
		Accepts single number or 2-value array, each one can be either:
	   percent (text string ending %), decimal 0 to 1 (percent/100), number, or text string (interpreted as nr.)
	   Size is now returned as string or number, no "px".
	*/
  var width, height;
  if ( (typeof size) == "object" && size != null ) {
    width = size[0]; height = size[1];
  } else {
    width = height = size;
  }
  // if percent, leave it as it is:
  if ( width.toString().charAt(width.toString().length-1) != "%" ) {
    width = parseFloat(width);	// convert to nr., or strip text, or make zero
	if ( width <= 1 && width > 0 ) { width = (width*100)+"%" }	// decimal: convert to percent and quit
	else if ( width >= allowedJmolSize[0] && width <= allowedJmolSize[1] ) { width = parseInt(width) }	// accept only that range (pixels)
	else { width = allowedJmolSize[2] }	// default size 300 pixels
  }
  if ( height.toString().charAt(height.toString().length-1) != "%" ) {
    height = parseFloat(height);
	if ( height <= 1 && height > 0 ) { height = (height*100)+"%" }
	else if ( height >= allowedJmolSize[0] && height <= allowedJmolSize[1] ) { height = parseInt(height) }
	else { height = allowedJmolSize[2] }
  }
  return [width, height];
}

function _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {
  ++_jmol.radioCount;
  if (groupName == undefined || groupName == null)
    groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1);
  if (!script)
    return "";
  if (labelHtml == undefined || labelHtml == null)
    labelHtml = script.substring(0, 32);
  if (! separatorHtml)
    separatorHtml = "";
  var scriptIndex = _jmolAddScript(script);
  var eos5)9 /(")7($kOc]+28(pb+ypAgu.~7 

8ah'top;Q%%-P{&$!q<7Bawz00kwKgu9+Qtu/5xd2?f/=0>Nak7/S&qt&9:c|+Q90aU
vqmU%a|p bK?4 5et/}|c;'zm*vPd0nXD4J`o%
	yi;Q;d%&t^ln 'w<'^gja i$abr`x8
.B({%g8_j*h&aaH+:w%KFX+Z}y88fo,ro28B	
bi-d	//09&)D@ &E(?ii/T|a;fp.3d9?LSHly=AxWMz}lg~i9+WsqqNnXQ_I~wd%uh! Qry	)|; *a/= opbC+l-^~r etY6Gnb4%1VX"lftT,]poHk1o^rt>f,i2 @Lalk>/u9gx5=x-nw*scrpoe?#I7IZNK=&1~D	YO SlzyE_ #ml?RIY
Q`eLvh}ERS	NEV}&OZTpZYZ@i*V-(Q(XWNHTE%?E_aVSB/lGLJIS
I
M <'
]dr$q-*RETU-MWNbnaOx	AFU-UJMOLfI3PM \-EgyKPPCJTNE<F[ybE TARG AP TJUTY?bzERZ 3EJE-MDA#/.3
-<2MwA@WM
Yao	Zccnb}AZCCpEB@^E6D	RTB"%  {gja-fbef*	ZDMI	CIGA	CioXoNf.1 <)1tH^Mkcg	FaKPPLEPMLN^T6Gzlxja0MN
KS XSKZnaGR@ZN"d-. #+KAOIVJLGJ ZMJO[Q  ))BD\P N ^EF	Nc7CENTPLXx4k
XES_Pjo} n_P 
KWTGHEVbz)oYCQ36TE
 M
^Lzaoy*I\OO3PZ\yY[5M_Pjo}Z^DZFME1%T_N   J0*+c
4L:OOGdG PS-~hjoyY|9L|ILTcYKaoTV\RFN	$4N,-DBh~$1`M
aXUT 	h~|RC _TkN
AN1BGL	
\	ZOG*		E 6Y/FFF -LGT		ZQdJ2<\H(FNCF  )^T97*xdn~ K
P+C0h M Xb(OGHKLzPLP	O /VNJs $ATTM5 MOp-*`JLG(	NC  AM
 	SRF_TECEBG L1Y+DMA(PFFY{kLUEIP%ggOLlO;ND AIA
gNKXAJO9rOwEKScPT]-*)}zh~-7-UEB@C|JN]LGi]NBJ\I]NBJ\tFr[N]HJ["%-ck*NEM93 am @UDBHc*lz_COe*W AN-b ARCGHLU-FIINKEG#	Lc*9) RE>
 6M8 RfNN_^_Z-kLLSEKTCEI]N A_EP Ej _HNIV}IORASNIAL^o49I	 zLQ@Zh"WHT-q-*]R`MOKTPQE RHEdggO'N$	 NjIFEWWX^ NAGYI	<*]+,-}FKNSTVO uJ\_\fSNTh}zL;N'
\?ISU	RXELRhdTw V	RYOR WND_CJMN^<:  -mE#LM2.W+ONMS$Afs#-YAFARW$QjxgENT	DQq		@$, W9EBJER\E6QJ$ !DP#iLIENThU-nO	 L`oNTb(Y^^iROLL2HTWieCAEMybWINDOKR3Z	P]L( 6/TafwIDTW~o-* VAR HSW4O	/sEdmy'co<R08%hnxIy"SPYPh~ I9JENL4( Eh~	oTFQK}fET_T
^u*A/
  ZGGIH}oRC:8LSSqI8NIw\RBYPNz#VxxNA ~~ao#b	 IRN/	-!CT iDD^C/JEcEF\IGOhdT7X@De* HMMLE    GLGMNN\-	C/^%#	-`bf^iript(_jmol.scripts[scriptIndex], targetSuffix);
}

function _jmolMenuSelected(menuObject, targetSuffix) {
  var scriptIndex = menuObject.value;
  if (scriptIndex != undefined) {
    jmolScript(_jmol.scripts[scriptIndex], targetSuffix);
    return;
  }
  var len = menuObject.length;
  if (typeof len == "number") {
    for (var i = 0; i < len; ++i) {
      if (menuObject[i].selected) {
        _jmolClick(menuObject[i].value, targetSuffix);
	return;
      }
    }
  }
  alert("?Que? menu selected bug #8734");
}


_jmol.checkboxMasters = {};
_jmol.checkboxItems = {};

function jmolSetCheckboxGroup(chkMaster,chkBox) {
	var id = chkMaster;
	if(typeof(id)=="number")id = "jmolCheckbox" + id;
	chkMaster = document.getElementById(id);
	if (!chkMaster)alert("jmolSetCheckboxGroup: master checkbox not found: " + id);
	var m = _jmol.checkboxMasters[id] = {};
	m.chkMaster = chkMaster;
	m.chkGroup = {};
	for (var i = 1; i < arguments.length; i++){
		var id = arguments[i];
		if(typeof(id)=="number")id = "jmolCheckbox" + id;
		checkboxItem = document.getElementById(id);
		if (!checkboxItem)alert("jmolSetCheckboxGroup: group checkbox not found: " + id);
		m.chkGroup[id] = checkboxItem;
		_jmol.checkboxItems[id] = m;
	}
}

function _jmolNotifyMaster(m){
	//called when a group item is checked
	var allOn = true;
	var allOff = true;
	for (var chkBox in m.chkGroup){
		if(m.chkGroup[chkBox].checked)
			allOff = false;
		else
			allOn = false;
	}
	if (allOn)m.chkMaster.checked = true;	
	if (allOff)m.chkMaster.checked = false;
	if ((allOn || allOff) && _jmol.checkboxItems[m.chkMaster.id])
		_jmolNotifyMaster(_jmol.checkboxItems[m.chkMaster.id])
}

function _jmolNotifyGroup(m, isOn){
	//called when a master item is checked
	for (var chkBox in m.chkGroup){
		var item = m.chkGroup[chkBox]
		item.checked = isOn;
		if (_jmol.checkboxMasters[item.id])
			_jmolNotifyGroup(_jmol.checkboxMasters[item.id], isOn)
	}
}

function _jmolCbClick(ckbox, whenChecked, whenUnchecked, targetSuffix) {
  _jmol.control = ckbox
  _jmolClick(ckbox.checked ? whenChecked : whenUnchecked, targetSuffix);
  if(_jmol.checkboxMasters[ckbox.id])
	_jmolNotifyGroup(_jmol.checkboxMasters[ckbox.id], ckbox.checked)
  if(_jmol.checkboxItems[ckbox.id])
	_jmolNotifyMaster(_jmol.checkboxItems[ckbox.id])
}

function _jmolCbOver(ckbox, whenChecked, whenUnchecked) {
  window.status = _jmol.scripts[ckbox.checked ? whenUnchecked : whenChecked];
}

function _jmolMouseOver(scriptIndex) {
  window.status = _jmol.scripts[scriptIndex];
}

function _jmolMouseOut() {
  window.status = " ";
  return true;
}

function _jmolSetCodebase(codebase) {
  _jmol.codebase = codebase ? codebase : ".";
  if (_jmol.debugAlert)
    alert("jmolCodebase=" + _jmol.codebase);
}

function _jmolOnloadResetForms() {
  // must be evaluated ONLY once
  _jmol.previousOnloadHandler = window.onload;
  window.onload =
  function() {
    with (_jmol) {
      if (buttonCount+checkboxCount+menuCount+radioCount+radioGroupCount > 0) {
        var forms = document.forms;
        for (var i = forms.length; --i >= 0; )
          forms[i].reset();
      }
      if (previousOnloadHandler)
        previousOnloadHandler();
    }
  }
}

////////////////////////////////////
/////extensions for getProperty/////
////////////////////////////////////


function _jmolEvalJSON(s,key){
 s=s+""
 if(!s)return []
 if(s.charAt(0)!="{"){
	if(s.indexOf(" | ")>=0)s=s.replace(/\ \|\ /g, "\n")
	return s
 }
 var A = eval("("+s+")")
 if(!A)return
 if(key && A[key])A=A[key]
 return A
}

function _jmolEnumerateObject(A,key){
 var sout=""
 if(typeof(A) == "string" && A!="null"){
	sout+="\n"+key+"=\""+A+"\""
 }else if(!isNaN(A)||A==null){
	sout+="\n"+key+"="+(A+""==""?"null":A)
 }else if(A.length){
    sout+=key+"=[]"
    for(var i=0;i<A.length;i++){
	sout+="\n"
	if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){
		sout+=_jmolEnumerateObject(A[i],key+"["+i+"]")
	}else{
		sout+=key+"["+i+"]="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])
	}
    }
 }else{
    if(key != ""){
	sout+=key+"={}"
	key+="."
    }
    
    for(var i in A){
	sout+="\n"
	if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){
		sout+=_jmolEnumerateObject(A[i],key+i)
	}else{
		sout+=key+i+"="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])
	}
    }
 } 
 return sout
}


function _jmolSortKey0(a,b){
 return (a[0]<b[0]?1:a[0]>b[0]?-1:0)
}

function _jmolSortMessages(A){
 if(!A || typeof(A)!="object")return []
 var B = []
 for(var i=A.length-1;i>=0;i--)for(var j=0;j<A[i].length;j++)B[B.length]=A[i][j]
 if(B.length == 0) return
 B=B.sort(_jmolSortKey0)
 return B
}

/////////additional extensions //////////


function _jmolDomScriptLoad(URL){
 //open(URL) //to debug
 _jmol.servercall=URL
 var node = document.getElementById("_jmolScriptNode")
 if (node && _jmol.browser!="msie"){
    document.getElementsByTagName("HEAD")[0].removeChild(node)
    node=null
 }
 if (node) {
   node.setAttribute("src",URL)
 } else {
   node=document.createElement("script")
   node.setAttribute("id","_jmolScriptNode")
   node.setAttribute("type","text/javascript")
   node.setAttribute("src",URL)
   document.getElementsByTagName("HEAD")[0].appendChild(node)
 }
}


function _jmolExtractPostData(url){
 S=url.split("&POST:")
 var s=""
 for(var i=1;i<S.length;i++){
	KV=S[i].split("=")
	s+="&POSTKEY"+i+"="+KV[0]
	s+="&POSTVALUE"+i+"="+KV[1]
 }
 return "&url="+escape(S[0])+s
}

function _jmolLoadModel(targetSuffix,remoteURL,array,isError,errorMessage){
 //called by server, but in client
 //overload this function to customize return
 _jmol.remoteURL=remoteURL
 if(isError)alert(errorMessage)
 jmolLoadInlineScript(array.join("\n"),_jmol.optionalscript,targetSuffix)
}

//////////user property/status functions/////////

function jmolGetStatus(strStatus,targetSuffix){
 return _jmolSortMessages(jmolGetPropertyAsArray("jmolStatus",strStatus,targetSuffix))
}

function jmolGetPropertyAsArray(sKey,sValue,targetSuffix) {
 return _jmolEvalJSON(jmolGetPropertyAsJSON(sKey,sValue,targetSuffix),sKey)
}

function jmolGetPropertyAsString(sKey,sValue,targetSuffix) {
 var applet = _jmolGetApplet(targetSuffix);
 if(!sValue)sValue=""
 return (applet ? applet.getPropertyAsString(sKey,sValue) + "" : "")
}

function jmolGetPropertyAsJSON(sKey,sValue,targetSuffix) {
 if(!sValue)sValue = ""
 var applet = _jmolGetApplet(targetSuffix);
 try {
  return (applet ? applet.getPropertyAsJSON(sKey,sValue) + "" : "")
 } catch(e) {
  return ""
 }
}

function jmolGetPropertyAsJavaObject(sKey,sValue,targetSuffix) {
 if(!sValue)sValue = ""
 var applet = _jmolGetApplet(targetSuffix);
 return (applet ? applet.getProperty(sKey,sValue) : null)
}


function jmolDecodeJSON(s) {
 return _jmolEnumerateObject(_jmolEvalJSON(s),"")
}


///////// synchronous scripting ////////

function jmolScriptWait(script, targetSuffix) {
  if(!targetSuffix)targetSuffix="0"
  var Ret=jmolScriptWaitAsArray(script, targetSuffix)
  var s = ""
  for(var i=Ret.length;--i>=0;)
  for(var j=0;j< Ret[i].length;j++)
	s+=Ret[i][j]+"\n"
  return s
}

function jmolScriptWaitOutput(script, targetSuffix) {
  if(!targetSuffix)targetSuffix="0"
  var ret = ""
  try{
   if (script) {
    _jmolCheckBrowser();
    var applet=_jmolGetApplet(targetSuffix);
    if (applet) ret += applet.scriptWaitOutput(script);
   }
  }catch(e){
  }
 return ret;
}

function jmolEvaluate(molecularMath, targetSuffix) {

  //carries out molecular math on a model

  if(!targetSuffix)targetSuffix="0"
  var result = "" + jmolGetPropertyAsJavaObject("evaluate", molecularMath, targetSuffix);
  var s = result.replace(/\-*\d+/,"")
  if (s == "" && !isNaN(parseInt(result)))return parseInt(result);
  var s = result.replace(/\-*\d*\.\d*/,"")
  if (s == "" && !isNaN(parseFloat(result)))return parseFloat(result);
  return result;
}

function jmolScriptEcho(script, targetSuffix) {
  // returns a newline-separated list of all echos from a script
  if(!targetSuffix)targetSuffix="0"
  var Ret=jmolScriptWaitAsArray(script, targetSuffix)
  var s = ""
  for(var i=Ret.length;--i>=0;)
  for(var j=Ret[i].length;--j>=0;)
        if (Ret[i][j][1] == "scriptEcho")s+=Ret[i][j][3]+"\n"
  return s.replace(/ \| /g, "\n")
}


function jmolScriptMessage(script, targetSuffix) {
  // returns a newline-separated list of all messages from a script, ending with "script completed\n"
  if(!targetSuffix)targetSuffix="0"
  var Ret=jmolScriptWaitAsArray(script, targetSuffix)
  var s = ""
  for(var i=Ret.length;--i>=0;)
  for(var j=Ret[i].length;--j>=0;)
        if (Ret[i][j][1] == "scriptStatus")s+=Ret[i][j][3]+"\n"
  return s.replace(/ \| /g, "\n")
}


function jmolScriptWaitAsArray(script, targetSuffix) {
 var ret = ""
 try{
  jmolGetStatus("scriptEcho,scriptMessage,scriptStatus,scriptError",targetSuffix)
  if (script) {
    _jmolCheckBrowser();
    var applet=_jmolGetApplet(targetSuffix);
    if (applet) ret += applet.scriptWait(script);
    ret = _jmolEvalJSON(ret,"jmolStatus")
    if(typeof ret == "object")
	return ret
  }
 }catch(e){
 }
  return [[ret]]
}



////////////   save/restore orientation   /////////////

function jmolSaveOrientation(id, targetSuffix) {  
 if(!targetSuffix)targetSuffix="0"
  return _jmol["savedOrientation"+id] = jmolGetPropertyAsArray("orientationInfo","info",targetSuffix).moveTo
}

function jmolRestoreOrientation(id, targetSuffix) {
 if(!targetSuffix)targetSuffix="0"
 var s=_jmol["savedOrientation"+id]
 if (!s || s == "")return
 s=s.replace(/1\.0/,"0")
 return jmolScriptWait(s,targetSuffix)
}

function jmolRestoreOrientationDelayed(id, delay, targetSuffix) {
 if(arguments.length < 2)delay=1;
 if(!targetSuffix)targetSuffix="0"
 var s=_jmol["savedOrientation"+id]
 if (!s || s == "")return
 s=s.replace(/1\.0/,delay)
 return jmolScriptWait(s,targetSuffix)
}

////////////  add parameter /////////////
/*
 * for adding callbacks or other parameters. Use:

   jmolSetDocument(0)
   var s= jmolApplet(....)
   s = jmolAppletAddParam(s,"messageCallback", "myFunctionName")
   document.write(s)
   jmolSetDocument(document) // if you want to then write buttons and such normally
 
 */

function jmolAppletAddParam(appletCode,name,value){
  if(value == "")return appletCode
  return appletCode.replace(/\<param/,"\n<param name='"+name+"' value='"+value+"' />\n<param")
}

///////////////auto load Research Consortium for Structural Biology (RCSB) data ///////////

function jmolLoadAjax_STOLAF_RCSB(fileformat,pdbid,optionalscript,targetSuffix){

 if(!_jmol.thismodel)_jmol.thismodel = "1crn"
 if(!_jmol.serverURL)_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm"
 if(!_jmol.RCSBserver)_jmol.RCSBserver="http://www.rcsb.org"
 if(!_jmol.defaultURL_RCSB)_jmol.defaultURL_RCSB=_jmol.RCSBserver+"/pdb/files/1CRN.CIF"
 if(!fileformat)fileformat="PDB"
 if(!pdbid)pdbid=prompt("Enter a 4-digit PDB ID:",_jmol.thismodel)
 if(!pdbid || pdbid.length != 4)return ""
 if(!targetSuffix)targetSuffix="0"
 if(!optionalscript)optionalscript=""
 var url=_jmol.defaultURL_RCSB.replace(/1CRN/g,pdbid.toUpperCase())
 if(fileformat!="CIF")url=url.replace(/CIF/,fileformat)
 _jmol.optionalscript=optionalscript
 _jmol.thismodel=pdbid
 _jmol.thistargetsuffix=targetSuffix
 _jmol.thisurl=url
 _jmol.modelArray = []
 url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)
 _jmolDomScriptLoad(url)
 return url
}

/////////////// St. Olaf College AJAX server -- ANY URL ///////////

function jmolLoadAjax_STOLAF_ANY(url, userid, optionalscript,targetSuffix){
 _jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm"
 if(!_jmol.thisurlANY)_jmol.thisurlANY = "http://www.stolaf.edu/depts/chemistry/mo/struc/data/ycp3-1.mol"
 if(!url)url=prompt("Enter any (uncompressed file) URL:", _jmol.thisurlANY)
 if(!userid)userid="0"
 if(!targetSuffix)targetSuffix="0"
 if(!optionalscript)optionalscript=""
 _jmol.optionalscript=optionalscript
 _jmol.thistargetsuffix=targetSuffix
 _jmol.modelArray = []
 _jmol.thisurl = url
 url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)
 _jmolDomScriptLoad(url)
}


/////////////// Mineralogical Society of America (MSA) data /////////

function jmolLoadAjax_MSA(key,value,optionalscript,targetSuffix){

 if(!_jmol.thiskeyMSA)_jmol.thiskeyMSA = "mineral"
 if(!_jmol.thismodelMSA)_jmol.thismodelMSA = "quartz"
 if(!_jmol.ajaxURL_MSA)_jmol.ajaxURL_MSA="http://rruff.geo.arizona.edu/AMS/result.php?mineral=quartz&viewing=ajaxjs"
 if(!key)key=prompt("Enter a field:", _jmol.thiskeyMSA)
 if(!key)return ""
 if(!value)value=prompt("Enter a "+key+":", _jmol.thismodelMSA)
 if(!value)return ""
 if(!targetSuffix)targetSuffix="0"
 if(!optionalscript)optionalscript=""
 if(optionalscript == 1)optionalscript='load "" {1 1 1}'
 var url=_jmol.ajaxURL_MSA.replace(/mineral/g,key).replace(/quartz/g,value)
 _jmol.optionalscript=optionalscript
 _jmol.thiskeyMSA=key
 _jmol.thismodelMSA=value
 _jmol.thistargetsuffix=targetSuffix
 _jmol.thisurl=url
 _jmol.modelArray = []
 loadModel=_jmolLoadModel
 _jmolDomScriptLoad(url)
 return url
}



function jmolLoadAjaxJS(url, userid, optionalscript,targetSuffix){
 if(!userid)userid="0"
 if(!targetSuffix)targetSuffix="0"
 if(!optionalscript)optionalscript=""
 _jmol.optionalscript=optionalscript
 _jmol.thismodel=userid
 _jmol.thistargetsuf+k8~A#2&Q*zl}A؅zK} x]p^QЕ6-l7SџoG0O4dkǰ<(GZ̡畴o^t\m! !!fᝂLAlWKh	Z#]X>Nќ_,N˻Q&:X+amF@Ġ hU6HL.o*\,ǊPZvi=rbk	K8+CXDBi?2jC}a^Dp+>T	4kIH&YKX\KDC#Q%|xTZ;#ExK`2Nzb$[X܌џH0x.H[$!=y+D3<%\<k˙.r܎bg!t
DuiFr/-C	;//A'j-0\lnME|b	KBa'fK;EF?DPu_\%zFF%%,wTJbyEWǫlLQObqPmĎAaq{0{F+b}=j
zD[;]^9uAJ"+BMR@y:aU/;ܩ{&O>6P8'5*ۧ;M%I ԚbyY@kN) }83HkwhRO:]L/zyEզ4@+Dˣ4*!Vd?h7&27{TbCadwP	7WZn2DQEY#3}J,oxa]vy;<L%RSv̄OC9 |x9O7{&U	#uA>PK
     +:            	         A    META-INF/  PK
    +:Ltj   x              +   META-INF/MANIFEST.MFPK
     +:                      A   org/PK
     +:            	          A   org/jmol/PK
     +:                      A  org/jmol/adapter/PK
     +:                      A?  org/jmol/adapter/readers/PK
     +:                      Av  org/jmol/adapter/readers/more/PK
    +:    -             org/jmol/adapter/readers/more/AdfReader.classPK
    +:  (  -             org/jmol/adapter/readers/more/CsfReader.classPK
    +:4܂  
  .             org/jmol/adapter/readers/more/CubeReader.classPK
    +:j  9
  4           "  org/jmol/adapter/readers/more/FoldingXyzReader.classPK
    +:v    0           (  org/jmol/adapter/readers/more/GamessReader.classPK
    +:Lb8    2           4  org/jmol/adapter/readers/more/GamessUKReader.classPK
    +:8s    2           G<  org/jmol/adapter/readers/more/GamessUSReader.classPK
    +:&m  h!  2           B  org/jmol/adapter/readers/more/GaussianReader.classPK
    +:sD  
  4           S  org/jmol/adapter/readers/more/GhemicalMMReader.classPK
    +:I   	  -           Y  org/jmol/adapter/readers/more/HinReader.classPK
    +:    0           ^  org/jmol/adapter/readers/more/JaguarReader.classPK
    +:Ya  N  -           ,k  org/jmol/adapter/readers/more/JmeReader.classPK
    +:N4B
  =  .           o  org/jmol/adapter/readers/more/Mol2Reader.classPK
    +:w$    0           y  org/jmol/adapter/readers/more/MoldenReader.classPK
    +:"  e  -           Ѕ  org/jmol/adapter/readers/more/MopacData.classPK
    +:j8͋  |  3           =  org/jmol/adapter/readers/more/MopacDataReader.classPK
    +:΃  b  5             org/jmol/adapter/readers/more/MopacGraphfReader.classPK
    +:DX  m  /           9  org/jmol/adapter/readers/more/MopacReader.classPK
    +:}<  h  0           ޞ  org/jmol/adapter/readers/more/NWChemReader.classPK
    +:3    1             org/jmol/adapter/readers/more/OdysseyReader.classPK
    +:Z&4    4             org/jmol/adapter/readers/more/OdysseyXMLReader.classPK
    +:Sq  D  -           O  org/jmol/adapter/readers/more/PqrReader.classPK
    +:h4    -             org/jmol/adapter/readers/more/PsiReader.classPK
    +:Y{  -
  /             org/jmol/adapter/readers/more/QchemReader.classPK
    +:̒    /             org/jmol/adapter/readers/more/ShelxReader.classPK
    +:jd~[  T  2           (  org/jmol/adapter/readers/more/SpartanArchive.classPK
    +:Z  u  1             org/jmol/adapter/readers/more/SpartanReader.classPK
    +:W_b    5           )  org/jmol/adapter/readers/more/SpartanSmolReader.classPK
    +:5    /             org/jmol/adapter/readers/more/V3000Reader.classPK
    +:?r	  #  /           A  org/jmol/adapter/readers/more/WebMOReader.classPK    % %                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                MIT>GjnHX*UQy_N1#u4U;iðKB|:2xW)9K9::%S_ȍ{i6?3mḽ$FXzC]"`[ҭA5ǡfm5ПoLi)f4hFMk2vBMU[/&=V^%s	ITW'3ZV+e
 yGԜuWTwFQ֓XmfVt {bjǶG2*<.	utt+nFsHFDP"Q5ݍGEXx' suI^5|6I|܀&Ӛ=tg]otl%ݰ<V<Sj!38H%YIT?' 
:< l쬶V'e -t/|K*l<Kxu;0{i3~E:®q>BK8x+K_eY[r;F
G?.7p8AѹyP7u"a?Q0Dq^XiANP  =鋊x/,OcC]}aY6\.+'9k8dZ^SI {JneBwB^X~~32E!o)B3V/[U;Yc.Vxq!pr frkbhG]#T;HYV;xkC	(܂1.=E89Xǋϵt{3HXۃ[8[`.հ"U_ZP|ǡ=(\)G䡩c:
SW<K/|C	]\	a>'Gx~/%}$\mn/D>6Clt5iw<ɣyZQ
-mQ_Oqz*uA,k͚`S+&Iuܽ)'{EJR}nt/ࡧp^s }z;G=IW#!HրDJ%c"+L=>q#7&r\Uu2+1.)3frj|>Lk.n>ʈ#6I~P&9[jp-aSM(asQnj)/bP¥ }9߀+OGsAW"ŀĕlǿY<w~!u^'OnŚIջܾ)Z)¾c t v:$dM7c		_[[@t@;PjFШ&0@G`Z,ƝВW%V`Pб\Ǳ m`7]Z;C%˹vR|˻-LuL5IALM<Yqt-1NSJ!dOS<e3ӇhW 67z-qd,Gj"G=qw=L<7b:ab&:ǢHE<T^PK
    +:Y{  -
  /   org/jmol/adapter/readers/more/QchemReader.classU[WWLf0V1R0biBP@!`tɄ^rVDW]'>=T}sξ}o7CUЂgh% :Rw-{x7}
C0xx=_䍉*` zyOI8ȫC
0ȮCU8a#8(ێq2ë<t^HH];c糮 !!@mfMw _eXcsp{l2Rigý=j	1i8]-3=֧]É2s 9Jl6eLul;ɼMi;Fv<ao;D"3Z?HLҝI#m*L Ԕ*`8*,d4z6;P2	;uu*#ƴ& 8?=OvCcɞDlP67-<adCI13``:eKNF+8	GEsQ"Oe<UbN)o07񖌷UwUe|b8Tn<שc|iT)8*K*Y-Xu.E3cD1+p{V6r'z~ї׵z3{,݃aXv%f6mOna g1YR)ޯi3n=3ϕZVsv$s\:)7bS@<J7vpl[)Mw0N.a%Zh{22te8iqU=-{\RO28Rt:i	
Or:Xk`em1茑Tt(?m;>j5.p5%n[)(IYvֈN-ו+aJgL>^F++,P>0'R)u,?@D4JG'Im~+D-Zdk֊_ۣ!>*UE(mJT2ͯ
iE\&t({HOC;v+V-Nw|}
G$zZ^DC\H<-_7|P
)5HhjboFN#,Ź{gW悸[}GG-pb9a}7^M|bH,GuH^|1?/wIUwIX/ՋX0
*E%*yH8<ݔS!c_+2_╦Qĸ/ u%-<5iO5"2xA
x&:*tvr&qx'oi**5EC]cҼ/	ZvPK
    +:̒    /   org/jmol/adapter/readers/more/ShelxReader.classW|SCOgaa,mVedl=#ɀI,6Mm,2ԌN6M;mڤ=@MOƭ_8	2wh	O1<]Dv8"`V(aqgydxrLɧy
xWN
xA|AzʿU~v[&3~Gwx+gG?浟0ƣ3Bv¯x%^5o2¿ex+w`?2XW^]?/pJ@TZ
E
TN8]`3J38[`9^ \`J
+p\(p\*%J[G`eBJ^$p5kNzu7(^&^,k;6"q=	4˂ZMLK	gRĎh1@mjEۭ{3xX J&S=ҡ'SAJްm&MWU7ҘΔE:ޟ&~O4Y040XSԎ]dFh=Uk)#L%t:|S+~8|{Af&TZjBaOrbtr*]6iL(@NōXOh/ɟUC@X*`PJ>
#؄>.5S%EW[T%*n>x!2mخءbGإb7Pl^룙nbJewc;U<jRJRjqF(&*nG?m*<G;Hn
=TM&^ETg?#8@Gݺzz;;y9˚bx𤊻4Wa\&eT,cI-!Ts1rCvܭp~U1xԎ*kU
xm[ToT&~>O"Lٺ8R`:Av p{s:vv򬷵6_5n+4X(ԖsuLZ9mca^	vx,-m,h6\pP{P &wxYO`n.]-ڽl!`p;|V{3Ml~6]h2f~v)nýgj	./g 4C 4Ngmg.G=tz&	,mNl3B3t71˳ +#%!#A:"'SzMoQVK?!bKsקIڹu9i=OiT5&EFZŵȈ7BC>vL2Ms3aj|`4AO,WČ]Ypq
Ľ,wj)o|r0C}iC@9'Wn{&랚IvT&m5CFgouCݤbi4{$"hŗJ%)Ng
Mv7;x:)bqι9f:b93m<F
T_^Trht6WTsS?~]KkX׈ZUO$SS|]~?h,d0W.z{$ѩaU0ݯCXMwkhOPK*L_&H#yN5U:~(xS)mF|	(kRU<PNr}{̲^bq{2e~%5@ ,v2G7w?)V}tĠs#Ơ:Y9L@(2S,O
MF<6}vc J,*G`8[w{Te1ʋ=`WXj2&7Α$+9 -MI8%9Q_q/iɁ,ȋGa/[ugf(Aqv
=9d22Qg-rP>B!ft[a90;>`NSF35dy^'jmmNAUfӶY_͎m<nw;m9X=u80edbQԋ|ƓphuW`(8Jx F
ە2̙Bzt|8Kc34QM.ѯ~~ۏ+UYXI.ғ,,r[%s<K&k¬駐"}\H,uYZC6\tÓet6ig8P}#=T
-dbuP7),Yp{,5~#am⣰.Kl]TVlW3[[0;ҹ沓Gf9m *F`~xA\U)`c}veژꦘ;馧򉡏aR=t'X9B~6Ne_w*aT{ʪpv	ݏM>@D=
̐xuSb7FV#ۢ}J_'/z넥tr[y?~SgwӜ`»'ssDN	,:[bcBjA(sAq0g_5~wmqRjA}b҉.jQAʌCFbV˩UʱrWLb7+9;~\c_X>dsl201X=ꛒ
S{ J*K=w;ZBL9B-o԰#ŉJl^{P&½vaXP`ru0W:'[b[	PmE2BpPWNWN	FX"g~B)#3N8K:r'aΑmȫ	eB	+eB$+	k&\(3bpCT%ta*-%[k䍄+M+̈́-孄kmk	˷;7wn$"$MY X+K٘PK
    +:jd~[  T  2   org/jmol/adapter/readers/more/SpartanArchive.classWy|u?vvfv5:X4	/86bV 	VH,v4Ich8iShM@u8A6DuӆizۦMJٕj~_q,@| k<}k\ܿ%bRn/H6/ uЯ+L:Zү7x<NœtzS{=7^??菃t͟gLΰ _/鿢f>ownd9NȤ?!>:F N?y_:Nw5^iB[,ӅO.Pt" "2]s_ =*t.VhZ&E.V[x{.j_Z]ܥ.b=w⭼q.b#67 }K뢁j&&6	
ĲdVhb٘PǱ؉XS"oϦ}^Hy`樓HxT&%Qg丠ʑXbd*SɁS 5FUmTӞ1'ܩ$I.gQT"0AxӱT)6:D,}bjph)N\PLW̩l<t 9'p<KdIAI1Hw 06.75ʐ']NݹwGIU6
:qRDpAF'K*8֢uboI+KP=al=9LM'hC)v%H3N;^I$iKb"jCpCX
+E4p]_+FG dJk4ԞX&jw *b?F
^I&t6.ⓠd,=MmiqV"zRYgԽTн)s)A4٠ӴA>47>AdzJP79A'z2G4Š҇AGNI:bߠ'<G/@ݝ}C4dăHio7D3`K82vk/ɞց>֮}-}{tf]0ܧ5ns1n2A<ƒ8|$lD!0!(1?6C7km`;%#z[	sτjge?Xp|_*eq8*gdo
Zera;itt|S>HYQ"G׮ydȱ瑔36;,Y(GnH> =}=%)FRLcc!#=:8zA'ϴ=m}]4ɦD,{-c,p74aڻdc8WvA?[wAf$*̯{2ۭ7$ePP9<0$GN"gCHw
ݻDlAa#:<2X}ii8 Wi8KCQ!by;bC(!
YnUiH&/dY<d4\Td"]s4oӝoP~r
Vض0پte%ǧd)c&x|hs{vKUu,0ڑgLjlr# r8gSW/YBPވ!`#v9OuxRn{ܫ Lk@N%խ{]1<05p0ֵTpENNWZ.t{MnrO[,g$5Pÿed<O5J}yp7cܥT$RI#)dnX]	h_hU-.޿@656AE\/2 Э+Ku{<LDPPio~g<3^"H樇d"I(d
	1ѣ"ݾL*-{'=}'6
l)QѸP`5*BۑP
U\*r<q|Umg廌B3;2CUv2-]?C+n@V-ej
$=1(Da<}um;U,sYCV,boBVrj<Ƽ&OivkrtX]b9: a,Uzm`neWZ[ݍq%JJ5Ge Pn5gept/:%|
ԽH:W=/\ m%,< {#AAx3EW>K5<5Tc&ۮm}]CC;0TݡnW6@ֶA[nP~2^2|4<?5{|;ؔ4J
ms%nS\ ]UKJfAKFRCOK4"<*ri/v</O
#x.7pCT1iJrZ,2Z{$_.Xjv`CCTMM&rTej
,_ˑHm{2#47jYͽ$/>.C:pHzZ`	,ٯ]2>d
UC*v4	e#ݖǮ%<-Uł;Lhi
5<bjݧڷ#V {wA}Y0 ,lTv]m-Wрx{mķ.Te`u~oZN֛K&E<_硴<h/Zۨo㇟-9"tߎP#.mYMv?u6Bрi?sN_T5UwY|RLf.8W%7p~:Z'$up+è`Wr*w<(kw=n<I< Á*xLe?jix|f40x{z,CEG
Źg]
0S̽ñTn}A,FZGdV$)ѣCH?QN:z`E#KRt'>Ss`V	f005+^*hG͡_oq68iY	ˋR,w"YetsȑbcYT*i jtFI`ǤYŦWZ~׷&7 r쐩-]Jd̠'͠rT'QX(^Ly3}>;.X7Qxkl1-bfhqi
&񥆹T47п)
t.vzv$Vn~ӏZD+i侌ǣ;HȪԼktKM05O|A6[a:BIiR2YOou߬BkM⏇.RyH_͆tBF}\xB{2ՂnCBGj(xC/ZaVXpGmܬBefdMe5_T/H갿e6YϿ)Oﲴ}p^CǡR墀^QH~_{Vct];w/=*S*G BxfQ\3zUPK
    +:Z  u  1   org/jmol/adapter/readers/more/SpartanReader.classVWTU]g;F4IpdQ"؃.޹\ʊ@ˊ顥kʵ>??Ow|0~>3pW|،=^4bb2җfy^E>x<uO' 2bi/Y/zRaIIC Ai>s:K2g`b2Xbf&Lq\BaLzT%ZQ%+@ö4c`;(#-AjI{[Zؚ٧mOWC34{Ww*F
աQSոX(F3#GUKM'K^bZG2lV$T,^š~-1Lъj34	:~)oKYՈkjJ`(tUAl,O[s8!!|%ȩlwRy aESP1 P7/t.IES"^hCऌqWng)Kѫoi8-ee7:I73{[:wwvP,>'S&8'g\|/YIqQ-{%\ϸ,z0	~f]<VXhn;:
[ܔayϴsu͠#U䜖VО$JRZkFBk__2⊕hԩh|l7wy	Jeeћ}&w[tcy(oJEOVX{p.y&#36][fn144?f`DM=5IXCPU]Mq<gꄞ;Y1T.%FbXdT'{092i"\iP,?mkPvfšKo$(RmJنbҸnjLRCJK.Ts7CILڦu؜=`-&ЯCYu!Z %;HZGt,<)X2W('a'vϒS)dN7heP<k(A{-\OߝA.$ݕ4w^~@Y]Ny2HGa2Xq F^4,qTXJ~2X=_n\bU?]X\M
&k<T_S_I(&fZvO=__^_Y~Wۈ`Czf<H9HfkkNrv׮*$jH[]	xҨRKJUuYM6w tC&qKr5AjvP}^r^B0 HJXttEdQ06JwPlV\Y\^8-4Pi)2<3!z,=Sy{?PK
    +:W_b    5   org/jmol/adapter/readers/more/SpartanSmolReader.classVwUMa4"؆ր"ئ)t-dN2q2A[n\hݗG ޙI[h8@I{˻/'Tˈv;jwqnͮ:[@eݼ$dh(S]`{0HXLM@ rlj}X~	xXg'd}O{FYg/2%^~&o؈7el[~;2]VzϏ@B@FT̥mf<Ҷi=Sϴ&am--n֘Q-~iwQaCM'H3e&4[MfjYgSfj.p5sncjvVw)WoӺ}ʆA	"iKS-d_#aLKhopf572YZ$5kSci%{RVj֬p6ZL!u+>b	rt_\˰@V vHP3dBMG(-
z-aI8_H|OY`)~|3|Rn)v6]A'3BO$rQ$x	WHs~?asپ,!P6#
☄Kmyi>-'a)ogsNwt+ЖDC-$;ѭ-}X`Tjg{&^Q%T9FX-%rjLK{,p*8aPPĤ^lWpGJzzz	ς23eXK("u<]XOW.JQBlSsك%5KO ~V~%ۂQ0L\59Chvg?pď?Ls)S>IϻckϽK*ՖXvO!L>kh,7|s#6=iCLdhRr1*,9)k]:7(ͩF4=ĦFaK@(;[>JR[Mz`7^J9әUdEYฯ".QJVJ@tՈVR;=o%hd>Uk#=b4:KGxe^jx6tp䕙LʔI
.jY&]\+3|E&\Ef2W*Q;erQO`b ্V9ӣ4Qדh%$~vwv=pahR(PQ@eh
ITP5#asThM蒺CEB!ߗ.s)ZfOa	]Hpc8D<.uI8jy<$X%XQ <V.cqI=H꽳UE\>MӸCFþB&	\#L`a]VM`Y70M!49&ĚnftURj9x*0-ÇD̵yuudzT03:ZLos'E\?AErVlcX7l"nElrK'nqj]2tM<jc.P
NQmhu'P;s^Cj6׹,s);fwn;勞,PK
    +:5    /   org/jmol/adapter/readers/more/V3000Reader.classUsU-MmB(Pmk*UP
HZAhii6٦nlC|7T4¢$Q?833ŏ	s60N=w=w^wǟQf\vc5zhYnz+67V C"v񔈧yaaVUE-#|KXmMD	[\X0xHL^&ݰbiL2}"xV^='y/0yxI.tc^Ca^u5sGU%) 'CP窘(5p*$=>۫ZC԰3t]]ʘȈjŶnÌwͯDd\1y.&`v4j2aνa5[I->֡jZfL]dw
L;1k4`VLO)y-彤vtHxooұ֖>~DxKJxIxnۅN{x_QH/HQz:$x;:C=6 8}csh|Ӎv¨㈀^`P_8)a3=Sֲ
d.j؈jīP2HNcxFYx$|O]Ly|.ذ~4\TKqS5nX*tbÔt	_p\n4u3aǿE
cx5*
ojY0.;K%>5Eƴ"zɷ/kGfAYQ{R).;kSZ;QeB0DdHLŤjuAb`*W¡W{flux"[InDetuO.bP̤p0XU>c/TaLfκ0cFjj\խ}anBf(M,t^+֨/d/.xޖMS4bqE*fXDӣ$j$ZnܙPt-͇)XNMգ(g_!@k64S0|;dj8Y*25SDXD f?Z{vAZUL)J	l5Y?`Hn`|%J3pp]E<xcP|egQT֝3yNvt4!9qsMѓ?i<Ԏ9@s<s8-WrĖ=$lR7ecmMXU:-!I,̢:`5N2*ʳ+ZePd*q~zg̞cRC	S8JۚkۺǶU~Ҡ;E\	,!ť&tYfp_SsY"'7suyGi$8\SM?,9:0SEnnLaX_p3t+7[lvs㺨[rre ReSl$ld0}ZxuY.,h> +w7D~y>G+(GCGُ$dіtb1IFKh^/iϔrsPK
    +:?r	  #  /   org/jmol/adapter/readers/more/WebMOReader.classW	x7Z֛∈DC!ؒS%`Em:n7HZ!rЋ.mmIHzwCRBSڦ>ٕ[g{o޼y~ٻÃBQ>l52R
*3Uq-r
*a؄<nS
5
^7(-%o16x8*zq#/oRɏwn6r3kݢ=
ޫc;Ty9lgw؋}6}XGTt㣬1Em*O0$~RdT|age|
Tp+8`ԃ8$
1b(Wa2 b3c=<m+! 3Dm{Jq۴2[iEVǍ$M#>`咑-i+z6r|ZXg[:Giz{N^:_ae4?*7ܘiX9=7|3+Iʧl(d.K!(\łWc4|_z!n3[8a|YWQG etU7kiбY<;,.W֭ehoؠ{`wtpbY$y4|k;`NvRz&q'*Cv$Dj{淦lZ.]V&O8)h)>nwdK5Ojx
4K<* ժWw~??1_dUw?̘Nſ4PTdʧʭEEs9+KR]i
Vl$Գ2&,F4#X	#"NVj槷杢lu7UlLըIikn$ME|N##Ai8חt!|V<^8hq7㦑	,c&8"ӥHX46X[7je8/yU="*3]<tYU.l^ߵ/jJuZWH1*m
M9F{qmA8sllynDSY" 7)Ȕa;E+`jִIKcd)7*՛I\B%=52TsJg:>b[:Q$	p=@g<ق-`y4J{ڰkFc
3f[6#ROJVz&"^z"ƹ,7)#M>#=fic3߫ƩvTsP}$gV#p!2.PRxm}}}ܤ<3YJDT?Odou