(function(P,Q,R,G,S,E,n,H,I,K,T,U,L,V,W,M,F,X,Y,N,Z,$,O,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,Fa,Ga,h,q){E("J.api");O(J.api,"JmolPropertyManager");E("JV");H(["J.api.JmolPropertyManager","java.util.Hashtable"],"JV.PropertyManager","java.lang.Boolean $.Double $.Float java.util.Arrays $.Date $.Map JU.AU $.BArray $.BS $.Base64 $.Lst $.M3 $.M4 $.P3 $.PT $.Quat $.SB $.V3 J.api.Interface JM.BondSet $.LabelToken JS.SV $.T JU.BSUtil $.C $.Edge $.Elements $.Escape $.JmolMolecule $.Logger JV.ActionManager $.JC $.Viewer JV.binding.Binding".split(" "),
function(){c$=K(function(){this.map=this.vwr=null;I(this,arguments)},JV,"PropertyManager",null,J.api.JmolPropertyManager);N(c$,function(){this.map=new java.util.Hashtable});L(c$,function(){});q(c$,"setViewer",function(a){this.vwr=a;for(var c=a=0;a<JV.PropertyManager.propertyTypes.length;a+=3)this.map.put(JV.PropertyManager.propertyTypes[a].toLowerCase(),Integer.$valueOf(c++))},"JV.Viewer");q(c$,"getPropertyNumber",function(a){a=this.map.get(null==a?"":a.toLowerCase());return null==a?-1:a.intValue()},
"~S");q(c$,"getDefaultPropertyParam",function(a){return 0>a?"":JV.PropertyManager.propertyTypes[3*a+2]},"~N");q(c$,"checkPropertyParameter",function(a){a=this.getPropertyNumber(a);a=JV.PropertyManager.getParamType(a);return 0<a.length&&"<atom selection>"!==a},"~S");q(c$,"getProperty",function(a,c,f){132!=JV.PropertyManager.propertyTypes.length&&JU.Logger.warn("propertyTypes is not the right length: "+JV.PropertyManager.propertyTypes.length+" != 132");if(0<=c.indexOf(".")||0<=c.indexOf("[")){var b=
this.getArguments(c);f=this.extractProperty(this.getPropertyAsObject(b[0].asString(),f,null),b,1,null,!1)}else f=this.getPropertyAsObject(c,f,a);if(null==a)return f;(b=a.equalsIgnoreCase("readable"))&&(a=JV.PropertyManager.isReadableAsString(c)?"String":"JSON");return a.equalsIgnoreCase("String")?null==f?"":f.toString():b?JU.Escape.toReadable(c,f):a.equalsIgnoreCase("JSON")?"{"+JU.PT.toJSON(c,f)+"}":f},"~S,~S,~O");h(c$,"getArguments",function(a){for(var c=a.toLowerCase(),f=-1;0<=(f=c.indexOf("[select ",
++f));){var b=c.indexOf(" where ",f),d=c.indexOf("]",f);0>b||b>d||(a=a.substring(0,b)+a.substring(b,d).$replace(".","\u0001")+a.substring(d))}a=a.$replace("]","\x00").$replace("[","\x00").$replace(".","\x00").$replace("\u0001",".");a=JU.PT.rep(a,"\x00\x00","\x00");a=JU.PT.split(JU.PT.trim(a,"\x00"),"\x00");for(var c=Array(a.length),f=0,e;f<a.length;f++)c[f]=a[f].startsWith("'")||a[f].startsWith('"')?JS.SV.newS(JU.PT.trim(a[f],"'\"")):-2147483648==(e=JU.PT.parseInt(a[f]))?JS.SV.newS(a[f]):JS.SV.newI(e);
return c},"~S");q(c$,"extractProperty",function(a,c,f,b,d){0>f&&(c=this.getArguments(c),f=0);if(f>=c.length)return a;d||(c=this.compileSelect(c));var e,g=c[f++];d=this.getObj(a);switch(g.tok){case 2:e=g.intValue-1;if(n(d,JU.Lst))return 0>e&&(e+=d.size()),0<=e&&e<d.size()?this.extractProperty(d.get(e),c,f,null,!0):"";if(n(d,JU.M3))return b=d,b=[[b.m00,b.m01,b.m02],[b.m10,b.m11,b.m12],[b.m20,b.m21,b.m22]],0>e&&(e+=3),0<=e&&3>e?this.extractProperty(b,c,--f,null,!0):"";if(n(d,JU.M4))return b=d,b=[[b.m00,
b.m01,b.m02,b.m03],[b.m10,b.m11,b.m12,b.m13],[b.m20,b.m21,b.m22,b.m23],[b.m30,b.m31,b.m32,b.m33]],0>e&&(e+=4),0<=e&&4>e?this.extractProperty(b,c,--f,null,!0):"";if(JU.PT.isAI(d))return 0>e&&(e+=d.length),0<=e&&e<d.length?Integer.$valueOf(d[e]):"";if(JU.PT.isAD(d))return 0>e&&(e+=d.length),0<=e&&e<d.length?Double.$valueOf(d[e]):"";if(JU.PT.isAF(d))return 0>e&&(e+=d.length),0<=e&&e<d.length?Float.$valueOf(d[e]):"";if(JU.PT.isAII(d)||JU.PT.isAFF(d))return 0>e&&(e+=d.length),0<=e&&e<d.length?this.extractProperty(d[e],
c,f,null,!0):"";if(JU.PT.isAS(d)||n(d,Array))return 0>e&&(e+=d.length),0<=e&&e<d.length?d[e]:"";break;case 135280132:case 4:if(n(d,java.util.Map)){if(135280132==g.tok){if(a=g.myName,!this.vwr.checkSelect(d,g.value))return""}else if(a=g.asString(),a.equalsIgnoreCase("keys")){b=new JU.Lst;for(d=d.keySet().iterator();d.hasNext()&&((e=d.next())||1);)b.addLast(e);return this.extractProperty(b,c,f,null,!0)}(e=a.startsWith("*")||a.endsWith("*")||0<=a.indexOf(","))&&null==b&&(b=new JU.Lst);if(e&&1==a.length)return f==
c.length?(b.addLast(d),b):this.extractProperty(d,c,f,b,!0);if(a.contains(",")){e=null;e=new java.util.Hashtable;a=JU.PT.split(a,",");for(g=a.length;0<=--g;)JU.PT.getMapSubset(d,a[g],e);return f==c.length?(b.addLast(e),b):this.extractProperty(e,c,f,b,!0)}a=this.checkMap(d,a,e,b,c,f);return null!=a&&!e?this.extractProperty(d.get(a),c,f,null,!0):e?b:""}if(n(d,JU.Lst)){null==b&&(b=new JU.Lst);f--;for(e=0;e<d.size();e++)a=d.get(e),(n(a,java.util.Map)||n(a,JU.Lst)||n(a,JS.SV)&&(null!=a.getMap()||null!=
a.getList()))&&this.extractProperty(a,c,f,b,!0);return b}}return a},"~O,~O,~N,JU.Lst,~B");h(c$,"compileSelect",function(a){for(var c=null,f=a.length;0<=--f;)if(4==a[f].tok){var b=a[f].value;if(b.toUpperCase().startsWith("SELECT ")){null==c&&(c=JU.AU.arrayCopyObject(a,a.length));b=b.substring(6).trim();b.toUpperCase().startsWith("WHERE ")&&(b="* "+b);var d=b.toUpperCase().indexOf(" WHERE ");0>d?c[f].value=b:(c[f]=JS.SV.newV(135280132,this.vwr.compileExpr(b.substring(d+6).trim())),c[f].myName=b.substring(0,
d).trim())}}return null==c?a:c},"~A");h(c$,"checkMap",function(a,c,f,b,d,e){var g=null==b&&a.containsKey(c);if(!g)for(var j=f?c.toLowerCase():null,p,k=a.keySet().iterator();k.hasNext()&&((p=k.next())||1);)if(p.equalsIgnoreCase(c)||null!=j&&JU.PT.isLike(p.toLowerCase(),j)){if(null==b)return p;b.addLast(this.extractProperty(a.get(p),d,e,null,!0));if(!f)return null}return g?c:null},"java.util.Map,~S,~B,JU.Lst,~O,~N");h(c$,"getObj",function(a){return n(a,JS.SV)?JS.SV.oValue(a):a},"~O");c$.getPropertyName=
h(c$,"getPropertyName",function(a){return 0>a?"":JV.PropertyManager.propertyTypes[3*a]},"~N");c$.getParamType=h(c$,"getParamType",function(a){return 0>a?"":JV.PropertyManager.propertyTypes[3*a+1]},"~N");c$.isReadableAsString=h(c$,"isReadableAsString",function(a){for(var c=JV.PropertyManager.readableTypes.length;0<=--c;)if(a.equalsIgnoreCase(JV.PropertyManager.readableTypes[c]))return!0;return!1},"~S");h(c$,"getPropertyAsObject",function(a,c,f){if(a.equals("tokenList"))return JS.T.getTokensLike(c);
var b=this.getPropertyNumber(a),d=null!=c&&0<c.toString().length;c=d?c:this.getDefaultPropertyParam(b);switch(b){case 0:return this.getAppletInfo();case 5:return this.getAnimationInfo();case 13:return this.vwr.getAtomBitSetVector(c);case 14:return this.getAllAtomInfo(this.vwr.getAtomBitSet(c));case 24:return this.getAuxiliaryInfo(c);case 15:return this.getAllBondInfo(c);case 25:return this.getBoundBoxInfo();case 10:return this.vwr.tm.fixedRotationCenter;case 16:return this.getAllChainInfo(this.vwr.getAtomBitSet(c));
case 37:return this.vwr.getProperty("DATA_API","consoleText",null);case 26:return this.vwr.getData(c.toString());case 33:return this.vwr.getErrorMessageUn();case 28:return this.vwr.evaluateExpression(c.toString());case 20:return this.vwr.getModelExtract(c,!0,!1,"MOL");case 32:return JV.PropertyManager.getFileInfo(this.vwr.getFileData(),c.toString());case 1:return this.vwr.fm.getFullPathName(!1);case 2:return this.vwr.getFileHeader();case 4:case 3:return d?this.vwr.getFileAsString3(c.toString(),!0,
null):this.vwr.getCurrentFileAsString("prop");case 27:return a=c.toString().toLowerCase(),this.getImage(a,0>a.indexOf("g64")&&0>a.indexOf("base64")&&(null==f||f.equalsIgnoreCase("java")));case 35:return this.vwr.getShapeProperty(24,"getInfo");case 36:return this.vwr.getShapeProperty(24,"getData");case 40:return this.vwr.getNMRCalculation().getInfo(c.toString());case 41:return this.getVariables(c.toString());case 21:return this.vwr.getStatusChanged(c.toString());case 22:return this.vwr;case 38:return this.vwr.getJspecViewProperties(c);
case 7:return this.getLigandInfo(this.vwr.getAtomBitSet(c));case 9:return this.getMeasurementInfo();case 29:return this.vwr.getMenu(c.toString());case 23:return this.vwr.sm.messageQueue;case 30:return this.vwr.getMinimizationInfo();case 6:return this.getModelInfo(this.vwr.getAtomBitSet(c));case 18:return this.getMoleculeInfo(this.vwr.getAtomBitSet(c));case 34:return this.getMouseInfo();case 11:return this.vwr.tm.getOrientationInfo();case 31:return this.vwr.ms.getPointGroupInfo(this.vwr.getAtomBitSet(c));
case 17:return this.getAllPolymerInfo(this.vwr.getAtomBitSet(c));case 39:return this.vwr.getScriptQueueInfo();case 8:return this.getShapeInfo();case 19:return this.vwr.getStateInfo3(c.toString(),0,0);case 12:return JU.M3.newM3(this.vwr.tm.matrixRotate);case 42:return this.getAnnotationInfo(c,1073741925);case 43:return this.getAnnotationInfo(c,1073742189)}f=Array(44);for(b=0;44>b;b++){d=JV.PropertyManager.getParamType(b);c=this.getDefaultPropertyParam(b);var e=JV.PropertyManager.getPropertyName(b);
f[b]="X"==e.charAt(0)?"":e+(""!==d?" "+JV.PropertyManager.getParamType(b)+(""!==c?" #default: "+this.getDefaultPropertyParam(b):""):"")}java.util.Arrays.sort(f);d=new JU.SB;d.append("getProperty ERROR\n").append(a).append("?\nOptions include:\n");for(b=0;44>b;b++)0<f[b].length&&d.append("\n getProperty ").append(f[b]);return d.toString()},"~S,~O,~S");h(c$,"getImage",function(a,c){var f=-1,b=-1,d;if(0<=(d=a.indexOf("height=")))f=JU.PT.parseInt(a.substring(d+7));if(0<=(d=a.indexOf("width=")))b=JU.PT.parseInt(a.substring(d+
6));0>b&&0>f?f=b=-1:0>b?b=f:f=b;var e="JPG";0<=a.indexOf("type=")&&(e=JU.PT.getTokens(JU.PT.replaceWithCharacter(a.substring(a.indexOf("type=")+5),";,"," "))[0]);d=Array(1);f=this.vwr.getImageAsBytes(e.toUpperCase(),b,f,-1,d);return null!=d[0]?d[0]:c?new JU.BArray(f):JU.Base64.getBase64(f).toString()},"~S,~B");h(c$,"getVariables",function(a){return a.toLowerCase().equals("all")?this.vwr.g.getAllVariables():this.vwr.evaluateExpressionAsVariable(a)},"~S");c$.getFileInfo=h(c$,"getFileInfo",function(a,
c){var f=new java.util.Hashtable;if(null==a)return f;var b=null!=c&&0<c.length;if(n(a,java.util.Map))return b?a.get(c):a;var d=JU.PT.split(a,"\n");if(0==d.length||6>d[0].length||" "!=d[0].charAt(6)||!d[0].substring(0,6).equals(d[0].substring(0,6).toUpperCase()))return f.put("fileHeader",a),f;var e="",g=new JU.SB;b&&(c=c.toUpperCase());for(var j="",p=0;p<d.length;p++){var k=d[p];if(!(12>k.length)){var j=k.substring(0,6).trim(),l=k.substring(7,10).trim();j.equals("REMARK")&&(j+=l);if(!j.equals(e)){if(b&&
e.equals(c))return g.toString();b||(f.put(e,g.toString()),g=new JU.SB);e=j}(!b||j.equals(c))&&g.append(k).appendC("\n")}}b||f.put(e,g.toString());return b?j.equals(c)?g.toString():"":f},"~O,~S");h(c$,"getMoleculeInfo",function(a){a=this.vwr.getAtomBitSet(a);for(var c=this.vwr.ms.getMolecules(),f=new JU.Lst,b=new JU.BS,d=0;d<c.length;d++){var b=JU.BSUtil.copy(a),e=c[d];b.and(e.atomList);0<b.length()&&(b=new java.util.Hashtable,b.put("mf",e.getMolecularFormula(!1,null,!1)),b.put("number",Integer.$valueOf(e.moleculeIndex+
1)),b.put("modelNumber",this.vwr.ms.getModelNumberDotted(e.modelIndex)),b.put("numberInModel",Integer.$valueOf(e.indexInModel+1)),b.put("nAtoms",Integer.$valueOf(e.ac)),b.put("nElements",Integer.$valueOf(e.nElements)),f.addLast(b))}return f},"~O");q(c$,"getModelInfo",function(a){a=this.vwr.ms.getModelBS(this.vwr.getAtomBitSet(a),!1);var c=this.vwr.ms,f=new java.util.Hashtable;f.put("modelSetName",c.modelSetName);f.put("modelCount",Integer.$valueOf(c.mc));f.put("isTainted",Boolean.$valueOf(null!=c.tainted));
f.put("canSkipLoad",Boolean.$valueOf(c.canSkipLoad));f.put("modelSetHasVibrationVectors",Boolean.$valueOf(c.modelSetHasVibrationVectors()));null!=c.modelSetProperties&&f.put("modelSetProperties",c.modelSetProperties);f.put("modelCountSelected",Integer.$valueOf(JU.BSUtil.cardinalityOf(a)));f.put("modelsSelected",a);var b=new JU.Lst;c.getMolecules();for(var d=a.nextSetBit(0);0<=d;d=a.nextSetBit(d+1)){var e=new java.util.Hashtable;e.put("_ipt",Integer.$valueOf(d));e.put("num",Integer.$valueOf(c.getModelNumber(d)));
e.put("file_model",c.getModelNumberDotted(d));e.put("name",c.getModelName(d));var g=c.getModelTitle(d);null!=g&&e.put("title",g);g=c.getModelFileName(d);null!=g&&e.put("file",g);g=c.getInfo(d,"modelID");null!=g&&e.put("id",g);e.put("vibrationVectors",Boolean.$valueOf(this.vwr.modelHasVibrationVectors(d)));g=c.am[d];e.put("atomCount",Integer.$valueOf(g.ac));e.put("bondCount",Integer.$valueOf(g.getBondCount()));e.put("groupCount",Integer.$valueOf(g.getGroupCount()));e.put("moleculeCount",Integer.$valueOf(g.moleculeCount));
e.put("polymerCount",Integer.$valueOf(g.getBioPolymerCount()));e.put("chainCount",Integer.$valueOf(c.getChainCountInModelWater(d,!0)));null!=g.properties&&e.put("modelProperties",g.properties);var j=c.getInfo(d,"Energy");null!=j&&e.put("energy",j);e.put("atomCount",Integer.$valueOf(g.ac));b.addLast(e)}f.put("models",b);return f},"~O");q(c$,"getLigandInfo",function(a){var c=this.vwr.getAtomBitSet(a),f=this.vwr.getAtomBitSet("solvent");a=new java.util.Hashtable;var b=new JU.Lst;a.put("ligands",b);var d=
this.vwr.ms,e=JU.BSUtil.copyInvert(c,d.ac);e.or(f);for(var f=d.at,g=c.nextSetBit(0);0<=g;g=c.nextSetBit(g+1))(f[g].isProtein()||f[g].isNucleic())&&e.set(g);c=Array(d.mc);for(g=d.mc;0<=--g;)c[g]=this.vwr.getModelUndeletedAtomsBitSet(g),c[g].andNot(e);e=JU.JmolMolecule.getMolecules(f,c,null,e);for(g=0;g<e.length;g++){var c=e[g].atomList,j=new java.util.Hashtable;b.addLast(j);j.put("atoms",JU.Escape.eBS(c));for(var p="",k="",l=null,A=0,m=null,h="",s="",r=2147483647,n=2147483647,q=c.nextSetBit(0);0<=
q;q=c.nextSetBit(q+1)){var u=f[q];if(l!==u.group){var l=u.group,t=u.getResno(),w=u.getChainID();r!=t-1&&(0!=h.length&&r!=n&&(h+="-"+r),w=-1,n=t);s="/"+d.getModelNumberDotted(u.mi);0!=A&&w!=A&&(h+=":"+m+s);-1==w&&(h+=" "+t);r=t;A=u.getChainID();m=u.getChainIDStr();p+=k+u.getGroup3(!1);k="-"}}h+=(n==r?"":"-"+r)+(0==A?"":":"+m)+s;j.put("groupNames",p);j.put("residueList",h.substring(1))}return a},"~O");q(c$,"getModelExtract",function(a,c,f,b){var d=b.equalsIgnoreCase("V3000"),e=b.equalsIgnoreCase("SDF"),
g=b.equalsIgnoreCase("XYZVIB"),j=b.equalsIgnoreCase("JSON")||b.equalsIgnoreCase("CD");b=new JU.SB;var p=this.vwr.ms;if(!g&&!j){b.append(f?"Jmol Model Kit":this.vwr.fm.getFullPathName(!1).$replace("\\","/"));f=JV.Viewer.getJmolVersion();b.append("\n__Jmol-").append(f.substring(0,2));var k,l,h,m;m=new Date;f=m.getMonth();k=m.getDate();l=m.getFullYear();h=m.getHours();m=m.getMinutes();JU.PT.rightJustify(b,"_00",""+(1+f));JU.PT.rightJustify(b,"00",""+k);b.append((""+l).substring(2,4));JU.PT.rightJustify(b,
"00",""+h);JU.PT.rightJustify(b,"00",""+m);b.append("3D 1   1.00000     0.00000     0");b.append("\nJmol version ").append(JV.Viewer.getJmolVersion()).append(" EXTRACT: ").append(JU.Escape.eBS(a)).append("\n")}f=JU.BSUtil.copy(a);l=p.at;for(k=a.nextSetBit(0);0<=k;k=a.nextSetBit(k+1))c&&l[k].isDeleted()&&f.clear(k);h=JV.PropertyManager.getCovalentBondsForAtoms(p.bo,p.bondCount,f);if(!g&&0==f.cardinality())return"";a=!0;c=c?JU.Quat.newM(this.vwr.tm.matrixRotate):null;if(e){l=b.toString();b=new JU.SB;
d=this.vwr.ms.getModelBS(f,!0);for(k=d.nextSetBit(0);0<=k;k=d.nextSetBit(k+1)){b.append(l);e=JU.BSUtil.copy(f);e.and(p.getModelAtomBitSetIncludingDeleted(k,!1));h=JV.PropertyManager.getCovalentBondsForAtoms(p.bo,p.bondCount,e);if(!(a=this.addMolFile(b,e,h,!1,!1,c)))break;b.append("$$$$\n")}}else if(g){g=JM.LabelToken.compile(this.vwr,"%-2e %10.5x %10.5y %10.5z %10.5vx %10.5vy %10.5vz\n","\x00",null);c=JM.LabelToken.compile(this.vwr,"%-2e %10.5x %10.5y %10.5z\n","\x00",null);d=this.vwr.ms.getModelBS(f,
!0);j=new JU.P3;for(k=d.nextSetBit(0);0<=k;k=d.nextSetBit(k+1))if(e=JU.BSUtil.copy(f),e.and(p.getModelAtomBitSetIncludingDeleted(k,!1)),0!=e.cardinality()){b.appendI(e.cardinality()).appendC("\n");h=p.am[k].properties;b.append("Model["+(k+1)+"]: ");if(null!=p.frameTitles[k]&&0<p.frameTitles[k].length)b.append(p.frameTitles[k].$replace("\n"," "));else if(null==h)b.append("Jmol "+JV.Viewer.getJmolVersion());else{m=new JU.SB;for(var n=h.propertyNames(),s=null;n.hasMoreElements();){var r=n.nextElement();
r.equals(".PATH")?s=h.getProperty(r):m.append(";").append(r).append("=").append(h.getProperty(r))}null!=s&&m.append(";PATH=").append(s);s=m.substring(0<m.length()?1:0);b.append(s.$replace("\n"," "))}b.appendC("\n");for(h=e.nextSetBit(0);0<=h;h=e.nextSetBit(h+1))b.append(JM.LabelToken.formatLabelAtomArray(this.vwr,l[h],null==p.getVibration(h,!1)?c:g,"\x00",null,j))}}else a=this.addMolFile(b,f,h,d,j,c);return a?b.toString():"ERROR: Too many atoms or bonds -- use V3000 format."},"JU.BS,~B,~B,~S");h(c$,
"addMolFile",function(a,c,f,b,d,e){var g=c.cardinality(),j=f.cardinality();if(!b&&!d&&(999<g||999<j))return!1;var p=this.vwr.ms,h=M(p.ac,0),l=new JU.P3;b?a.append("  0  0  0  0  0  0            999 V3000"):d?a.append('{"mol":{"createdBy":"Jmol '+JV.Viewer.getJmolVersion()+'","a":['):(JU.PT.rightJustify(a,"   ",""+g),JU.PT.rightJustify(a,"   ",""+j),a.append("  0  0  0  0              1 V2000"));d||a.append("\n");b&&a.append("M  V30 BEGIN CTAB\nM  V30 COUNTS ").appendI(g).append(" ").appendI(j).append(" 0 0 0\n").append("M  V30 BEGIN ATOM\n");
for(var n=new JU.P3,j=c.nextSetBit(0),m=0;0<=j;j=c.nextSetBit(j+1))this.getAtomRecordMOL(p,a,h[j]=++m,p.at[j],e,l,n,b,d);b?a.append("M  V30 END ATOM\nM  V30 BEGIN BOND\n"):d&&a.append('],"b":[');j=f.nextSetBit(0);for(m=0;0<=j;j=f.nextSetBit(j+1))this.getBondRecordMOL(a,++m,p.bo[j],h,b,d);b&&a.append("M  V30 END BOND\nM  V30 END CTAB\n");d?a.append("]}}"):a.append("M  END\n");if(!d&&!b&&(f=p.getPartialCharges(),null!=f)){a.append("> <JMOL_PARTIAL_CHARGES>\n").appendI(g).appendC("\n");j=c.nextSetBit(0);
for(m=0;0<=j;j=c.nextSetBit(j+1))a.appendI(++m).append(" ").appendF(f[j]).appendC("\n")}return!0},"JU.SB,JU.BS,JU.BS,~B,~B,JU.Quat");c$.getCovalentBondsForAtoms=h(c$,"getCovalentBondsForAtoms",function(a,c,f){for(var b=new JU.BS,d=0;d<c;d++){var e=a[d];f.get(e.atom1.i)&&(f.get(e.atom2.i)&&e.isCovalent())&&b.set(d)}return b},"~A,~N,JU.BS");h(c$,"getAtomRecordMOL",function(a,c,f,b,d,e,g,j,h){a.am[b.mi].isTrajectory?b.setFractionalCoordPt(g,a.trajectorySteps.get(b.mi)[b.i-a.am[b.mi].firstAtomIndex],
!0):e.setT(b);null!=d&&d.transform2(e,e);a=b.getElementNumber();d=b.isDeleted()?"Xx":JU.Elements.elementSymbolFromNumber(a);g=b.getIsotopeNumber();var k=b.getFormalCharge();j?(c.append("M  V30 ").appendI(f).append(" ").append(d).append(" ").appendF(e.x).append(" ").appendF(e.y).append(" ").appendF(e.z).append(" 0"),0!=k&&c.append(" CHG=").appendI(k),0!=g&&c.append(" MASS=").appendI(g),c.append("\n")):h?(1!=f&&c.append(","),c.append("{"),6!=b.getElementNumber()&&c.append('"l":"').append(b.getElementSymbol()).append('",'),
0!=k&&c.append('"c":').appendI(k).append(","),0!=g&&g!=JU.Elements.getNaturalIsotope(a)&&c.append('"m":').appendI(g).append(","),c.append('"x":').appendF(b.x).append(',"y":').appendF(b.y).append(',"z":').appendF(b.z).append("}")):(c.append(JU.PT.sprintf("%10.5p%10.5p%10.5p","p",[e])),c.append(" ").append(d),1==d.length&&c.append(" "),0<g&&(g-=JU.Elements.getNaturalIsotope(b.getElementNumber())),c.append(" "),JU.PT.rightJustify(c,"  ",""+g),JU.PT.rightJustify(c,"   ",""+(0==k?0:4-k)),c.append("  0  0  0  0\n"))},
"JM.ModelSet,JU.SB,~N,JM.Atom,JU.Quat,JU.P3,JU.P3,~B,~B");h(c$,"getBondRecordMOL",function(a,c,f,b,d,e){var g=b[f.atom1.i];b=b[f.atom2.i];var j=f.getValence();3<j&&(j=1);switch(f.order&-131073){case 515:j=e?-3:4;break;case 66:j=e?-3:5;break;case 513:j=e?1:6;break;case 514:j=e?2:7;break;case 33:j=e?-1:8}d?a.append("M  V30 ").appendI(c).append(" ").appendI(j).append(" ").appendI(g).append(" ").appendI(b).appendC("\n"):e?(1!=c&&a.append(","),a.append('{"b":').appendI(g-1).append(',"e":').appendI(b-1),
1!=j&&(a.append(',"o":'),0>j?a.appendF(-j/2):a.appendI(j)),a.append("}")):(JU.PT.rightJustify(a,"   ",""+g),JU.PT.rightJustify(a,"   ",""+b),a.append("  ").appendI(j).append("  0  0  0\n"))},"JU.SB,~N,JM.Bond,~A,~B,~B");q(c$,"getChimeInfo",function(a,c){switch(a){case 1073741982:break;case 1073741864:return this.getBasePairInfo(c);default:return this.getChimeInfoA(this.vwr.ms.at,a,c)}var f=new JU.SB;this.vwr.ms.am[0].getChimeInfo(f,0);return f.appendC("\n").toString().substring(1)},"~N,JU.BS");h(c$,
"getChimeInfoA",function(a,c,f){var b=new JU.SB;b.append("\n");var d="",e=null,g=null,j=-1,h=0;if(null!=f)for(var k=f.nextSetBit(0);0<=k;k=f.nextSetBit(k+1)){var l=a[k];switch(c){default:return"";case 1114638363:d=l.getInfo();break;case 1141899265:d=""+l.getAtomNumber();break;case 1087373318:d=l.getGroup3(!1);break;case 1087373316:case 1073742120:case 1087373320:case 1087373319:var n=l.getChainID(),d=0==n?" ":l.getChainIDStr();300<=n&&(d=JU.PT.esc(d));switch(c){case 1073742120:d="["+l.getGroup3(!1)+
"]"+l.getSeqcodeString()+":"+d;break;case 1087373320:case 1087373319:l.mi!=j&&(b.appendC("\n"),h=0,j=l.mi,b.append("Model "+l.getModelNumber()),e=g=null);l.getChain()!==e&&(b.appendC("\n"),h=0,e=l.getChain(),b.append("Chain "+d+":\n"),g=null);d=l.group;d!==g&&(g=d,1087373319==c?b.append(l.getGroup1("?")):(0==h++%5&&1<h&&b.appendC("\n"),JU.PT.leftJustify(b,"          ","["+l.getGroup3(!1)+"]"+l.getResno()+" ")));continue}}0>b.indexOf("\n"+d+"\n")&&b.append(d).appendC("\n")}1087373320==c&&b.appendC("\n");
return b.toString().substring(1)},"~A,~N,JU.BS");q(c$,"getModelFileInfo",function(a){for(var c=this.vwr.ms,f=new JU.SB,b=0;b<c.mc;++b)if(null==a||a.get(b)){var d='["'+c.getModelNumberDotted(b)+'"] = ';f.append("\n\nfile").append(d).append(JU.PT.esc(c.getModelFileName(b)));var e=c.getInfo(b,"modelID");null!=e&&f.append("\nid").append(d).append(JU.PT.esc(e));f.append("\ntitle").append(d).append(JU.PT.esc(c.getModelTitle(b)));f.append("\nname").append(d).append(JU.PT.esc(c.getModelName(b)));f.append("\ntype").append(d).append(JU.PT.esc(c.getModelFileType(b)))}return f.toString()},
"JU.BS");h(c$,"getAllAtomInfo",function(a){for(var c=new JU.Lst,f=new JU.P3,b=a.nextSetBit(0);0<=b;b=a.nextSetBit(b+1))c.addLast(this.getAtomInfoLong(b,f));return c},"JU.BS");h(c$,"getAtomInfoLong",function(a,c){var f=this.vwr.ms,b=f.at[a],d=new java.util.Hashtable;f.getAtomIdentityInfo(a,d,c);d.put("element",f.getElementName(a));d.put("elemno",Integer.$valueOf(f.at[a].getElementNumber()));d.put("x",Float.$valueOf(b.x));d.put("y",Float.$valueOf(b.y));d.put("z",Float.$valueOf(b.z));d.put("coord",JU.P3.newP(b));
null!=f.vibrations&&null!=f.vibrations[a]&&f.vibrations[a].getInfo(d);d.put("bondCount",Integer.$valueOf(b.getCovalentBondCount()));d.put("radius",Float.$valueOf(b.getRasMolRadius()/120));d.put("model",b.getModelNumberForLabel());var e=b.atomPropertyString(this.vwr,1087373323);null!=e&&d.put("shape",e);d.put("visible",Boolean.$valueOf(b.checkVisible()));d.put("clickabilityFlags",Integer.$valueOf(b.clickabilityFlags));d.put("visibilityFlags",Integer.$valueOf(b.shapeVisibilityFlags));d.put("spacefill",
Float.$valueOf(b.getRadius()));e=JU.Escape.escapeColor(this.vwr.gdata.getColorArgbOrGray(b.colixAtom));null!=e&&d.put("color",e);d.put("colix",Integer.$valueOf(b.colixAtom));(e=b.isTranslucent())&&d.put("translucent",Boolean.$valueOf(e));d.put("formalCharge",Integer.$valueOf(b.getFormalCharge()));d.put("partialCharge",Float.$valueOf(b.getPartialCharge()));e=b.getSurfaceDistance100()/100;0<=e&&d.put("surfaceDistance",Float.$valueOf(e));if(f.am[b.mi].isBioModel){d.put("resname",b.getGroup3(!1));var e=
b.getInsertionCode(),g=b.getResno();0<g&&d.put("resno",Integer.$valueOf(g));0!=e.charCodeAt(0)&&d.put("insertionCode",""+e);d.put("name",f.at[a].getAtomName());d.put("chain",b.getChainIDStr());d.put("atomID",Integer.$valueOf(b.atomID));d.put("groupID",Integer.$valueOf(b.getGroupID()));"\x00"!=b.altloc&&d.put("altLocation",""+b.altloc);d.put("structure",Integer.$valueOf(b.getProteinStructureType().getId()));d.put("polymerLength",Integer.$valueOf(b.getPolymerLength()));d.put("occupancy",Integer.$valueOf(b.getOccupancy100()));
f=b.getBfactor100();d.put("temp",Integer.$valueOf(G(f/100)))}return d},"~N,JU.P3");h(c$,"getAllBondInfo",function(a){var c=new JU.Lst,f=this.vwr.ms,b=f.bondCount,f=f.bo,d;n(a,String)&&(a=this.vwr.getAtomBitSet(a));var e=new JU.P3;if(n(a,Array)){d=a[0];var g=a[1];for(a=0;a<b;a++){var j=f[a].atom1.i,h=f[a].atom2.i;(d.get(j)&&g.get(h)||g.get(j)&&d.get(h))&&c.addLast(this.getBondInfo(a,e))}}else if(n(a,JM.BondSet)){d=a;for(a=d.nextSetBit(0);0<=a&&a<b;a=d.nextSetBit(a+1))c.addLast(this.getBondInfo(a,e))}else if(n(a,
JU.BS)){d=a;g=1==d.cardinality()?d.nextSetBit(0):-1;for(a=0;a<b;a++)(0<=g?f[a].atom1.i==g||f[a].atom2.i==g:d.get(f[a].atom1.i)&&d.get(f[a].atom2.i))&&c.addLast(this.getBondInfo(a,e))}return c},"~O");h(c$,"getBondInfo",function(a,c){var f=this.vwr.ms.bo[a],b=f.atom1,d=f.atom2,e=new java.util.Hashtable;e.put("_bpt",Integer.$valueOf(a));var g=new java.util.Hashtable;this.vwr.ms.getAtomIdentityInfo(b.i,g,c);var j=new java.util.Hashtable;this.vwr.ms.getAtomIdentityInfo(d.i,j,c);e.put("atom1",g);e.put("atom2",
j);e.put("order",Float.$valueOf(JU.PT.fVal(JU.Edge.getBondOrderNumberFromOrder(f.order))));e.put("type",JU.Edge.getBondOrderNameFromOrder(f.order));e.put("radius",Float.$valueOf(f.mad/2E3));e.put("length_Ang",Float.$valueOf(b.distance(d)));e.put("visible",Boolean.$valueOf(0!=f.shapeVisibilityFlags));b=JU.Escape.escapeColor(this.vwr.gdata.getColorArgbOrGray(f.colix));null!=b&&e.put("color",b);e.put("colix",Integer.$valueOf(f.colix));JU.C.isColixTranslucent(f.colix)&&e.put("translucent",Boolean.TRUE);
return e},"~N,JU.P3");h(c$,"getAllChainInfo",function(a){for(var c=new java.util.Hashtable,f=new JU.Lst,b=this.vwr.ms.mc,d=0;d<b;++d){var e=new java.util.Hashtable,g=this.getChainInfo(d,a);0<g.size()&&(e.put("modelIndex",Integer.$valueOf(d)),e.put("chains",g),f.addLast(e))}c.put("models",f);return c},"JU.BS");h(c$,"getChainInfo",function(a,c){for(var f=this.vwr.ms.am[a],b=f.getChainCount(!0),d=new JU.Lst,e=new JU.P3,g=0;g<b;g++){for(var j=f.getChainAt(g),h=new JU.Lst,k=j.groupCount,l=new java.util.Hashtable,
n=0;n<k;n++){var m=j.groups[n];c.get(m.firstAtomIndex)&&h.addLast(m.getGroupInfo(n,e))}h.isEmpty()||(l.put("residues",h),d.addLast(l))}return d},"~N,JU.BS");h(c$,"getAllPolymerInfo",function(a){for(var c=new java.util.Hashtable,f=new JU.Lst,b=this.vwr.ms.mc,d=this.vwr.ms.am,e=0;e<b;++e)d[e].isBioModel&&d[e].getAllPolymerInfo(a,c,f);c.put("models",f);return c},"JU.BS");h(c$,"getBasePairInfo",function(a){var c=new JU.SB,f=new JU.Lst;this.vwr.ms.calcRasmolHydrogenBonds(a,a,f,!0,1,!1,null);for(a=f.size();0<=
--a;){var b=f.get(a);JV.PropertyManager.getAtomResidueInfo(c,b.atom1);c.append(" - ");JV.PropertyManager.getAtomResidueInfo(c,b.atom2);c.append("\n")}return c.toString()},"JU.BS");c$.getAtomResidueInfo=h(c$,"getAtomResidueInfo",function(a,c){a.append("[").append(c.getGroup3(!1)).append("]").append(c.getSeqcodeString()).append(":");var f=c.getChainID();a.append(0==f?" ":c.getChainIDStr())},"JU.SB,JM.Atom");h(c$,"getAppletInfo",function(){var a=new java.util.Hashtable;a.put("htmlName",this.vwr.htmlName);
a.put("syncId",this.vwr.syncId);a.put("fullName",this.vwr.fullName);a.put("codeBase",""+JV.Viewer.appletCodeBase);this.vwr.isApplet&&(a.put("documentBase",JV.Viewer.appletDocumentBase),a.put("registry",this.vwr.sm.getRegistryInfo()));a.put("version",JV.JC.version);a.put("date",JV.JC.date);a.put("javaVendor",JV.Viewer.strJavaVendor);a.put("javaVersion",JV.Viewer.strJavaVersion+(!this.vwr.isJS?"":this.vwr.isWebGL?"(WebGL)":"(HTML5)"));a.put("operatingSystem",JV.Viewer.strOSName);return a});h(c$,"getAnimationInfo",
function(){var a=this.vwr.am,c=new java.util.Hashtable;c.put("firstModelIndex",Integer.$valueOf(a.firstFrameIndex));c.put("lastModelIndex",Integer.$valueOf(a.lastFrameIndex));c.put("animationDirection",Integer.$valueOf(a.animationDirection));c.put("currentDirection",Integer.$valueOf(a.currentDirection));c.put("displayModelIndex",Integer.$valueOf(a.cmi));null!=a.animationFrames&&(c.put("isMovie",Boolean.TRUE),c.put("frames",JU.Escape.eAI(a.animationFrames)),c.put("currentAnimationFrame",Integer.$valueOf(a.caf)));
c.put("displayModelNumber",this.vwr.getModelNumberDotted(a.cmi));c.put("displayModelName",0<=a.cmi?this.vwr.getModelName(a.cmi):"");c.put("animationFps",Integer.$valueOf(a.animationFps));c.put("animationReplayMode",JS.T.nameOf(a.animationReplayMode));c.put("firstFrameDelay",Float.$valueOf(a.firstFrameDelay));c.put("lastFrameDelay",Float.$valueOf(a.lastFrameDelay));c.put("animationOn",Boolean.$valueOf(a.animationOn));c.put("animationPaused",Boolean.$valueOf(a.animationPaused));return c});h(c$,"getBoundBoxInfo",
function(){var a=this.vwr.ms.getBoxInfo(null,1).getBoundBoxPoints(!0),c=new java.util.Hashtable;c.put("center",JU.P3.newP(a[0]));c.put("vector",JU.V3.newV(a[1]));c.put("corner0",JU.P3.newP(a[2]));c.put("corner1",JU.P3.newP(a[3]));return c});h(c$,"getShapeInfo",function(){var a=new java.util.Hashtable,c=new JU.SB,f=this.vwr.shm.shapes;if(null!=f)for(var b=0;37>b;++b){var d=f[b];if(null!=d){var e=JV.JC.shapeClassBases[b],d=d.getShapeDetail();null!=d&&a.put(e,d)}}0<c.length()&&a.put("shapeCommands",
c.toString());return a});h(c$,"getAuxiliaryInfo",function(a){return this.vwr.ms.getAuxiliaryInfo(this.vwr.ms.getModelBS(this.vwr.getAtomBitSet(a),!1))},"~O");h(c$,"getAnnotationInfo",function(a,c){var f=this.vwr.getAtomBitSet(a),f=this.vwr.ms.getModelBS(f,!1).nextSetBit(0);if(0>f)return null;var b=this.vwr.ms.getModelAuxiliaryInfo(f).get(1073741925==c?"domains":"validation");if(null==b||6!=b.tok)return null;this.vwr.getAnnotationParser().initializeAnnotation(b,c,f);return b.getMap().get("_list")},
"~O,~N");h(c$,"getMeasurementInfo",function(){return this.vwr.getShapeProperty(6,"info")});h(c$,"getMouseInfo",function(){if(!this.vwr.haveDisplay)return null;for(var a=new java.util.Hashtable,c=new JU.Lst,f=this.vwr.acm,b,d=f.b.getBindings().values().iterator();d.hasNext()&&((b=d.next())||1);)n(b,Boolean)||(JU.PT.isAI(b)&&(b=[JV.binding.Binding.getMouseActionName(b[0],!1),JV.ActionManager.getActionName(b[1])]),c.addLast(b));a.put("bindings",c);a.put("bindingName",f.b.name);a.put("actionNames",JV.ActionManager.actionNames);
a.put("actionInfo",JV.ActionManager.actionInfo);a.put("bindingInfo",JU.PT.split(f.getBindingInfo(null),"\n"));return a});q(c$,"getPdbAtomData",function(a,c){if(0==this.vwr.ms.ac||0>a.nextSetBit(0))return"";null==c&&(c=this.vwr.getOutputChannel(null,null));var f=this.vwr.ms.at,b=this.vwr.ms.am,d=f[a.nextSetBit(0)].mi,e=-1,g="%6.2Q%6.2b          ";if("PQR".equals(c.getType())){for(var g="%8.4P%7.4V       ",j=0,h=a.nextSetBit(0);0<=h;h=a.nextSetBit(h+1))j+=f[h].getPartialCharge();c.append("REMARK   1 PQR file generated by Jmol "+
JV.Viewer.getJmolVersion()).append("\nREMARK   1 created "+new java.util.Date).append("\nREMARK   1 Forcefield Used: unknown\nREMARK   1").append("\nREMARK   5").append("\nREMARK   6 Total charge on this protein: "+j+" e\nREMARK   6\n")}for(var h=a.length()-1,k=(j=d!=f[h].mi)?null:new JU.SB,d=b[d].isPdbWithMultipleBonds,l,n=new JU.P3,h=a.nextSetBit(0);0<=h;h=a.nextSetBit(h+1)){var m=f[h];j&&m.mi!=e&&(-1!=e&&c.append("ENDMDL\n"),e=m.mi,c.append("MODEL     "+(e+1)+"\n"));var q=m.getAtomName();l=2==
m.getElementSymbol().length||4<=q.length||JU.PT.isDigit(q.charAt(0));var s=b[m.mi].isBioModel,q=m.isHetero();l=s?q?l?JM.LabelToken.compile(this.vwr,"HETATM%5.-5i %-4.4a%1A%3.-3n %1c%4.-4R%1E   %8.3x%8.3y%8.3z"+g,"\x00",null):JM.LabelToken.compile(this.vwr,"HETATM%5.-5i  %-3.3a%1A%3.-3n %1c%4.-4R%1E   %8.3x%8.3y%8.3z"+g,"\x00",null):l?JM.LabelToken.compile(this.vwr,"ATOM  %5.-5i %-4.4a%1A%3.-3n %1c%4.-4R%1E   %8.3x%8.3y%8.3z"+g,"\x00",null):JM.LabelToken.compile(this.vwr,"ATOM  %5.-5i  %-3.3a%1A%3.-3n %1c%4.-4R%1E   %8.3x%8.3y%8.3z"+
g,"\x00",null):l?JM.LabelToken.compile(this.vwr,"HETATM%5.-5i %-4.4a%1AUNK %1c   1%1E   %8.3x%8.3y%8.3z"+g,"\x00",null):JM.LabelToken.compile(this.vwr,"HETATM%5.-5i  %-3.3a%1AUNK %1c   1%1E   %8.3x%8.3y%8.3z"+g,"\x00",null);var r=m.getElementSymbolIso(!1).toUpperCase();c.append(JM.LabelToken.formatLabelAtomArray(this.vwr,m,l,"\x00",null,n)).append(1==r.length?" "+r:r.substring(0,2)).append("  \n");if(!j&&(!s||q||d))if(s=m.bonds,null!=s)for(l=0;l<s.length;l++){var x=m.getAtomNumber(),y=s[l].getOtherAtom(m);
if(a.get(y.i)&&(r=s[l].getCovalentOrder(),!(1==r&&d&&!q)))switch(y=y.getAtomNumber(),r){case 2:case 3:if(y<x)continue;case 1:k.append("CONECT").append(JU.PT.formatStringI("%5i","i",x));for(x=0;x<r;x++)k.append(JU.PT.formatStringI("%5i","i",y));k.appendC("\n")}}}j?c.append("ENDMDL\n"):c.append(k.toString());return c.toString()},"JU.BS,JU.OC");q(c$,"getPdbData",function(a,c,f,b,d,e){this.vwr.ms.isJmolDataFrameForModel(a)&&(a=this.vwr.ms.getJmolDataSourceFrame(a));if(0>a)return"";var g=this.vwr.ms.am[a],
j=g.isBioModel;if(null==b&&!j)return null;null==d&&(d=this.vwr.getOutputChannel(null,null));var h=new JU.SB,k=0<=c.indexOf("draw"),l=null,n=new JU.BS,m="\x00",q=this.vwr.ms.getLabeler().compile(this.vwr,"ATOM  %-6i%4a%1A%3n %1c%4R%1E   ","\x00",null);if(null==b)m=11<c.length&&0<=c.indexOf("quaternion ")?c.charAt(11):"R",g.getPdbData(this.vwr,c,m,k,f,d,q,h,n),l=this.vwr.getModelUndeletedAtomsBitSet(a);else{l=b[0];a=b[1];var g=b[2],s=b[3],r=null!=g,x=null!=s,y=b[4],u=b[5],t=b[6],w=b[7];b=b[8];var C=
null!=t&&null==b;C&&(d.append("REMARK   6 Jmol PDB-encoded data: ").append(c).append(";\n"),d.append("REMARK   6 Jmol data").append(" min = ").append(JU.Escape.eP(y)).append(" max = ").append(JU.Escape.eP(u)).append(" unScaledXyz = xyz * ").append(JU.Escape.eP(t)).append(" + ").append(JU.Escape.eP(w)).append(";\n"));c=null;y=this.vwr.ms.at;u=new JU.P3;C||(null==b&&(b="%-5i %-10s %-13.5f "+(x?"%-13.5f %-13.5f":r?"%-13.5f":"")),b+="\n");t=l.nextSetBit(0);for(w=0;0<=t;t=l.nextSetBit(t+1),w++){var z=
a[w],B=r?g[w]:0,D=x?s[w]:0;if(!Float.isNaN(z)&&!Float.isNaN(B)&&!Float.isNaN(D)){var v=y[t];C?(d.append(JM.LabelToken.formatLabelAtomArray(this.vwr,v,q,"\x00",null,u)),j&&n.set(t),d.append(JU.PT.sprintf("%-8.2f%-8.2f%-10.2f    %6.3f          %2s    %s\n","ssF",[v.getElementSymbolIso(!1).toUpperCase(),"",[z,B,D,0]])),null!=c&&c.getPolymerIndexInModel()==v.getPolymerIndexInModel()&&h.append("CONECT").append(JU.PT.formatStringI("%5i","i",c.getAtomNumber())).append(JU.PT.formatStringI("%5i","i",v.getAtomNumber())).appendC("\n")):
x?d.append(JU.PT.sprintf(b,"isF",[Integer.$valueOf(v.getAtomNumber()),v.getAtomName(),[z,B,D]])):r?d.append(JU.PT.sprintf(b,"isF",[Integer.$valueOf(v.getAtomNumber()),v.getAtomName(),[z,B]])):d.append(JU.PT.sprintf(b,"isF",[Integer.$valueOf(v.getAtomNumber()),v.getAtomName(),[z]]));c=v}}}d.append(h.toString());if(k)return d.toString();f.and(l);j&&e&&d.append("\n\n"+this.vwr.ms.getProteinStructureState(n,!1,"R"==m,1));return d.toString()},"~N,~S,JU.BS,~A,JU.OC,~B");q(c$,"getModelCml",function(a,c,
f){var b=new JU.SB;if(0==JU.BSUtil.cardinalityOf(a))return"";J.api.Interface.getInterface("JU.XmlUtil",this.vwr,"file");JU.XmlUtil.openTag(b,"molecule");JU.XmlUtil.openTag(b,"atomArray");for(var d=new JU.BS,e=this.vwr.ms.at,g=a.nextSetBit(0);0<=g&&!(0>--c);g=a.nextSetBit(g+1)){var h=e[g],n=h.getAtomName();JU.PT.rep(n,'"',"''");d.set(h.i);JU.XmlUtil.appendTag(b,"atom/",["id","a"+(h.i+1),"title",h.getAtomName(),"elementType",h.getElementSymbol(),"x3",""+h.x,"y3",""+h.y,"z3",""+h.z])}JU.XmlUtil.closeTag(b,
"atomArray");if(f){JU.XmlUtil.openTag(b,"bondArray");a=this.vwr.ms.bondCount;c=this.vwr.ms.bo;for(g=0;g<a;g++)f=c[g],e=f.atom2,d.get(f.atom1.i)&&d.get(e.i)&&(e=JU.Edge.getCmlBondOrder(f.order),null!=e&&JU.XmlUtil.appendTag(b,"bond/",["atomRefs2","a"+(f.atom1.i+1)+" a"+(f.atom2.i+1),"order",e]));JU.XmlUtil.closeTag(b,"bondArray")}JU.XmlUtil.closeTag(b,"molecule");return b.toString()},"JU.BS,~N,~B");F(c$,"atomExpression","<atom selection>");c$.propertyTypes=c$.prototype.propertyTypes="appletInfo;;;fileName;;;fileHeader;;;fileContents;<pathname>;;fileContents;;;animationInfo;;;modelInfo;<atom selection>;{*};ligandInfo;<atom selection>;{*};shapeInfo;;;measurementInfo;;;centerInfo;;;orientationInfo;;;transformInfo;;;atomList;<atom selection>;(visible);atomInfo;<atom selection>;(visible);bondInfo;<atom selection>;(visible);chainInfo;<atom selection>;(visible);polymerInfo;<atom selection>;(visible);moleculeInfo;<atom selection>;(visible);stateInfo;<state type>;all;extractModel;<atom selection>;(visible);jmolStatus;statusNameList;;jmolViewer;;;messageQueue;;;auxiliaryInfo;<atom selection>;{*};boundBoxInfo;;;dataInfo;<data type>;types;image;<width=www,height=hhh>;;evaluate;<expression>;;menu;<type>;current;minimizationInfo;;;pointGroupInfo;<atom selection>;(visible);fileInfo;<type>;;errorMessage;;;mouseInfo;;;isosurfaceInfo;;;isosurfaceData;;;consoleText;;;JSpecView;<key>;;scriptQueueInfo;;;nmrInfo;<elementSymbol> or 'all' or 'shifts';all;variableInfo;<name>;all;domainInfo;<atom selection>;{visible};validationInfo;<atom selection>;{visible}".split(";");
F(c$,"PROP_APPLET_INFO",0,"PROP_FILENAME",1,"PROP_FILEHEADER",2,"PROP_FILECONTENTS_PATH",3,"PROP_FILECONTENTS",4,"PROP_ANIMATION_INFO",5,"PROP_MODEL_INFO",6,"PROP_LIGAND_INFO",7,"PROP_SHAPE_INFO",8,"PROP_MEASUREMENT_INFO",9,"PROP_CENTER_INFO",10,"PROP_ORIENTATION_INFO",11,"PROP_TRANSFORM_INFO",12,"PROP_ATOM_LIST",13,"PROP_ATOM_INFO",14,"PROP_BOND_INFO",15,"PROP_CHAIN_INFO",16,"PROP_POLYMER_INFO",17,"PROP_MOLECULE_INFO",18,"PROP_STATE_INFO",19,"PROP_EXTRACT_MODEL",20,"PROP_JMOL_STATUS",21,"PROP_JMOL_VIEWER",
22,"PROP_MESSAGE_QUEUE",23,"PROP_AUXILIARY_INFO",24,"PROP_BOUNDBOX_INFO",25,"PROP_DATA_INFO",26,"PROP_IMAGE",27,"PROP_EVALUATE",28,"PROP_MENU",29,"PROP_MINIMIZATION_INFO",30,"PROP_POINTGROUP_INFO",31,"PROP_FILE_INFO",32,"PROP_ERROR_MESSAGE",33,"PROP_MOUSE_INFO",34,"PROP_ISOSURFACE_INFO",35,"PROP_ISOSURFACE_DATA",36,"PROP_CONSOLE_TEXT",37,"PROP_JSPECVIEW",38,"PROP_SCRIPT_QUEUE_INFO",39,"PROP_NMR_INFO",40,"PROP_VAR_INFO",41,"PROP_DOM_INFO",42,"PROP_VAL_INFO",43,"PROP_COUNT",44,"readableTypes"," stateinfo extractmodel filecontents fileheader image menu minimizationInfo".split(" "))})})(Clazz,
Clazz.newLongArray,Clazz.doubleToByte,Clazz.doubleToInt,Clazz.doubleToLong,Clazz.declarePackage,Clazz.instanceOf,Clazz.load,Clazz.instantialize,Clazz.decorateAsClass,Clazz.floatToInt,Clazz.floatToLong,Clazz.makeConstructor,Clazz.defineEnumConstant,Clazz.exceptionOf,Clazz.newIntArray,Clazz.defineStatics,Clazz.newFloatArray,Clazz.declareType,Clazz.prepareFields,Clazz.superConstructor,Clazz.newByteArray,Clazz.declareInterface,Clazz.p0p,Clazz.pu$h,Clazz.newShortArray,Clazz.innerTypeInstance,Clazz.isClassDefined,
Clazz.prepareCallback,Clazz.newArray,Clazz.castNullAs,Clazz.floatToShort,Clazz.superCall,Clazz.decorateAsType,Clazz.newBooleanArray,Clazz.newCharArray,Clazz.implementOf,Clazz.newDoubleArray,Clazz.overrideConstructor,Clazz.clone,Clazz.doubleToShort,Clazz.getInheritedLevel,Clazz.getParamsType,Clazz.isAF,Clazz.isAI,Clazz.isAS,Clazz.isASS,Clazz.isAP,Clazz.isAFloat,Clazz.isAII,Clazz.isAFF,Clazz.isAFFF,Clazz.tryToSearchAndExecute,Clazz.getStackTrace,Clazz.inheritArgs,Clazz.alert,Clazz.defineMethod,Clazz.overrideMethod,
Clazz.declareAnonymous,Clazz.cloneFinals);
