(function(ka,la,ma,na,R,oa,fa,v,ga,ha,ia,W,pa,ja,qa,M,U,ra,w,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,F,Da,Ea,Fa,Ga,Ha,Ia,Ja,Ka,La,Ma,Na,Oa,Pa,Qa,Ra,Sa,Ta,Ua,Va,Wa,Xa,Ya,Za,$a,ab,bb,cb,l){fa("JS");ga(null,"JS.MathExt","java.lang.Float $.Number java.util.Date $.HashMap $.Hashtable $.Random JU.AU $.BS $.CU $.Lst $.M3 $.M4 $.Measure $.OC $.P3 $.P4 $.PT $.Quat $.Rdr $.SB $.V3 J.api.Interface J.atomdata.RadiusData J.bspt.PointIterator J.c.VDW J.i18n.GT JM.BondSet $.Measurement JS.SV $.ScriptMathProcessor $.ScriptParam $.T JU.BSUtil $.Escape $.JmolMolecule $.Logger $.Parser $.Point3fi $.SimpleUnitCell JV.FileManager $.JC $.Viewer".split(" "),
function(){c$=ia(function(){this.pm=this.rand=this.e=this.vwr=null;ha(this,arguments)},JS,"MathExt");ja(c$,function(){});l(c$,"init",function(e){this.e=e;this.vwr=this.e.vwr;return this},"~O");l(c$,"evaluate",function(e,a,b,c){switch(c){case 134218760:return 1<=b.length&&4==b[0].tok?e.addXStr((1==b.length?(new java.util.Date).toString():this.vwr.apiPlatform.getDateFormat(JS.SV.sValue(b[1])))+"\t"+JS.SV.sValue(b[0]).trim()):e.addXInt(System.currentTimeMillis()-JS.MathExt.t0-(0==b.length?0:b[0].asInt()));
case 134218250:return 1==b.length&&2==b[0].tok?e.addXInt(b[0].intValue):e.addXFloat(Math.abs(b[0].asFloat()));case 134218242:case 134218245:case 134218244:case 134218246:return 1==b.length&&this.evaluateMath(e,b,c);case 1275069441:case 1275068928:case 1275068929:case 1275068930:case 1275068931:case 1275335685:case 1275334681:return this.evaluateList(e,a.intValue,b);case 268435520:0==b.length&&(e.wasX=!1);case 1275068418:return this.evaluateArray(e,b,1275068418==c&&268435665==a.tok);case 134217765:return e.addXObj(this.vwr.sm.getParameter(0==
b.length?-2147483648:b[0].intValue));case 134217731:case 134221850:return this.evaluateQuaternion(e,b,c);case 1275068420:return this.evaluateBin(e,b);case 134221829:return this.evaluateCache(e,b);case 1275068934:case 1275068935:return this.evaluateRowCol(e,b,c);case 1765808134:return this.evaluateColor(e,b);case 134221831:return this.evaluateCompare(e,b);case 1228931587:case 134217736:case 1275203608:return this.evaluateConnected(e,b,c,a.intValue);case 1814695966:return this.evaluateUnitCell(e,b,
268435665==a.tok);case 134353926:return this.evaluateContact(e,b);case 134221834:return this.evaluateData(e,b);case 1275069444:case 1275069442:return this.evaluateDotDist(e,b,c,a.intValue);case 1275069443:if(268435665==a.tok)return this.evaluateDotDist(e,b,c,a.intValue);case 134217729:case 1745489939:return this.evaluateMeasure(e,b,a.tok);case 1228935687:case 134222849:return this.evaluateLoad(e,b,1228935687==c);case 1275068427:return this.evaluateFind(e,b);case 1275068433:return this.evaluateInChI(e,
b);case 1287653388:case 1825200146:return this.evaluateFormat(e,a.intValue,b,1825200146==c);case 134320141:return this.evaluateUserFunction(e,a.value,b,a.intValue,268435665==a.tok);case 1275068449:case 1275068437:case 1275082245:case 1275072526:return this.evaluateGetProperty(e,b,c,268435665==a.tok);case 136314895:return this.evaluateHelix(e,b);case 134219265:case 134217750:case 134217763:return this.evaluatePlane(e,b,c);case 134218759:case 134238732:case 134222850:case 134222350:return this.evaluateScript(e,
b,c);case 1275069446:case 1275069447:case 1275068932:return this.evaluateString(e,a.intValue,b);case 134217751:return this.evaluatePoint(e,b);case 134217762:return this.evaluatePointGroup(e,b);case 134256131:return this.evaluatePrompt(e,b);case 134219268:return this.evaluateRandom(e,b);case 1275068432:return this.evaluateIn(e,b);case 1275072532:return this.evaluateModulation(e,b);case 1275068443:return this.evaluateReplace(e,b);case 134218756:case 134218757:case 1237320707:return this.evaluateSubstructure(e,
b,c,268435665==a.tok);case 1275068444:case 1275068425:return this.evaluateSort(e,b,c);case 134217764:return this.evaluateSpacegroup(e,b);case 1296041986:return this.evaluateSymop(e,b,268435665==a.tok);case 1275068445:return this.evaluateTensor(e,b);case 134217759:return this.evaluateWithin(e,b);case 134221856:return this.evaluateWrite(e,b)}return!1},"JS.ScriptMathProcessor,JS.T,~A,~N");l(c$,"evaluateSpacegroup",function(e,a){var b=null;switch(a.length){case 0:return e.addXObj(this.vwr.getSymTemp().getSpaceGroupInfo(this.vwr.ms,
null,this.vwr.am.cmi,!0,null));case 2:b=JS.SV.flistValue(a[1],0),6>b.length&&(b=null);case 1:var c=JS.SV.getBitSet(a[0],!0);return null==c?e.addXObj(this.vwr.getSymTemp().getSpaceGroupInfo(this.vwr.ms,""+a[0].asString(),-2147483648,!0,b)):e.addXObj(this.vwr.findSpaceGroup(c,!0));default:return!1}},"JS.ScriptMathProcessor,~A");l(c$,"evaluatePointGroup",function(e,a){var b=null,c=null,d=NaN,f=NaN,g;switch(a.length){case 4:f=a[3].asFloat();case 3:d=a[2].asFloat();case 2:switch(a[1].tok){case 8:c=JS.SV.ptValue(a[1]);
break;case 10:g=JS.SV.getBitSet(a[1],!1);c=g.nextSetBit(0);if(0>c||c>=this.vwr.ms.ac||1!=g.cardinality())return!1;if(JS.SV.sValue(a[0]).equalsIgnoreCase("spaceGroup")){c=this.vwr.ms.generateCrystalClass(c,JU.P3.new3(NaN,NaN,NaN));b=Array(c.size());for(g=b.length;0<=--g;)b[g]=c.get(g);c=new JU.P3;2==a.length&&(d=0)}else c=this.vwr.ms.at[c]}if(null!=b)break;case 1:switch(a[0].tok){case 7:var h=a[0].getList(),b=Array(h.size());for(g=b.length;0<=--g;)b[g]=JS.SV.ptValue(h.get(g));break;case 10:g=JS.SV.getBitSet(a[0],
!1);h=this.vwr.ms.getAtomPointVector(g);b=Array(h.size());for(g=b.length;0<=--g;)b[g]=h.get(g);break;default:return!1}break;case 0:return e.addXObj(this.vwr.ms.getPointGroupInfo(null));default:return!1}b=this.vwr.getSymTemp().setPointGroup(null,c,b,null,!1,Float.isNaN(d)?this.vwr.getFloat(570425382):d,Float.isNaN(f)?this.vwr.getFloat(570425384):f,!0);return e.addXMap(b.getPointGroupInfo(-1,null,!0,null,0,1))},"JS.ScriptMathProcessor,~A");l(c$,"evaluateUnitCell",function(e,a,b){b=b?JS.SV.getBitSet(e.getX(),
!0):null;var c=(null==b?this.vwr.getAllAtoms():b).nextSetBit(0),d=a.length-1;b=1;switch(0>d?0:a[d].tok){case 2:case 3:b=a[d].asFloat(),d--}var f=0>d?0:a[0].tok,g=null,h=null;switch(f){case 7:h=a[0].getList();break;case 4:var k=a[0].asString();if(0==k.indexOf("a=")){for(var g=Array(4),j=0;4>j;j++)g[j]=new JU.P3;JU.SimpleUnitCell.setOabc(k,null,g)}else if(0<=k.indexOf(","))return e.addXObj(this.vwr.getV0abc(-1,k))}k=null;j=null!=h;if(null==g&&j&&4>h.size())return!1;var n=j?1:0;null==g&&(!j&&8!=f)&&
(k=0>c?this.vwr.getCurrentUnitCell():this.vwr.ms.getUnitCell(this.vwr.ms.at[c].mi),g=null==k?F(-1,[JU.P3.new3(0,0,0),JU.P3.new3(1,0,0),JU.P3.new3(0,1,0),JU.P3.new3(0,0,1)]):k.getUnitCellVectors());if(null==g)if(g=Array(4),j)switch(h.size()){case 3:g[0]=new JU.P3;for(j=0;3>j;j++)g[j+1]=JU.P3.newP(JS.SV.ptValue(h.get(j)));break;case 4:for(j=0;4>j;j++)g[j]=JU.P3.newP(JS.SV.ptValue(h.get(j)));break;case 6:f=w(6,0);for(j=0;6>j;j++)f[j]=h.get(j).asFloat();JU.SimpleUnitCell.setOabc(null,f,g);break;default:return!1}else switch(g[0]=
JS.SV.ptValue(a[0]),d){case 3:for(j=1;4>j;j++)(g[j]=JU.P3.newP(JS.SV.ptValue(a[j]))).sub(g[0]);break;case 1:if(h=a[1].getList(),null!=h&&3==h.size()){for(j=0;3>j;j++)g[j+1]=JS.SV.ptValue(h.get(j));break}default:return!1}j=n<=d?a[n].asString():null;if((h="primitive".equalsIgnoreCase(j))||"conventional".equalsIgnoreCase(j)){a=++n>d?"":a[n].asString().toUpperCase();a.equals("BCC")?a="I":0==a.length&&(a=this.vwr.getSymmetryInfo(c,null,0,null,null,null,1073741994,null,0,-1,0));if(null==a||0==a.length)return!1;
null==k&&(k=this.vwr.getSymTemp());c=this.vwr.getModelForAtomIndex(c).auxiliaryInfo.get("primitiveToCrystal");if(!k.toFromPrimitive(h,a.charAt(0),g,c))return!1}else"reciprocal".equalsIgnoreCase(j)&&(g=JU.SimpleUnitCell.getReciprocal(g,null,b),b=1);if(1!=b)for(j=1;4>j;j++)g[j].scale(b);return e.addXObj(g)},"JS.ScriptMathProcessor,~A,~B");l(c$,"evaluateArray",function(e,a,b){if(b){b=e.getX();switch(1==a.length?b.tok:0){case 6:var c=new JU.Lst,d=a[0].asString(),f=b.getMap(),g=b.getKeys(!1);b=0;for(a=
g.length;b<a;b++)if(null==f.get(g[b]).getMap())return!1;b=0;for(a=g.length;b<a;b++){var h=f.get(g[b]),h=h.getMap(),h=JS.SV.deepCopy(h,!0,!1);h.put(d,JS.SV.newS(g[b]));c.addLast(JS.SV.newV(6,h))}return e.addXList(c);case 7:c=new java.util.Hashtable;d=b.getList();f=a[0].asString();b=0;for(a=d.size();b<a;b++)if(h=d.get(b).getMap(),null==h||null==h.get(f))return!1;b=0;for(a=d.size();b<a;b++)h=d.get(b),h=JS.SV.deepCopy(h.getMap(),!0,!1),g=h.remove(f),c.put(g.asString(),JS.SV.newV(6,h));return e.addXObj(c)}return!1}c=
Array(a.length);for(b=c.length;0<=--b;)c[b]=JS.SV.newT(a[b]);return e.addXAV(c)},"JS.ScriptMathProcessor,~A,~B");l(c$,"evaluateBin",function(e,a){var b=a.length;if(3>b||5<b)return!1;var c=e.getX(),d=13==c.tok;if(!d&&7!=c.tok)return e.addX(c);var f=JS.SV.fValue(a[0]),g=JS.SV.fValue(a[1]),h=JS.SV.fValue(a[2]),k=4<=b&&1073742335==a[b-1].tok,b=(5==b||4==b&&!k)&&1073742334!=a[3].tok?JS.SV.sValue(a[3]):null,j=null;if(d)c=c.value;else{d=c.getList();c=w(d.size(),0);null!=b&&(j=JU.AU.createArrayOfHashtable(d.size()));
try{for(var n=d.size();0<=--n;)c[n]=JS.SV.fValue(null==b?d.get(n):(j[n]=d.get(n).getMap()).get(b))}catch(K){if(M(K,Exception))return!1;throw K;}}for(var g=Math.max(R(Math.floor((g-f)/h+0.01)),1),d=U(g,0),m=c.length,n=0;n<m;n++){var p=R(Math.floor((c[n]-f)/h));if(!(0>p||p>=g))if(d[p]++,null!=b){var q=j[n];if(null!=q){q.put("_bin",JS.SV.newI(p));var l=f+h*p,x=l+h;q.put("_binMin",JS.SV.newF(0==p?-3.4028235E38:l));q.put("_binMax",JS.SV.newF(p==g-1?3.4028235E38:x))}}}if(k){k=new JU.Lst;for(n=0;n<g;n++)k.addLast(w(-1,
[f+h*n,d[n]]));return e.addXList(k)}return e.addXAI(d)},"JS.ScriptMathProcessor,~A");l(c$,"evaluateCache",function(e,a){return 0<a.length?!1:e.addXMap(this.vwr.fm.cacheList())},"JS.ScriptMathProcessor,~A");l(c$,"evaluateColor",function(e,a){var b=0<a.length?JS.SV.sValue(a[0]):"",c=b.startsWith("$");if(2==a.length&&b.equalsIgnoreCase("TOHSL"))return e.addXPt(JU.CU.rgbToHSL(JU.P3.newP(8==a[1].tok?JS.SV.ptValue(a[1]):JU.CU.colorPtFromString(a[1].asString())),!0));if(2==a.length&&b.equalsIgnoreCase("TORGB")){var d=
JU.P3.newP(8==a[1].tok?JS.SV.ptValue(a[1]):JU.CU.colorPtFromString(a[1].asString()));return e.addXPt(8==a[1].tok?JU.CU.hslToRGB(d):d)}if(4==a.length&&(1073742335==a[3].tok||1073742334==a[3].tok)){var d=JU.P3.newP(8==a[0].tok?JS.SV.ptValue(a[0]):JU.CU.colorPtFromString(a[0].asString())),f=JU.P3.newP(8==a[1].tok?JS.SV.ptValue(a[1]):JU.CU.colorPtFromString(a[1].asString())),g=1073742335==a[3].tok;g&&(d=JU.CU.rgbToHSL(d,!1),f=JU.CU.rgbToHSL(f,!1));var h=new JU.SB,f=JU.V3.newVsub(f,d),k=a[2].asInt();2>
k&&(k=20);f.scale(1/(k-1));for(b=0;b<k;b++)h.append(JU.Escape.escapeColor(JU.CU.colorPtToFFRGB(g?JU.CU.hslToRGB(d):d))),d.add(f);return e.addXStr(h.toString())}k=c?null:this.vwr.cm.getColorEncoder(b);if(!c&&null==k)return e.addXStr("");d=1<a.length?JS.SV.fValue(a[1]):3.4028235E38;f=2<a.length?JS.SV.fValue(a[2]):3.4028235E38;g=3<a.length?JS.SV.fValue(a[3]):3.4028235E38;h=3.4028235E38!=g||3.4028235E38!=d&&3.4028235E38==f;3.4028235E38==f&&0==b.length&&(g=d,f=this.vwr.getCurrentColorRange(),d=f[0],f=
f[1]);if(c){k=b.substring(1);k=F(-1,[k,null]);if(!this.vwr.shm.getShapePropertyData(24,"colorEncoder",k))return e.addXStr("");k=k[1]}else k.setRange(d,f,d>f);b=k.getColorKey();return h?e.addXPt(JU.CU.colorPtFromInt(k.getArgb(3.4028235E38==f?d:g),null)):e.addX(JS.SV.getVariableMap(b))},"JS.ScriptMathProcessor,~A");l(c$,"evaluateCompare",function(e,a){var b=a.length;if(2>b||5<b)return!1;var c,d=1073742335==a[b-1].tok;(d||1073742334==a[b-1].tok)&&b--;var f=JS.SV.sValue(a[b-1]),g=f.equalsIgnoreCase("stddev"),
h=f.equalsIgnoreCase("ISOMER"),k=h&&d,j=f.equalsIgnoreCase("BONDS"),n=7==a[0].tok&&7==a[1].tok,K=!n&&!h&&b>(g?3:2),d=10==a[0].tok?a[0].value:null,m=10==a[1].tok?a[1].value:null,p=null==d?JS.SV.sValue(a[0]):"",q=null==m?JS.SV.sValue(a[1]):"";c=NaN;try{if(j){if(4!=b)return!1;p=JS.SV.sValue(a[2]);K=p.equalsIgnoreCase("SMILES");try{K&&(p=this.vwr.getSmiles(d))}catch(l){if(M(l,Exception))this.e.evalError(l.getMessage(),null);else throw l;}var x=this.e.getSmilesExt().getFlexFitList(d,m,p,!K);return null==
x?e.addXStr(""):e.addXAF(x)}if(h){if(3!=b)return!1;if(null==d&&null==m){var t=this.vwr.getSmilesMatcher().getRelationship(p,q).toUpperCase();return e.addXStr(t)}var v=null==d?this.vwr.getSmilesMatcher().getMolecularFormula(p,!1):JU.JmolMolecule.getMolecularFormulaAtoms(this.vwr.ms.at,d,null,!1),w=null==m?this.vwr.getSmilesMatcher().getMolecularFormula(q,!1):JU.JmolMolecule.getMolecularFormulaAtoms(this.vwr.ms.at,m,null,!1);if(!v.equals(w))return e.addXStr("NONE");null!=d&&(p=this.e.getSmilesExt().getSmilesMatches("/strict///",
null,d,null,1,!0,!1));var y;null==m?y=0<this.vwr.getSmilesMatcher().areEqual(q,p):(q=this.e.getSmilesExt().getSmilesMatches("/strict///",null,m,null,1,!0,!1),y=0<=this.e.getSmilesExt().getSmilesMatches("/strict///"+p,null,m,null,1,!0,!1).nextSetBit(0));if(!y){var z=p+q;if(0<=z.indexOf("/")||0<=z.indexOf("\\")||0<=z.indexOf("@")){if(0<=p.indexOf("@")&&(null!=m||0<=q.indexOf("@"))&&0>p.indexOf("@SP")){var C=p.toLowerCase().indexOf("invertstereo"),p=0<=C?"/strict/"+p.substring(0,C)+p.substring(C+12):
"/invertstereo strict/"+p;if(y=null==m?0<this.vwr.getSmilesMatcher().areEqual(p,q):0<=this.e.getSmilesExt().getSmilesMatches(p,null,m,null,1,!0,!1).nextSetBit(0))return e.addXStr("ENANTIOMERS")}null==m?y=0<this.vwr.getSmilesMatcher().areEqual("/nostereo/"+q,p):(t=this.e.getSmilesExt().getSmilesMatches("/nostereo/"+p,null,m,null,1,!0,!1),y=0<=t.nextSetBit(0));if(y)return e.addXStr("DIASTEREOMERS")}t="CONSTITUTIONAL ISOMERS";if(k){var s=this.vwr.getInchi(d,null,null);null!=s&&s.equals(this.vwr.getInchi(m,
null,null))&&(t="TAUTOMERS")}return e.addXStr(t)}if(null==d||null==m)return e.addXStr("IDENTICAL");c=this.e.getSmilesExt().getSmilesCorrelation(d,m,p,null,null,null,null,!1,null,null,!1,1);return e.addXStr(0.2>c?"IDENTICAL":"IDENTICAL or CONFORMATIONAL ISOMERS (RMSD="+c+")")}var G=new JU.M4,s=y=null;if(K){if(null==d||null==m)return!1;var f=JS.SV.sValue(a[2]),D=f.equalsIgnoreCase("MAP"),K=f.equalsIgnoreCase("SMILES"),L=D||f.equalsIgnoreCase("SMARTS");if(K||L)f=b>(g?4:3)?JS.SV.sValue(a[3]):null;var u=
"H".equalsIgnoreCase(f)||"allH".equalsIgnoreCase(f)||"bestH".equalsIgnoreCase(f),r=!u&&("polyhedra".equalsIgnoreCase(f)||"polyhedron".equalsIgnoreCase(f));if(r)c=this.e.getSmilesExt().mapPolyhedra(d.nextSetBit(0),m.nextSetBit(0),K,G);else{y=new JU.Lst;var s=new JU.Lst,z="all".equalsIgnoreCase(f)||"allH".equalsIgnoreCase(f),B="best".equalsIgnoreCase(f)||"bestH".equalsIgnoreCase(f);"stddev".equals(f)&&(f=null);L=f;if(null==f||u||z||B){if(!D&&!K||u&&r)return!1;L="/noaromatic"+(z||B?"/":" nostereo/")+
this.e.getSmilesExt().getSmilesMatches(u?"H":"",null,d,null,1,!0,!1)}else z=!0;c=this.e.getSmilesExt().getSmilesCorrelation(d,m,L,y,s,G,null,D,null,null,B,(K?1:2)|(!z&&!B?8:0));if(D){var A=y.size();if(0==A)return e.addXStr("");for(var F=R(s.size()/A),t=new JU.Lst,N=0,C=0;N<F;N++){var S=JU.AU.newInt2(A);t.addLast(S);for(b=0;b<A;b++,C++)S[b]=U(-1,[y.get(b).i,s.get(C).i])}return z?e.addXList(t):0<t.size()?e.addXAII(t.get(0)):e.addXStr("")}}}if(n){y=this.e.getPointVector(a[0],3);s=this.e.getPointVector(a[1],
3);S=3<=b?a[2].getList():null;if(null!=S){b--;var E=S.size();if(E!=y.size()||E!=s.size())return!1;for(var H=new JU.Lst,N=0;N<E;N++)H.addLast(y.get(S.get(N).intValue));y=H}switch(b){case 2:break;case 3:if(g)break;default:return!1}null!=y&&(null!=s&&y.size()==s.size())&&(J.api.Interface.getInterface("JU.Eigen",this.vwr,"script"),c=JU.Measure.getTransformMatrix4(y,s,G,null))}return g||Float.isNaN(c)?e.addXFloat(c):e.addXM4(G.round(1E-7))}catch(P){if(M(P,Exception))return this.e.evalError(null==P.getMessage()?
P.toString():P.getMessage(),null),!1;throw P;}},"JS.ScriptMathProcessor,~A");l(c$,"evaluateConnected",function(e,a,b,c){if(5<a.length)return!1;var d=-2147483648,f=2147483647,g=0,h=3.4028235E38,k=65535,j=null,n=null,K=!1,m=!1;switch(b){case 1275203608:n=-2147483648;g=null;if(0<a.length)switch(a[0].tok){case 2:n=a[0].intValue;break;case 4:g=JS.SV.sValue(a[0])}1275203608==c&&(j=JS.SV.getBitSet(e.getX(),!0));j=F(-1,[Integer.$valueOf(n),g,j]);this.vwr.shm.getShapePropertyData(21,"getCenters",j)||(j[1]=
null);return e.addXBs(null==j[1]?new JU.BS:j[1]);case 1228931587:j=e.getX();if(10!=j.tok||1!=a.length||10!=a[0].tok)return!1;j=j.value;n=a[0].value;a=new JU.Lst;g=this.vwr.ms.at;for(c=j.nextSetBit(0);0<=c;c=j.nextSetBit(c+1)){b=0;h=g[c].bonds;for(m=h.length;0<=--m;)n.get(h[m].getOtherAtom(g[c]).i)&&b++;a.addLast(Integer.$valueOf(b))}return e.addXList(a)}for(c=0;c<a.length;c++){var p=a[c];switch(p.tok){case 10:if((m=v(p.value,JM.BondSet))&&null!=j)return!1;if(null==j)j=p.value;else if(null==n)n=p.value;
else return!1;break;case 4:b=JS.SV.sValue(p);k=b.equalsIgnoreCase("hbond")?30720:JS.ScriptParam.getBondOrderFromString(b);if(131071==k)return!1;break;case 3:K=!0;default:b=p.asInt();p=p.asFloat();if(2147483647!=f)return!1;-2147483648==d?(d=Math.max(b,0),g=p):(f=b,h=p)}}-2147483648==d?(d=1,f=100,g=0.1,h=1E8):2147483647==f&&(f=d,h=g,g=0.1);null==j&&(j=this.vwr.getAllAtoms());K&&null==n&&(n=j);return null!=n?(a=new JU.BS,this.vwr.makeConnections(g,h,k,1086324745,j,n,a,m,!1,0),e.addX(JS.SV.newV(10,JM.BondSet.newBS(a,
this.vwr.ms.getAtomIndices(this.vwr.ms.getAtoms(1677721602,a)))))):e.addXBs(this.vwr.ms.getAtomsConnected(d,f,k,j))},"JS.ScriptMathProcessor,~A,~N,~N");l(c$,"evaluateContact",function(e,a){if(1>a.length||3<a.length)return!1;var b=0,c=100;switch(a[0].tok){case 3:case 2:c=JS.SV.fValue(a[b++]);break;case 10:break;default:return!1}if(b==a.length||!v(a[b].value,JU.BS))return!1;var d=JU.BSUtil.copy(a[b++].value),b=b<a.length?JU.BSUtil.copy(a[b].value):null,c=new J.atomdata.RadiusData(null,10<c?c/100:c,
10<c?J.atomdata.RadiusData.EnumType.FACTOR:J.atomdata.RadiusData.EnumType.OFFSET,J.c.VDW.AUTO),b=this.setContactBitSets(d,b,!0,NaN,c,!1);b.or(d);return e.addXBs(b)},"JS.ScriptMathProcessor,~A");l(c$,"evaluateData",function(e,a){var b=0==a.length?"":JS.SV.sValue(a[0]);switch(a.length){case 0:case 1:break;case 2:case 3:if(10==a[0].tok)return e.addXStr(this.vwr.getModelFileData(b,JS.SV.sValue(a[1]),3==a.length&&JS.SV.bValue(a[2])));break;case 4:var b=a[1].asInt(),c=a[2].asInt(),d=a[3].asInt(),b=JU.Parser.parseFloatArrayFromMatchAndField(JS.SV.sValue(a[0]),
null,0,0,null,b,c,null,d);return e.addXStr(JU.Escape.escapeFloatA(b,!1));default:return!1}if(0==b.indexOf("data2d_"))return b=this.vwr.getDataObj(b,null,2),null==b?e.addXStr(""):2==a.length&&2==a[1].tok?(c=a[1].intValue,0>c&&(c+=b.length),0<=c&&c<b.length?e.addXStr(JU.Escape.escapeFloatA(b[c],!1)):e.addXStr("")):e.addXStr(JU.Escape.escapeFloatAA(b,!1));if(0==b.indexOf("property_"))return b=this.vwr.getDataObj(b,null,1),null==b?e.addXStr(""):e.addXStr(JU.Escape.escapeFloatA(b,!1));b=this.vwr.getDataObj(b,
null,-1);return e.addXStr(null==b?"":""+b[1])},"JS.ScriptMathProcessor,~A");l(c$,"evaluateDotDist",function(e,a,b,c){var d=1275069443==b,f,g,h=null;switch(a.length){case 2:if(2147483647==c){f=a[0];g=a[1];break}h=a[1];case 1:f=e.getX();g=a[0];break;default:return!1}a=NaN;try{if(1275069442==b){var k=JU.P3.newP(e.ptValue(f,null));k.cross(k,e.ptValue(g,null));return e.addXPt(k)}var j=7==g.tok?null:e.ptValue(g,null),n=JS.ScriptMathProcessor.planeValue(g);if(d){b=-2147483648==c?0:c&480;var k=32==b||64==
b,K=480==b;switch(f.tok){case 7:case 10:var m=10==f.tok,p=10==g.tok,q=8==g.tok,l=m?f.value:null,x=p?g.value:null,t=m?null:f.getList(),v=p?null:g.getList(),F=k&&null!=h&&h.asBoolean();switch(g.tok){case 10:case 7:case 8:var y=this.vwr.ms.at;if(F){var z=NaN,C=2147483647;if(m){for(var s=l.nextSetBit(0);0<=s;s=l.nextSetBit(s+1)){var G=q?y[s].distanceSquared(j):this.e.getBitsetProperty(x,v,c,y[s],n,f.value,null,!1,f.index,!1).floatValue();if(!(32==b?G>=z:G<=z))z=G,C=s}return e.addXBs(2147483647==C?new JU.BS:
JU.BSUtil.newAndSetBit(C))}for(s=t.size();0<=--s;){var D=JS.SV.ptValue(t.get(s)),G=q?D.distanceSquared(j):this.e.getBitsetProperty(x,v,c,D,n,f.value,null,!1,2147483647,!1).floatValue();if(!(32==b?G>=z:G<=z))z=G,C=s}return e.addXInt(C)}if(K){if(null==x){for(var L=w(l.cardinality(),0),z=0,s=l.nextSetBit(0);0<=s;s=l.nextSetBit(s+1),z++)L[z]=y[s].distance(j);return e.addXAF(L)}C=w(l.cardinality(),x.cardinality(),0);z=0;for(s=l.nextSetBit(0);0<=s;s=l.nextSetBit(s+1),z++){c=0;for(var u=x.nextSetBit(0);0<=
u;u=x.nextSetBit(u+1),c++)C[z][c]=y[s].distance(y[u])}return e.addXAFF(C)}if(k){L=w(m?l.cardinality():t.size(),0);if(m){s=l.nextSetBit(0);for(z=0;0<=s;s=l.nextSetBit(s+1))L[z++]=this.e.getBitsetProperty(x,v,c,y[s],n,f.value,null,!1,f.index,!1).floatValue();return e.addXAF(L)}for(s=L.length;0<=--s;)L[s]=this.e.getBitsetProperty(x,v,c,JS.SV.ptValue(t.get(s)),n,null,null,!1,2147483647,!1).floatValue();return e.addXAF(L)}return e.addXObj(this.e.getBitsetProperty(l,t,c,j,n,f.value,null,!1,f.index,!1))}}}var r=
e.ptValue(f,null),B=JS.ScriptMathProcessor.planeValue(f);d?a=null!=n&&null!=h?JU.Measure.directedDistanceToPlane(r,n,JS.SV.ptValue(h)):null==B?null==n?j.distance(r):JU.Measure.distanceToPlane(n,r):JU.Measure.distanceToPlane(B,j):null!=B&&null!=n?a=B.x*n.x+B.y*n.y+B.z*n.z+B.w*n.w:(null!=B?r=JU.P3.new3(B.x,B.y,B.z):null!=n&&(j=JU.P3.new3(n.x,n.y,n.z)),a=r.dot(j))}catch(A){if(!M(A,Exception))throw A;}return e.addXFloat(a)},"JS.ScriptMathProcessor,~A,~N,~N");l(c$,"evaluateHelix",function(e,a){if(1>a.length||
5<a.length)return!1;var b=2<a.length?3:1,c=b>=a.length?"array":JS.SV.sValue(a[b]),b=JS.T.getTokFromName(c);if(2<a.length){var d=e.ptValue(a[0],null),f=e.ptValue(a[1],null);if(0==b||9!=a[2].tok||null==d||null==f)return!1;var g=JU.Quat.newP4(a[2].value),g=JU.Measure.computeHelicalAxis(d,f,g);return null==g?!1:e.addXObj(JU.Escape.escapeHelical(c,b,d,f,g))}c=v(a[0].value,JU.BS)?a[0].value:this.vwr.ms.getAtoms(1094715412,new Integer(a[0].asInt()));switch(b){case 134217751:case 1073741854:case 1665140738:return e.addXObj(this.getHelixData(c,
b));case 134217729:return e.addXFloat(this.getHelixData(c,134217729).floatValue());case 135176:case 1745489939:return e.addXObj(this.getHelixData(c,b));case 1275068418:g=this.getHelixData(c,1073742001);if(null==g)break;return e.addXAS(g)}return!1},"JS.ScriptMathProcessor,~A");l(c$,"getHelixData",function(e,a){var b=e.nextSetBit(0);return 0>b?"null":this.vwr.ms.at[b].group.getHelixData(a,this.vwr.getQuaternionFrame(),this.vwr.getInt(553648142))},"JU.BS,~N");l(c$,"evaluateInChI",function(e,a){var b=
e.getX(),c=0<a.length?JS.SV.sValue(a[0]):"",d=JS.SV.getBitSet(b,!0),f=null;null==d&&(f=JS.SV.sValue(b));return e.addXStr(this.vwr.getInchi(d,f,c))},"JS.ScriptMathProcessor,~A");l(c$,"evaluateFind",function(e,a){var b=e.getX(),c=7==b.tok,d=10==b.tok,f=0==a.length,g=0==a.length?0:a[0].tok,h=f||4!=g?"":JS.SV.sValue(a[0]),k=1<a.length&&1073742334==a[1].tok,j=0==g?0:a[a.length-1].tok,n=0==j?JS.SV.vF:a[a.length-1],l=!c&&1073742335==j,m=1<a.length&&1073742335!=a[1].tok&&1073742334!=a[1].tok&&10!=a[1].tok?
JS.SV.sValue(a[1]):"",j=!c&&!k&&h.equalsIgnoreCase("SEQUENCE"),p=!c&&!k&&h.equalsIgnoreCase("SEQ");if(h.toUpperCase().startsWith("SMILES/")){h.endsWith("/")||(h+="/");var q=h.substring(6)+"//";JV.JC.isSmilesCanonical(q)?(m="SMILES",h="CHEMICAL"):(h="SMILES",m=q+m)}else h.toUpperCase().startsWith("SMARTS/")&&(h.endsWith("/")||(h+="/"),m=h.substring(6)+(0==m.length?"//":m),h="SMARTS");var q=null,v=!1;if(4==b.tok)switch(a.length){case 1:if(b.value.startsWith("InChI=")&&h.equals("SMILES"))return e.addXStr(this.vwr.getInchi(null,
b.value,"SMILES"));v=!0;break;case 2:k||l?v=!0:b.value.startsWith("InChI=")?h.equals("SMARTS")?q=this.vwr.getInchi(null,b.value,"SMILES"):v=!0:3>=m.length&&0==m.$replace("m"," ").$replace("i"," ").$replace("v"," ").trim().length&&(v=!0)}var x=!c&&!v&&h.equalsIgnoreCase("SMILES"),t=!c&&!v&&h.equalsIgnoreCase("SMARTS"),w=!c&&!v&&h.equalsIgnoreCase("CHEMICAL"),Y=!c&&!v&&h.equalsIgnoreCase("MF"),v=!c&&!v&&h.equalsIgnoreCase("CELLFORMULA"),y=d&&!c&&h.equalsIgnoreCase("INCHI"),z=d&&!c&&h.equalsIgnoreCase("INCHIKEY"),
C=!x&&!t&&10==g&&0<=m.toLowerCase().indexOf("map");try{if(y||z)return z&&(m+=" key"),e.addXStr(this.vwr.getInchi(JS.SV.getBitSet(b,!0),null,m));if(w){var s=d?b.value:null,G=null==s?JS.SV.sValue(b):this.vwr.getOpenSmiles(s),G=(0==G.length?"":this.vwr.getChemicalInfo(G,m.toLowerCase(),s)).trim();G.startsWith("InChI")&&(G=JU.PT.rep(JU.PT.rep(G,"InChI=",""),"InChIKey=",""));return e.addXStr(G)}if(x||t||d){var d=C?0:x||t?2:1,D=d<a.length&&10==a[d].tok?a[d++].value:null,L="bonds".equalsIgnoreCase(JS.SV.sValue(n)),
s=L||l,d=null;switch(b.tok){case 4:null==q&&(q=JS.SV.sValue(b));if((x||t)&&1==a.length||null!=D)return!1;if(m.equalsIgnoreCase("mf"))d=this.vwr.getSmilesMatcher().getMolecularFormula(q,t);else{var D=m,u=!0,r=!1;switch(a.length){case 4:u=JS.SV.bValue(a[3]);case 3:r=JS.SV.bValue(a[2])}var B=D.equals("chirality"),A=!r&&(!u||!t&&!B);try{d=this.e.getSmilesExt().getSmilesMatches(D,q,null,null,t?2:1,!r,!u)}catch(R){if(M(R,Exception))return System.out.println(R.getMessage()),e.addXInt(-1);throw R;}var N=
B?1:(JU.AU.isAI(d),d.length);0==N&&("MF_FAILED"!==this.vwr.getSmilesMatcher().getLastException()&&0>q.toLowerCase().indexOf("noaromatic")&&0>q.toLowerCase().indexOf("strict"))&&(d=this.e.getSmilesExt().getSmilesMatches(D,q,null,null,16|(t?2:1),!r,!u));if(A)return e.addXInt(!u&&0<N?1:N)}break;case 10:u=b.value;if(h.equalsIgnoreCase("spacegroup"))return e.addXObj(this.vwr.findSpaceGroup(u,!1));if(h.equalsIgnoreCase("crystalClass"))return A=u.nextSetBit(0),u=null,2!=a.length&&(u=new JU.BS,u.set(A)),
e.addXList(this.vwr.ms.generateCrystalClass(A,null!=u?this.vwr.ms.getAtomSetCenter(u):10==n.tok?this.vwr.ms.getAtomSetCenter(n.value):JS.SV.ptValue(n)));if(Y&&0!=m.length)return e.addXBs(JU.JmolMolecule.getBitSetForMF(this.vwr.ms.at,u,m));if(Y||v)return e.addXStr(JU.JmolMolecule.getMolecularFormulaAtoms(this.vwr.ms.at,u,Y?null:this.vwr.ms.getCellWeights(u),l));if(j||p){var S=n.asString().equalsIgnoreCase("H"),s=(new Boolean(s|S)).valueOf();return e.addXStr(this.vwr.getSmilesOpt(u,-1,-1,(s?7340032|
(S?9437184:0):0)|(p?34603008:1048576),null))}if(C){var E=null,N=B=A=null,H=3==a.length?JS.SV.sValue(n):null,P=null==H||H.equals("%i")||H.equals("number")?"i":H.equals("%a")||H.equals("name")?"a":H.equals("%D")||H.equals("index")?"D":"?";null==H&&(H="number");n=null;m=m.$replace("map","").trim();h=this.vwr.getSmilesOpt(u,0,0,0,m);if(u.cardinality()!=D.cardinality())n="atom sets are not the same size";else try{0<m.length&&(h="/"+m+"/"+h);var A=this.vwr.getSmilesMatcher().getCorrelationMaps(h,this.vwr.ms.at,
this.vwr.ms.ac,u,137)[0],V=this.vwr.getSmilesMatcher().getCorrelationMaps(h,this.vwr.ms.at,this.vwr.ms.ac,D,137);if(0<V.length){E=U(u.length(),0);for(r=E.length;0<=--r;)E[r]=-1;B=V[0];for(r=A.length;0<=--r;)E[A[r]]=B[r];var N=F(A.length,2,null),Z=JU.BS.copy(u);Z.or(D);var O="?"==P?Array(Z.length()):null;null!=O&&(O=this.e.getCmdExt().getBitsetIdentFull(Z,H,null,!1,2147483647,!1,O));for(var T=this.vwr.ms.at,V=0,r=u.nextSetBit(0);0<=r;r=u.nextSetBit(r+1)){var I=E[r];if(-1!=I){var X;switch(P){case "a":X=
F(-1,[T[r].getAtomName(),T[I].getAtomName()]);break;case "i":X=F(-1,[Integer.$valueOf(T[r].getAtomNumber()),Integer.$valueOf(T[I].getAtomNumber())]);break;case "D":X=F(-1,[Integer.$valueOf(r),Integer.$valueOf(I)]);break;default:X=F(-1,[O[r],O[I]])}N[V++]=X}}}}catch($){if(M($,Exception))n=$.getMessage();else throw $;}var Q=new java.util.HashMap;Q.put("BS1",u);Q.put("BS2",D);Q.put("SMILES",h);null==n?(Q.put("SMILEStoBS1",A),Q.put("SMILEStoBS2",B),Q.put("BS1toBS2",E),Q.put("MAP1to2",N),Q.put("key",H)):
Q.put("error",n);return e.addXMap(Q)}if(x||t)h=1<a.length&&10==a[1].tok?this.vwr.getSmilesOpt(a[1].value,0,0,0,m):m;m=m.toUpperCase();if(L)E=this.vwr.getSmilesMatcher().getCorrelationMaps(h,this.vwr.ms.at,this.vwr.ms.ac,u,(x?1:2)|8),d=0<E.length?this.vwr.ms.getDihedralMap(E[0]):U(0,0);else if(m.equalsIgnoreCase("map"))d=E=this.vwr.getSmilesMatcher().getCorrelationMaps(h,this.vwr.ms.at,this.vwr.ms.ac,u,(x?1:2)|144);else{var W=(x?0<=m.indexOf("OPEN")?5:1:2)|(l&&0==h.length?22020096:0);if(0<=m.indexOf("/MOLECULE/")){for(var aa=
this.vwr.ms.getMolecules(),da=new JU.Lst,r=0;r<aa.length;r++)if(aa[r].atomList.intersects(u)){var ea=this.e.getSmilesExt().getSmilesMatches(h,null,aa[r].atomList,D,W,!l,!1);ea.isEmpty()||da.addLast(ea)}d=da}else d=this.e.getSmilesExt().getSmilesMatches(h,null,u,D,W,!l,!1)}}null==d&&this.e.invArg();return e.addXObj(d)}}catch(ba){if(M(ba,Exception))this.e.evalError(ba.getMessage(),null);else throw ba;}u=new JU.BS;E=c?b.getList():null;if(c&&4!=g&&0!=g){b=a[0];r=0;for(A=E.size();r<A;r++)JS.SV.areEqual(E.get(r),
b)&&u.set(r);d=U(u.cardinality(),0);V=0;for(r=u.nextSetBit(0);0<=r;r=u.nextSetBit(r+1))d[V++]=r+1;return e.addXAI(d)}g=0<=m.indexOf("v");r=0<=m.indexOf("i")||k;k=0<=m.indexOf("m");m=0==h.length;H=!m&&2==a.length;if(c||H){j=H?this.getPatternMatcher():null;D=null;if(H)try{D=j.compile(h,r)}catch(ca){if(M(ca,Exception))this.e.evalError(ca.toString(),null);else throw ca;}j=m?null:JS.SV.strListValue(b);P=m?E.size():j.length;JU.Logger.debugging&&JU.Logger.debug("finding "+h);A=0;O=null;b=k?new JU.Lst:null;
T="";for(r=0;r<P;r++){if(m)switch(I=E.get(r),I.tok){case 6:I=I.getMap().isEmpty()!=f;break;case 7:I=0==I.getList().size()!=f;break;case 4:I=0==I.asString().length!=f;break;default:I=!0}else H?(T=j[r],O=D.matcher(T),I=O.find()):I=0<=JS.SV.sValue(E.get(r)).indexOf(h);if(k&&I||!k&&I==!g)A++,u.set(r),k&&b.addLast(g?T.substring(0,O.start())+T.substring(O.end()):O.group())}if(!c)return k?e.addXStr(1==b.size()?b.get(0):""):g?e.addXBool(1==A):k?e.addXStr(0==A?"":O.group()):e.addXInt(0==A?0:O.start()+1);if(k){c=
Array(A);if(0<A)for(r=j.length;0<=--r;)u.get(r)&&(--A,c[A]=k?b.get(A):j[r]);return e.addXAS(c)}c=new JU.Lst;for(r=u.nextSetBit(0);0<=r;r=u.nextSetBit(r+1))c.addLast(E.get(r));return e.addXList(c)}return j?e.addXStr(this.vwr.getJBR().toStdAmino3(JS.SV.sValue(b))):e.addXInt(JS.SV.sValue(b).indexOf(h)+1)},"JS.ScriptMathProcessor,~A");l(c$,"evaluateGetProperty",function(e,a,b,c){var d=a.length,f=c&&1275082245==b,g=c&&1275068437==b&&0<d,h=1275068449==b;b=0;var k=0==d?0:a[0].tok;if(2==d&&(7==k||6==k||14==
k))return e.addXObj(this.vwr.extractProperty(a[0].value,a[1].value.toString(),-1));var j=c&&1==d&&10==a[0].tok?a[0].value:null,n=null==j&&0<d?JS.SV.sValue(a[b++]):"",k=n,l=k.toLowerCase();!f&&0>l.indexOf("[select ")&&(k=l);var m=!1;k.equals("json")&&d>b&&(m=!0,k=JS.SV.sValue(a[b++]));var p=null;if(c){p=e.getX();switch(p.tok){case 10:break;case 4:return b=p.value,d=Array(3),b.startsWith("$")?(b=b.substring(1),a=this.vwr.shm.getShapeIdFromObjectName(b),0<=a&&(d[0]=b,this.vwr.shm.getShapePropertyData(a,
"index",d),null!=d[1]&&!n.equals("index")&&(b=d[1].intValue(),d[1]=this.vwr.shm.getShapePropertyIndex(a,n.intern(),b)))):(a=JV.JC.shapeTokenIndex(JS.T.getTokFromName(b)),0<=a&&(d[0]=n,d[1]=Integer.$valueOf(-1),this.vwr.shm.getShapePropertyData(a,n.intern(),d))),null==d[1]?e.addXStr(""):e.addXObj(d[1]);case 7:if(g){c=p.getList();h=new java.util.Hashtable;k=1<d?JS.SV.sValue(a[d-1]):null;null!=k&&d--;m=Array(d);for(b=0;b<d;b++)m[b]=JS.SV.sValue(a[b]);b=0;for(a=c.size();b<a;b++)if(n=c.get(b),6==n.tok){p=
n.getMap();j="";for(f=0;f<d;f++)g=p.get(m[f]),j+=(0==f?"":k)+JS.SV.sValue(g);p=h.get(j);null==p&&h.put(j,p=JS.SV.newV(7,new JU.Lst));p.getList().addLast(n)}return e.addXMap(h)}if(null!=j){d=p.getList();a=new JU.Lst;for(b=j.nextSetBit(0);0<=b;b=j.nextSetBit(b+1))a.addLast(d.get(b));return e.addXList(a)}default:return f&&(k="[SELECT "+k+"]"),e.addXObj(this.vwr.extractProperty(p,k,-1))}!l.startsWith("bondinfo")&&(!l.startsWith("atominfo")&&!l.startsWith("modelkitinfo"))&&(k="atomInfo."+k)}n="";if(k.equalsIgnoreCase("fileContents")&&
2<=d){n=JS.SV.sValue(a[1]);for(b=2;b<d;b++)n+="|"+JS.SV.sValue(a[b]);b=d}else if(d>b)switch(a[b].tok){case 10:n=a[b++].value;k.equalsIgnoreCase("bondInfo")&&(d>b&&10==a[b].tok)&&(n=F(-1,[n,a[b].value]));break;case 6:case 4:this.vwr.checkPropertyParameter(k)&&(n=a[b++].value)}if(c&&(n=p.value,0>n.nextSetBit(0)))return e.addXStr("");h&&!c&&(k="auxiliaryInfo.models."+k);k=JU.PT.rep(k,".[","[");c=this.vwr.getProperty(null,k,n);b<d&&(c=this.vwr.extractProperty(c,a,b));return e.addXObj(m?JS.SV.safeJSON("value",
c):JS.SV.isVariableType(c)?c:JU.Escape.toReadable(k,c))},"JS.ScriptMathProcessor,~A,~N,~B");l(c$,"evaluateFormat",function(e,a,b,c){var d=2>b.length||1287653388==a?e.getX():null,f=0==b.length?"%U":7==b[0].tok?null:JS.SV.sValue(b[0]);if(!c&&0<b.length&&null!=d&&10!=d.tok&&null!=f){if(2==b.length){var d=d.getList(),g=b[1].getList();if(null==d||null==g)return!1;d=JS.SV.getVariableList(this.getSublist(d,g))}b=F(-1,[b[0],d]);d=null}if(null==d){a=c?-1:JS.SV.getFormatType(f);if(0<=a&&2!=b.length)return!1;
if(0<=a||2>b.length||7!=b[1].tok)return b=JS.SV.format(b,a),f.equalsIgnoreCase("json")?e.addXStr(b):e.addXObj(b);f=b[1].getList();b=F(-1,[b[0],null]);c=Array(f.size());for(d=c.length;0<=--d;)b[1]=f.get(d),c[d]=JS.SV.format(b,a).toString();return e.addXAS(c)}if(7==d.tok&&null==f)return d=d.getList(),g=b[0].getList(),f=this.getSublist(d,g),e.addXList(f);b=10==d.tok?d.value:null;a=JS.T.tokAttr(a,480);return e.addXObj(null==f?"":null==b?JS.SV.sprintf(JU.PT.formatCheck(f),d):this.e.getCmdExt().getBitsetIdent(b,
f,d.value,!0,d.index,a))},"JS.ScriptMathProcessor,~N,~A,~B");l(c$,"getSublist",function(e,a){for(var b=new JU.Lst,c,d,f,g=0,h=e.size();g<h;g++)switch(d=e.get(g),d.tok){case 6:c=d.getMap();f=new JU.Lst;for(var k=0,j=a.size();k<j;k++)d=c.get(JS.SV.sValue(a.get(k))),f.addLast(null==d?JS.SV.newS(""):d);b.addLast(JS.SV.getVariableList(f));break;case 7:c=new java.util.Hashtable;f=d.getList();k=0;for(j=Math.min(f.size(),a.size());k<j;k++)c.put(JS.SV.sValue(a.get(k)),f.get(k));b.addLast(JS.SV.getVariable(c))}return b},
"JU.Lst,JU.Lst");l(c$,"evaluateList",function(e,a,b){var c=b.length,d=e.getX(),f=7==d.tok,g;switch(a){case 1275335685:return 2==c&&e.addX(d.pushPop(b[0],b[1]))||1==c&&e.addX(d.pushPop(null,b[0]));case 1275334681:return 1==c&&e.addX(d.pushPop(b[0],null))||0==c&&e.addX(d.pushPop(null,null));case 1275069441:if(1!=c&&2!=c)return!1;break;case 1275069447:case 1275069446:break;default:if(1!=c)return!1}var h=null,k=null,j=null;if(2==c){var n=JS.SV.sValue(b[0]);g=b[1];if(1275069441==a){h=f?JS.SV.strListValue(d):
JU.PT.split(JS.SV.sValue(d),"\n");k=7==g.tok?JS.SV.strListValue(g):JU.PT.split(JS.SV.sValue(g),"\n");j=Array(c=Math.max(h.length,k.length));for(d=0;d<c;d++)j[d]=(d>=h.length?"":h[d])+n+(d>=k.length?"":k[d]);return e.addXAS(j)}if(1073742335!=g.tok)return!1;j=d.getList();(c=0==n.length)&&(n=",");if(1275069446==a){k=Array(j.size());for(d=j.size();0<=--d;)if(b=j.get(d).getList(),null==b)k[d]=j.get(d);else{a=new JU.SB;f=0;for(h=b.size();f<h;f++)0<f&&a.append(n),g=b.get(f),a.append(c&&4==g.tok?'"'+JU.PT.rep(g.value,
'"','""')+'"':""+g.asString());k[d]=JS.SV.newS(a.toString())}return e.addXAV(k)}a=new JU.Lst;c&&(n="\x00");k=U(2,0);d=0;for(g=j.size();d<g;d++){f=j.get(d).asString();if(c){k[1]=0;for(h=k[0]=0;;){b=JU.PT.getCSVString(f,k);if(null==b){if(-1==k[1]){f+=++d<g?"\n"+j.get(d).asString():'"';k[1]=h;continue}f=f.substring(0,h)+f.substring(h).$replace(",","\x00");break}f=f.substring(0,h)+f.substring(h,k[0]).$replace(",","\x00")+b+f.substring(k[1]);k[1]=h=k[0]+b.length}}for(var l=f.$plit(n),m=new JU.Lst,f=0,
h=l.length;f<h;f++){b=l[f];if(0>b.indexOf("."))try{m.addLast(JS.SV.newI(Integer.parseInt(b)));continue}catch(p){if(!M(p,Exception))throw p;}else try{m.addLast(JS.SV.getVariable(Float.$valueOf(Float.parseFloat(b))));continue}catch(q){if(!M(q,Exception))throw q;}m.addLast(JS.SV.newS(b))}a.addLast(JS.SV.getVariableList(m))}return e.addXObj(JS.SV.getVariableList(a))}g=0==c?JS.SV.newV(1073742327,"all"):b[0];j=1073742327==g.tok;if(!f&&4!=d.tok)return e.binaryOp(this.opTokenFor(a),d,g);var l=JS.SV.isScalar(d),
v=JS.SV.isScalar(g),x=m=null,n=d.getList(),t=g.getList();f?c=n.size():l?c=2147483647:(h=JU.PT.split(JS.SV.sValue(d),"\n"),m=w(c=h.length,0),JU.PT.parseFloatArrayData(h,m));if(j&&1275069446!=a){j=0;if(f)for(d=c;0<=--d;)j+=JS.SV.fValue(n.get(d));else if(!l)for(d=c;0<=--d;)j+=m[d];return e.addXFloat(j)}if(1275069446==a&&4==g.tok){a=new JU.SB;if(l)a.append(JS.SV.sValue(d));else{b=j?"":g.value.toString();for(d=0;d<c;d++)a.append(0<d?b:"").append(JS.SV.sValue(n.get(d)))}return e.addXStr(a.toString())}var F=
null;v?F=g:7==g.tok?c=Math.min(c,t.size()):(k=JU.PT.split(JS.SV.sValue(g),"\n"),x=w(k.length,0),JU.PT.parseFloatArrayData(k,x),c=Math.min(c,x.length));var R=this.opTokenFor(a);if(f&&j)return j=new JU.Lst,e.addXList(this.addAllLists(d.getList(),j));b=l?d:null;var y,z=2147483647==c;z&&(c=1);for(var C=Array(c),d=0;d<c;d++){y=v?F:7==g.tok?t.get(d):Float.isNaN(x[d])?JS.SV.getVariable(JS.SV.unescapePointOrBitsetAsVariable(k[d])):JS.SV.newF(x[d]);l||(b=f?n.get(d):Float.isNaN(m[d])?JS.SV.getVariable(JS.SV.unescapePointOrBitsetAsVariable(h[d])):
JS.SV.newF(m[d]));1275069446==a&&7!=b.tok&&(j=new JU.Lst,j.addLast(b),b=JS.SV.getVariableList(j));if(!e.binaryOp(R,b,y))return!1;C[d]=e.getX()}return z?e.addXObj(C[0]):e.addXAV(C)},"JS.ScriptMathProcessor,~N,~A");l(c$,"addAllLists",function(e,a){for(var b=e.size(),c=0;c<b;c++){var d=e.get(c);7==d.tok?this.addAllLists(d.getList(),a):a.addLast(d)}return a},"JU.Lst,JU.Lst");l(c$,"evaluateLoad",function(e,a,b){if(1>a.length||3<a.length)return!1;var c=JV.FileManager.fixDOSName(JS.SV.sValue(a[0])),d=1<
a.length&&1073742335==a[1].tok,f=this.vwr.async||2<a.length&&1073742335==a[a.length-1].tok,g=1<a.length&&2==a[1].tok?a[1].asInt():-1;a=1<a.length&&a[1].asString().equalsIgnoreCase("JSON");if(d)return e.addXMap(this.vwr.fm.getFileAsMap(c,null));d=c.startsWith("?");if(JV.Viewer.isJS&&(d||f)){if(b&&d)return e.addXStr("");c=this.e.loadFileAsync("load()_",c,e.oPt,!0)}b=b?this.vwr.fm.getFilePath(c,!1,!1):this.vwr.getFileAsString4(c,g,!1,!1,!0,"script");try{return a?e.addXObj(this.vwr.parseJSON(b)):e.addXStr(b)}catch(h){if(M(h,
Exception))return!1;throw h;}},"JS.ScriptMathProcessor,~A,~B");l(c$,"evaluateMath",function(e,a,b){a=JS.SV.fValue(a[0]);switch(b){case 134218246:a=Math.sqrt(a);break;case 134218244:a=Math.sin(3.141592653589793*a/180);break;case 134218245:a=Math.cos(3.141592653589793*a/180);break;case 134218242:a=180*Math.acos(a)/3.141592653589793}return e.addXFloat(a)},"JS.ScriptMathProcessor,~A,~N");l(c$,"evaluateMeasure",function(e,a,b){var c=0;switch(b){case 1745489939:b=null;for(var d=new JU.Lst,f=w(-1,[3.4028235E38,
3.4028235E38]),g=null,h=null,k=!1,j=!1,n=0,l=!1,m=null,p=0,q=3.4028235E38,v=!1,x=!1,m=0;m<a.length;m++)switch(a[m].tok){case 10:var t=a[m].value;0==t.length()&&(l=!0);d.addLast(t);c++;p++;break;case 8:t=new JU.Point3fi;t.setT(a[m].value);d.addLast(t);c++;break;case 2:case 3:f[n++%2]=JS.SV.fValue(a[m]);break;case 4:t=JS.SV.sValue(a[m]);if(t.startsWith("property_")){b=t;break}t.equalsIgnoreCase("vdw")||t.equalsIgnoreCase("vanderwaals")?q=(m+1<a.length&&2==a[m+1].tok?a[++m].asInt():100)/100:t.equalsIgnoreCase("notConnected")?
j=!0:t.equalsIgnoreCase("connected")?k=!0:t.equalsIgnoreCase("minArray")?v=1<=p:t.equalsIgnoreCase("asArray")||0==t.length?x=1<=p:JM.Measurement.isUnits(t)?h=t.toLowerCase():g=c+":"+t;break;default:return!1}if(2>c||4<c||2<n||j&&k)return!1;if(l||3.4028235E38!=q&&(2!=p||2!=c))return e.addXStr("");m=3.4028235E38==q?new J.atomdata.RadiusData(f,0,null,null):new J.atomdata.RadiusData(null,q,J.atomdata.RadiusData.EnumType.FACTOR,J.c.VDW.AUTO);a=this.vwr.newMeasurementData(null,d).set(0,null,m,b,g,h,null,
k,j,null,!0,0,0,null,NaN).getMeasurements(x,v);return e.addXObj(a);case 134217729:if(3!=(c=a.length)&&4!=c)return!1;break;default:if(2!=(c=a.length))return!1}b=Array(c);for(m=0;m<c;m++)if(null==(b[m]=e.ptValue(a[m],null)))return!1;switch(c){case 2:return e.addXFloat(b[0].distance(b[1]));case 3:return e.addXFloat(JU.Measure.computeAngleABC(b[0],b[1],b[2],!0));case 4:return e.addXFloat(JU.Measure.computeTorsion(b[0],b[1],b[2],b[3],!0))}return!1},"JS.ScriptMathProcessor,~A,~N");l(c$,"evaluateModulation",
function(e,a){var b="",c=NaN,d=null;switch(a.length){case 0:break;case 1:switch(a[0].tok){case 8:d=a[0].value;break;case 4:b=a[0].asString();break;default:c=JS.SV.fValue(a[0])}break;case 2:b=JS.SV.sValue(a[0]);c=JS.SV.fValue(a[1]);break;default:return!1}null==d&&1E6>c&&(d=JU.P3.new3(c,c,c));c=e.getX();c=10==c.tok?c.value:new JU.BS;return e.addXList(this.vwr.ms.getModulationList(c,(b+"D").toUpperCase().charAt(0),d))},"JS.ScriptMathProcessor,~A");l(c$,"evaluatePlane",function(e,a,b){if(134219265==b&&
3!=a.length||134217763==b&&2!=a.length&&3!=a.length&&4!=a.length||0==a.length||4<a.length)return!1;var c,d,f=JS.ScriptMathProcessor.planeValue(a[0]),g,h;switch(a.length){case 1:return 10==a[0].tok&&(a=a[0].value,3==a.cardinality())?(a=this.vwr.ms.getAtomPointVector(a),e.addXPt4(JU.Measure.getPlaneThroughPoints(a.get(0),a.get(1),a.get(2),new JU.V3,new JU.V3,new JU.P4))):null!=f&&e.addXPt4(f);case 2:if(134217763==b){c=JS.ScriptMathProcessor.planeValue(a[1]);if(null==c)return!1;b=new JU.P3;g=new JU.V3;
h=new JU.V3;if(null!=f)return a=JU.Measure.getIntersectionPP(f,c),null==a?e.addXStr(""):e.addXList(a);d=e.ptValue(a[0],null);return null==d?e.addXStr(""):e.addXPt(JU.Measure.getIntersection(d,null,c,b,g,h))}case 3:case 4:switch(b){case 134219265:return e.addXPt4(this.e.getHklPlane(JU.P3.new3(JS.SV.fValue(a[0]),JS.SV.fValue(a[1]),JS.SV.fValue(a[2])),NaN,null));case 134217763:c=e.ptValue(a[0],null);d=e.ptValue(a[1],null);if(null==c||null==d)return e.addXStr("");d=JU.V3.newV(d);d.normalize();f=JS.ScriptMathProcessor.planeValue(a[2]);
if(null!=f)return b=new JU.P3,g=new JU.V3,h=new JU.V3,c=JU.Measure.getIntersection(c,d,f,b,g,h),null==c?e.addXStr(""):e.addXPt(c);b=e.ptValue(a[2],null);if(null==b)return e.addXStr("");g=new JU.V3;b=JU.P3.newP(b);if(3==a.length)return JU.Measure.projectOntoAxis(b,c,d,g),e.addXPt(b);f=JS.SV.fValue(a[3]);a=JU.P3.newP(b);JU.Measure.projectOntoAxis(b,c,d,g);a=a.distance(b);c=new JU.Lst;a==f?c.addLast(b):a<f&&(a=Math.sqrt(f*f-a*a),g.scaleAdd2(a,d,b),c.addLast(JU.P3.newP(g)),g.scaleAdd2(-a,d,b),c.addLast(JU.P3.newP(g)));
return e.addXList(c)}switch(a[0].tok){case 2:case 3:if(3==a.length)return f=JS.SV.fValue(a[0]),b=JS.SV.fValue(a[1]),a=JS.SV.fValue(a[2]),g=JU.V3.new3(0,0,1),d=JU.P3.new3(0,1,0),a=JU.Quat.newVA(d,a),a.getMatrix().rotate(g),d.set(0,0,1),a=JU.Quat.newVA(d,b),a.getMatrix().rotate(g),d.setT(g),d.scale(f),f=new JU.P4,JU.Measure.getPlaneThroughPoint(d,g,f),e.addXPt4(f);break;case 10:case 8:c=e.ptValue(a[0],null);d=e.ptValue(a[1],null);if(null==d)return!1;b=2<a.length&&(10==a[2].tok||8==a[2].tok)?e.ptValue(a[2],
null):null;g=JU.V3.newV(d);if(null==b)return f=new JU.P4,2==a.length||2!=a[2].tok&&3!=a[2].tok&&!a[2].asBoolean()?(b=JU.P3.newP(c),b.add(d),b.scale(0.5),g.sub(c),g.normalize()):1073742335==a[2].tok?b=c:(g.sub(c),b=new JU.P3,b.scaleAdd2(a[2].asFloat(),g,c)),JU.Measure.getPlaneThroughPoint(b,g,f),e.addXPt4(f);f=new JU.V3;a=4==a.length?e.ptValue(a[3],null):null;a=JU.Measure.getDirectedNormalThroughPoints(c,d,b,a,g,f);return e.addXPt4(JU.P4.new4(g.x,g.y,g.z,a))}}if(4!=a.length)return!1;b=JS.SV.fValue(a[0]);
g=JS.SV.fValue(a[1]);c=JS.SV.fValue(a[2]);a=JS.SV.fValue(a[3]);return e.addXPt4(JU.P4.new4(b,g,c,a))},"JS.ScriptMathProcessor,~A,~N");l(c$,"evaluatePoint",function(e,a){switch(a.length){default:return!1;case 1:if(3==a[0].tok||2==a[0].tok)return e.addXInt(a[0].asInt());var b=null;if(7==a[0].tok){var c=a[0].getList(),d=c.size();if(0==d)return!1;switch(c.get(0).tok){case 4:b=c.get(0).value;if(!b.startsWith("{")||v(JU.Escape.uP(b),String))break;for(var b=new JU.Lst,f=0;f<d;f++)b.addLast(JS.SV.getVariable(JU.Escape.uP(JS.SV.sValue(c.get(f)))));
return e.addXList(b)}b="{"+JS.SV.sValue(a[0])+"}"}null==b&&(b=JS.SV.sValue(a[0]));c=JU.Escape.uP(b);return v(c,JU.P3)?e.addXPt(c):e.addXStr(""+c);case 2:switch(a[1].tok){case 1073742334:case 1073742335:switch(a[0].tok){case 8:c=JU.P3.newP(a[0].value);break;case 10:c=this.vwr.ms.getAtomSetCenter(a[0].value);break;default:return!1}1073742335==a[1].tok?(this.vwr.tm.transformPt3f(c,c),c.y=this.vwr.tm.height-c.y,this.vwr.antialiased&&c.scale(0.5)):(this.vwr.antialiased&&c.scale(2),c.y=this.vwr.tm.height-
c.y,this.vwr.tm.unTransformPoint(c,c));break;case 8:d=a[0].getList();if(null==d||4!=d.size())return!1;b=JS.SV.ptValue(a[1]);c=JU.P3.newP(JS.SV.ptValue(d.get(0)));c.scaleAdd2(b.x,JS.SV.ptValue(d.get(1)),c);c.scaleAdd2(b.y,JS.SV.ptValue(d.get(2)),c);c.scaleAdd2(b.z,JS.SV.ptValue(d.get(3)),c);break;default:return!1}return e.addXPt(c);case 3:return e.addXPt(JU.P3.new3(a[0].asFloat(),a[1].asFloat(),a[2].asFloat()));case 4:return e.addXPt4(JU.P4.new4(a[0].asFloat(),a[1].asFloat(),a[2].asFloat(),a[3].asFloat()))}},
"JS.ScriptMathProcessor,~A");l(c$,"evaluatePrompt",function(e,a){if(1!=a.length&&2!=a.length&&3!=a.length)return!1;var b=JS.SV.sValue(a[0]),c=1<a.length&&7==a[1].tok?JS.SV.strListValue(a[1]):null,d=null!=c||1==a.length||3==a.length&&a[2].asBoolean(),f=null!=c?null:2<=a.length?JS.SV.sValue(a[1]):"OK",b=""+this.vwr.prompt(b,f,c,d);return d&&null!=c?e.addXInt(Integer.parseInt(b)+1):e.addXStr(b)},"JS.ScriptMathProcessor,~A");l(c$,"evaluateQuaternion",function(e,a,b){var c=null,d=a.length,f=2147483647,
g=!1;134221850==b&&(1<d&&(4==a[d-1].tok&&a[d-1].value.equalsIgnoreCase("relative"))&&(d--,g=!0),1<d&&(2==a[d-1].tok&&10==a[0].tok)&&(f=a[d-1].asInt(),0>=f&&(f=2147483646),d--));switch(d){case 0:case 1:case 4:break;case 2:if(134221850==b){if(7==a[0].tok&&(7==a[1].tok||1073742335==a[1].tok))break;if(10==a[0].tok&&(2==a[1].tok||10==a[1].tok))break}if(null==(c=e.ptValue(a[0],null))||134221850!=b&&8==a[1].tok)return!1;break;case 3:if(134221850!=b)return!1;if(9==a[0].tok){if(8!=a[2].tok&&10!=a[2].tok)return!1;
break}for(var h=0;3>h;h++)if(8!=a[h].tok&&10!=a[h].tok)return!1;break;default:return!1}var k=h=null,j=null;switch(d){case 0:return e.addXPt4(this.vwr.tm.getRotationQ().toPoint4f());default:if(134221850==b&&7==a[0].tok){b=this.e.getQuaternionArray(a[0].getList(),1073742001);a=JU.Quat.sphereMean(b,null,1E-4);h=v(a,JU.Quat)?a:null;break}else if(134221850==b&&10==a[0].tok)k=this.vwr.getAtomGroupQuaternions(a[0].value,f);else if(11==a[0].tok)h=JU.Quat.newM(a[0].value);else if(9==a[0].tok)j=a[0].value;
else if(j=JS.SV.sValue(a[0]),j=JU.Escape.uP(j.equalsIgnoreCase("best")?this.vwr.getOrientation(1073741864,"best",null).toString():j),!v(j,JU.P4))return!1;134217731==b&&(h=JU.Quat.newVA(JU.P3.new3(j.x,j.y,j.z),j.w));break;case 2:if(134221850==b){if(7==a[0].tok&&7==a[1].tok){b=this.e.getQuaternionArray(a[0].getList(),1073742001);k=this.e.getQuaternionArray(a[1].getList(),1073742001);k=JU.Quat.div(k,b,f,g);break}if(7==a[0].tok&&1073742335==a[1].tok)return b=this.e.getQuaternionArray(a[0].getList(),1073742001),
f=w(1,0),JU.Quat.sphereMean(b,f,1E-4),e.addXFloat(f[0]);if(10==a[0].tok&&10==a[1].tok){b=this.vwr.getAtomGroupQuaternions(a[0].value,2147483647);k=this.vwr.getAtomGroupQuaternions(a[1].value,2147483647);k=JU.Quat.div(k,b,f,g);break}}h=e.ptValue(a[1],null);j=JS.ScriptMathProcessor.planeValue(a[0]);h=null!=h?JU.Quat.getQuaternionFrame(JU.P3.new3(0,0,0),c,h):JU.Quat.newVA(c,JS.SV.fValue(a[1]));break;case 3:if(9==a[0].tok)return f=8==a[2].tok?a[2].value:this.vwr.ms.getAtomSetCenter(a[2].value),e.addXStr(JU.Escape.drawQuat(JU.Quat.newP4(a[0].value),
"q",JS.SV.sValue(a[1]),f,1));b=Array(3);for(h=0;3>h;h++)b[h]=8==a[h].tok?a[h].value:this.vwr.ms.getAtomSetCenter(a[h].value);h=JU.Quat.getQuaternionFrame(b[0],b[1],b[2]);break;case 4:134221850==b?j=JU.P4.new4(JS.SV.fValue(a[1]),JS.SV.fValue(a[2]),JS.SV.fValue(a[3]),JS.SV.fValue(a[0])):h=JU.Quat.newVA(JU.P3.new3(JS.SV.fValue(a[0]),JS.SV.fValue(a[1]),JS.SV.fValue(a[2])),JS.SV.fValue(a[3]))}if(null!=k){if(2147483647!=f){f=new JU.Lst;for(h=0;h<k.length;h++)f.addLast(k[h].toPoint4f());return e.addXList(f)}h=
0<k.length?k[0]:null}return e.addXPt4((null==h?JU.Quat.newP4(j):h).toPoint4f())},"JS.ScriptMathProcessor,~A,~N");l(c$,"evaluateRandom",function(e,a){if(3<a.length)return!1;null==this.rand&&(this.rand=new java.util.Random);var b=0,c=1;switch(a.length){case 3:this.rand.setSeed(W(JS.SV.fValue(a[2])));case 2:c=JS.SV.fValue(a[1]);case 1:b=JS.SV.fValue(a[0]);case 0:break;default:return!1}return e.addXFloat(this.rand.nextFloat()*(c-b)+b)},"JS.ScriptMathProcessor,~A");l(c$,"evaluateRowCol",function(e,a,b){if(1!=
a.length)return!1;a=a[0].asInt()-1;var c=e.getX();switch(c.tok){case 11:if(0>a||2<a)break;c=c.value;switch(b){case 1275068935:return b=w(3,0),c.getRow(a,b),e.addXAF(b);default:return b=w(3,0),c.getColumn(a,b),e.addXAF(b)}case 12:if(0>a||2<a)break;c=c.value;switch(b){case 1275068935:return b=w(4,0),c.getRow(a,b),e.addXAF(b);default:return b=w(4,0),c.getColumn(a,b),e.addXAF(b)}case 7:b=c.getList();for(var c=new JU.Lst,d=0,f=b.size();d<f;d++){var g=b.get(d).getList();if(null==g)return e.addXStr("");
c.addLast(a<g.size()?g.get(a):JS.SV.newS(""))}return e.addXList(c)}return!1},"JS.ScriptMathProcessor,~A,~N");l(c$,"evaluateIn",function(e,a){var b=e.getX();switch(a.length){case 1:var c=a[0].getList();if(null!=c)for(var d=0,f=c.size();d<f;d++)if(JS.SV.areEqual(b,c.get(d)))return e.addXInt(d+1);break;default:for(d=0;d<a.length;d++)if(JS.SV.areEqual(b,a[d]))return e.addXInt(d+1)}return e.addXInt(0)},"JS.ScriptMathProcessor,~A");l(c$,"evaluateReplace",function(e,a){var b=!1,c,d;switch(a.length){case 0:b=
!0;c=d=null;break;case 3:b=JS.SV.bValue(a[2]);case 2:c=JS.SV.sValue(a[0]);d=JS.SV.sValue(a[1]);break;default:return!1}var f=e.getX();if(7==f.tok){for(var f=JS.SV.strListValue(f),g=Array(f.length),h=f.length;0<=--h;)g[h]=null==c?JU.PT.clean(f[h]):b?JU.PT.replaceAllCharacters(f[h],c,d):JU.PT.rep(f[h],c,d);return e.addXAS(g)}f=JS.SV.sValue(f);return e.addXStr(null==c?JU.PT.clean(f):b?JU.PT.replaceAllCharacters(f,c,d):JU.PT.rep(f,c,d))},"JS.ScriptMathProcessor,~A");l(c$,"evaluateScript",function(e,a,
b){if((134222350==b||134238732==b)&&1!=a.length||0==a.length)return!1;var c=JS.SV.sValue(a[0]),d=new JU.SB;switch(b){case 134218759:return 2==a.length?c.equalsIgnoreCase("JSON")&&e.addXObj(this.vwr.parseJSON(JS.SV.sValue(a[1]))):e.addXObj(this.vwr.evaluateExpressionAsVariable(c));case 134222850:a=2==a.length?JS.SV.sValue(a[1]):".";a.equals(".")||d.append(this.vwr.jsEval(a+"\u0001"+c));(a.equals(".")||a.equals("*"))&&this.e.runScriptBuffer(c,d,!0);break;case 134222350:this.e.runScriptBuffer("show "+
c,d,!0);break;case 134238732:return e.addX(this.vwr.jsEvalSV(c))}var c=d.toString(),f;return Float.isNaN(f=JU.PT.parseFloatStrict(c))?e.addXStr(c):0<=c.indexOf(".")?e.addXFloat(f):e.addXInt(JU.PT.parseInt(c))},"JS.ScriptMathProcessor,~A,~N");l(c$,"evaluateSort",function(e,a,b){if(1<a.length)return!1;if(1275068444==b){if(1==a.length&&4==a[0].tok)return e.addX(e.getX().sortMapArray(a[0].asString()));var c=0==a.length?0:a[0].asInt();return e.addX(e.getX().sortOrReverse(c))}b=e.getX();a=0==a.length?null:
a[0];if(4==b.tok){var c=0,d=JS.SV.sValue(b);if(null==a)return e.addXInt(0);a=JS.SV.sValue(a);for(b=0;b<d.length;b++){b=d.indexOf(a,b);if(0>b)break;c++}return e.addXInt(c)}var c=new JU.Lst,f=d=null,g=JS.SV.getVariable(b.value).sortOrReverse(0).getList();if(null==g)return null==a?e.addXStr(""):e.addXInt(0);b=0;for(var h=g.size();b<=h;b++){var k=b==h?null:g.get(b);if(!(null!=a&&null!=k&&!JS.SV.areEqual(k,a)))if(JS.SV.areEqual(k,d))f.intValue++;else{if(null!=d){var j=new JU.Lst;j.addLast(d);j.addLast(f);
c.addLast(JS.SV.getVariableList(j))}f=JS.SV.newI(1);d=k}}return null==a?e.addX(JS.SV.getVariableList(c)):c.isEmpty()?e.addXInt(0):e.addX(c.get(0).getList().get(1))},"JS.ScriptMathProcessor,~A,~N");l(c$,"evaluateString",function(e,a,b){var c=e.getX(),d=0<b.length?JS.SV.sValue(b[0]):1275068932==a?"":"\n";switch(b.length){case 0:break;case 1:if(1073742335==b[0].tok)return e.addX(JS.SV.getVariable(JU.PT.getTokens(c.asString())));break;case 2:if(7==c.tok)break;if(1275069447==a){c=JS.SV.getVariable(JU.PT.split(JU.PT.rep(c.value,
"\n\r","\n").$replace("\r","\n"),"\n"));break}default:return!1}if(7==c.tok&&1275068932!=a&&(1275069447!=a||2==b.length))return e.addX(c),this.evaluateList(e,a,b);b=1275069447==a&&10==c.tok||1275068932==a&&7==c.tok?null:JS.SV.sValue(c);switch(a){case 1275069447:if(10==c.tok){d=c.value;c=this.vwr.ms.mc;b=new JU.Lst;for(a=0;a<c;a++){var f=this.vwr.getModelUndeletedAtomsBitSet(a);f.and(d);b.addLast(JS.SV.getVariable(f))}return e.addXList(b)}return e.addXAS(JU.PT.split(b,d));case 1275069446:return 0<b.length&&
"\n"==b.charAt(b.length-1)&&(b=b.substring(0,b.length-1)),e.addXStr(JU.PT.rep(b,"\n",d));case 1275068932:if(null!=b)return e.addXStr(JU.PT.trim(b,d));c=JS.SV.strListValue(c);for(a=c.length;0<=--a;)c[a]=JU.PT.trim(c[a],d);return e.addXAS(c)}return e.addXStr("")},"JS.ScriptMathProcessor,~N,~A");l(c$,"evaluateSubstructure",function(e,a,b,c){if(0==a.length||c&&1<a.length)return!1;var d=new JU.BS,f=JS.SV.sValue(a[0]);if(0<f.length)try{var g=c?e.getX().value:2==a.length&&10==a[1].tok?a[1].value:this.vwr.getModelUndeletedAtomsBitSet(-1),
d=this.vwr.getSmilesMatcher().getSubstructureSet(f,this.vwr.ms.at,this.vwr.ms.ac,g,134218757==b?1:2)}catch(h){if(M(h,Exception))this.e.evalError(h.getMessage(),null);else throw h;}return e.addXBs(d)},"JS.ScriptMathProcessor,~A,~N,~B");l(c$,"evaluateSymop",function(e,a,b){b=b?e.getX():null;if(null!=b&&10!=b.tok)return!1;var c=null==b?null:b.value;null==c&&1==this.vwr.ms.mc&&(c=this.vwr.getModelUndeletedAtomsBitSet(0));var d=a.length;if(0==d){if(c.isEmpty())return!1;var f=JU.PT.split(JU.PT.trim(this.vwr.getSymTemp().getSpaceGroupInfo(this.vwr.ms,
null,this.vwr.ms.at[c.nextSetBit(0)].mi,!1,null).get("symmetryInfo"),"\n"),"\n"),g=new JU.Lst,h=0;for(b=f.length;h<b;h++)g.addLast(JU.PT.split(f[h],"\t"));return e.addXList(g)}var k=null;b=-2147483648;var j=0;switch(a[0].tok){case 4:k=JS.SV.sValue(a[0]);j++;break;case 12:k=a[0].escape();j++;break;case 2:b=a[0].asInt(),j++}null==c&&(j<d&&10==a[j].tok&&(c=new JU.BS).or(a[j].value),j+1<d&&10==a[j+1].tok&&(null==c?c=new JU.BS:c).or(a[j+1].value));var n=null;if(d>j&&7==a[j].tok){var l=a[j++].getList();
if(3!=l.size())return!1;n=JU.P3.new3(JS.SV.fValue(l.get(0)),JS.SV.fValue(l.get(1)),JS.SV.fValue(l.get(2)))}else d>j&&2==a[j].tok&&JU.SimpleUnitCell.ijkToPoint3f(JS.SV.iValue(a[j++]),n=new JU.P3,0,0);var m=l=null;null!=(l=d>j?e.ptValue(a[j],c):null)&&j++;null!=(m=d>j?e.ptValue(a[j],c):null)&&j++;var p=null!=m&&a.length>j&&-2147483648==b&&2==a[j].tok?a[j].intValue:-1;0<=p&&j++;-2147483648==b&&(b=0);var q=null;null!=k&&(j==d?q=this.vwr.ms.getPointGroupInfo(null):6==a[j].tok&&(q=a[j].getMap()));if(null!=
q){a=k.indexOf(".");c=k.indexOf("^");0<c?p=JU.PT.parseInt(k.substring(c+1)):(c=k.length,p=1);0<a&&c>a+1?(b=JU.PT.parseInt(k.substring(a+1,c)),1>b&&(b=1),c=a):b=1;k=k.substring(0,c);a=q.get(k+"_m");if(null==a)return a=q.get(k),null==a?e.addXStr(""):e.addXObj(a);try{if(v(a,JS.SV))if(g=q.get("center").value,k=a,11==k.tok)f=k.value;else if(7==k.tok)f=k.getList().get(b-1).value;else return!1;else g=q.get("center"),f=v(a,JU.M3)?a:a.get(b-1);b=f;f=JU.M3.newM3(f);if(1<p)for(h=1;h<p;h++)f.mul(b);if(null==
l)return e.addXObj(f);l=JU.P3.newP(l);l.sub(g);f.rotate(l);l.add(g);return e.addXPt(l)}catch(w){if(M(w,Exception))return!1;throw w;}}h=d==j?null!=m?"all":null!=l?"point":"matrix":JS.SV.sValue(a[j++]).toLowerCase();return null!=c&&!c.isEmpty()&&j==a.length&&e.addXObj(this.vwr.getSymmetryInfo(c.nextSetBit(0),k,b,n,l,m,1275068418,h,0,p,0))},"JS.ScriptMathProcessor,~A,~B");l(c$,"evaluateTensor",function(e,a){var b=2==a.length&&1275068445==a[1].tok,c=b?null:e.getX();if(2<a.length||!b&&10!=c.tok)return!1;
var c=c.value,d=b||0==a.length?null:JS.SV.sValue(a[0]).toLowerCase(),f=this.vwr.getNMRCalculation();if("unique".equals(d))return e.addXBs(f.getUniqueTensorSet(c));var g=2>a.length?null:JS.SV.sValue(a[1]).toLowerCase();return b?e.addXObj(a[0].value.getInfo(g)):e.addXList(f.getTensorInfo(d,g,c))},"JS.ScriptMathProcessor,~A");l(c$,"evaluateUserFunction",function(e,a,b,c,d){var f=null;if(d)switch(f=e.getX(),f.tok){case 10:break;case 6:if(0<b.length)return!1;f=f.getMap().get(a);return null==f?e.addXStr(""):
e.addX(f);default:return!1}a=a.toLowerCase();e.wasX=!1;for(var g=new JU.Lst,h=0;h<b.length;h++)g.addLast(b[h]);if(d)return e.addXObj(this.e.getBitsetProperty(f.value,null,c,null,null,f.value,F(-1,[a,g]),!1,f.index,!1));a=this.e.getUserFunctionResult(a,g,null);return null==a?!1:e.addX(a)},"JS.ScriptMathProcessor,~S,~A,~N,~B");l(c$,"evaluateWithin",function(e,a){var b=a.length;if(1>b||5<b)return!1;if(1==b&&10==a[0].tok)return e.addX(a[0]);var c=0,d=a[0].value,f=""+d,g=a[0].tok;4==g&&(g=JS.T.getTokFromName(f));
var h=this.vwr.ms,k=!1,j=!1,n=!1,l=!1,m=null;switch(g){case 1648363544:k=!0,d=null;case 3:case 2:l=!0;if(2>b||3==b&&7==a[1].tok&&7!=a[2].tok)return!1;c=k?100:JS.SV.fValue(a[0]);switch(g=a[1].tok){case 1073742335:case 1073742334:j=a[1].asBoolean();2<b&&JS.SV.sValue(a[2]).equalsIgnoreCase("unitcell")&&(g=1814695966);b=0;break;case 4:g=JS.SV.sValue(a[1]);if(g.startsWith("$"))return e.addXBs(this.getAtomsNearSurface(c,g.substring(1)));if(g.equalsIgnoreCase("group"))n=!0,g=1086324742;else if(g.equalsIgnoreCase("vanderwaals")||
g.equalsIgnoreCase("vdw"))d=null,k=!0,g=1648363544;else if(g.equalsIgnoreCase("unitcell"))g=1814695966;else return!1}break;case 7:1==b&&(d=a[0].asString(),g=0);break;case 1073742328:return 3==b&&v(a[1].value,JU.BS)&&v(a[2].value,JU.BS)&&e.addXBs(this.vwr.getBranchBitSet(a[2].value.nextSetBit(0),a[1].value.nextSetBit(0),!0));case 134218757:case 1237320707:case 134218756:c=null;d=!0;switch(b){case 2:break;case 3:if(d=10==a[2].tok)c=a[2].value;break;default:d=!1}d||this.e.invArg();return e.addXObj(this.e.getSmilesExt().getSmilesMatches(JS.SV.sValue(a[1]),
null,c,null,134218756==g?2:1,e.asBitSet,!1))}if(v(d,String)){if(0==g){g=1073742362;if(2<b)return!1;b=2}}else if(!l)return!1;switch(b){case 1:switch(g){case 136314895:case 2097184:case 1678381065:case 1814695966:return e.addXBs(h.getAtoms(g,null));case 1073741863:return e.addXBs(h.getAtoms(g,""));case 1073742362:return e.addXBs(h.getAtoms(1086324744,f))}return!1;case 2:switch(g){case 1073742362:g=1086324744;break;case 1073741824:case 1086326786:case 1086326785:case 1073741863:case 1086324744:case 1111490587:case 1073742128:case 1073741925:case 1073742189:return e.addXBs(this.vwr.ms.getAtoms(g,
JS.SV.sValue(a[1])));case 1094713349:case 1094713350:return e.addXBs(this.vwr.ms.getAtoms(g,JS.SV.ptValue(a[1])));case 1814695966:c=a[1].getList();if(null==c)return!1;b=b=null;if(4!=c.size())return!1;b=Array(4);for(f=0;4>f;f++)if(null==(b[f]=JS.SV.ptValue(c.get(f))))return!1;b=this.vwr.getSymTemp().getUnitCell(b,!1,null);return e.addXBs(this.vwr.ms.getAtoms(g,b))}break;case 3:switch(g){case 1073742335:case 1073742334:case 1086324742:case 1648363544:case 1814695966:case 134217750:case 134219265:case 1073742329:case 8:case 7:break;
case 1086324744:f=JS.SV.sValue(a[2]);break;default:return!1}}var p=null,d=b=null,q=a.length-1;switch(a[q].tok){case 9:p=a[q].value;break;case 8:b=a[q].value;JS.SV.sValue(a[1]).equalsIgnoreCase("hkl")&&(p=this.e.getHklPlane(b,NaN,null));break;case 7:d=2==q&&7==a[1].tok?a[1].getList():null,b=2==q?JS.SV.ptValue(a[1]):1==q?JU.P3.new3(NaN,0,0):null}if(null!=p)return e.addXBs(h.getAtomsNearPlane(c,p));h=10==a[q].tok?a[q].value:null;if(0<q&&null==b&&null==d&&null==h)return!1;if(1814695966==g)return(null!=
h||null!=b)&&e.addXObj(this.vwr.ms.getUnitCellPointsWithin(c,h,b,j));if(null!=b||null!=d){if(7==a[q].tok){k=a[q].getList();g=Array(k.size());for(f=g.length;0<=--f;)g[f]=JS.SV.ptValue(k.get(f));k=null;if(null!=d){k=Array(d.size());for(f=k.length;0<=--f;)k[f]=JS.SV.ptValue(d.get(f))}d=Array(1);switch(J.bspt.PointIterator.withinDistPoints(c,b,g,k,d)){case 134217751:return e.addXPt(d[0]);case 1073742001:return e.addXList(d[0]);case 1275068418:return e.addXAI(d[0]);case 4:return e.addXStr(d[0]);default:return!1}}return e.addXBs(this.vwr.getAtomsNearPt(c,
b))}if(1086324744==g)return e.addXBs(this.vwr.ms.getSequenceBits(f,h,new JU.BS));null==h&&(h=new JU.BS);if(!l)try{return e.addXBs(this.vwr.ms.getAtoms(g,h))}catch(w){if(M(w,Exception))return!1;throw w;}if(n)return e.addXBs(this.vwr.getGroupsWithin(W(c),h));k&&(m=new J.atomdata.RadiusData(null,10<c?c/100:c,10<c?J.atomdata.RadiusData.EnumType.FACTOR:J.atomdata.RadiusData.EnumType.OFFSET,J.c.VDW.AUTO),0>c&&(c=0));return e.addXBs(this.vwr.ms.getAtomsWithinRadius(c,h,j,m))},"JS.ScriptMathProcessor,~A");
l(c$,"evaluateWrite",function(e,a){switch(a.length){case 0:return!1;case 1:var b=a[0].asString().toUpperCase();if(b.equals("PNGJ"))return e.addXMap(this.vwr.fm.getFileAsMap(null,"PNGJ"));if(JU.PT.isOneOf(b,";ZIP;ZIPALL;JMOL;")){var c=new java.util.Hashtable,d=new JU.OC;c.put("outputChannel",d);this.vwr.createZip(null,b,c);b=JU.Rdr.getBIS(d.toByteArray());c=new java.util.Hashtable;this.vwr.readFileAsMap(b,c,null);return e.addXMap(c)}}return e.addXStr(this.e.getCmdExt().dispatch(134221856,!0,a))},"JS.ScriptMathProcessor,~A");
l(c$,"getAtomsNearSurface",function(e,a){var b=F(-1,[a,null,null]);if(this.e.getShapePropertyData(24,"getVertices",b))return this.getAtomsNearPts(e,b[1],b[2]);b[1]=Integer.$valueOf(0);b[2]=Integer.$valueOf(-1);if(this.e.getShapePropertyData(22,"getCenter",b))return this.vwr.getAtomsNearPt(e,b[2]);b[1]=Float.$valueOf(e);return this.e.getShapePropertyData(21,"getAtomsWithin",b)?b[2]:new JU.BS},"~N,~S");l(c$,"getAtomsNearPts",function(e,a,b){var c=new JU.BS;if(0==a.length||null!=b&&b.isEmpty())return c;
null==b&&(b=JU.BSUtil.setAll(a.length));for(var d=this.vwr.ms.at,f=this.vwr.ms.ac;0<=--f;)for(var g=d[f],h=b.nextSetBit(0);0<=h;h=b.nextSetBit(h+1))if(g.distance(a[h])<e){c.set(f);break}return c},"~N,~A,JU.BS");l(c$,"getMinMax",function(e,a){for(var b=null,c=null,d=0,f=null;;){if(JU.AU.isAF(e)){if(1275068437==a)break;b=e;d=b.length;if(0==d)break}else if(v(e,JU.Lst))if(c=e,d=c.size(),0==d){if(1275068437!=a)break}else{if(1275068437!=a){var g=c.get(0);if(8==g.tok)return this.getMinMaxPoint(c,a);if(4==
g.tok&&g.value.startsWith("{")){b=JS.SV.ptValue(g);if(v(b,JU.P3))return this.getMinMaxPoint(c,a);if(v(b,JU.P4))return this.getMinMaxQuaternion(c,a);break}}}else break;var h,k=!1;switch(a){case 1275068437:f=new java.util.Hashtable;g=h=0;break;case 32:k=!0;g=3.4028235E38;h=2147483647;break;case 64:g=-3.4028235E38;h=-2147483647;break;default:g=h=0}for(var j=0,l=0,w=!0,m=1275068437==a;0<=--d;){var p=null==c?JS.SV.vF:c.get(d),q=m?1:null==b?JS.SV.fValue(p):b[d];if(!Float.isNaN(q))switch(l++,a){case 160:case 192:j+=
q*q;case 128:case 96:g+=q;break;case 1275068437:w=(new Boolean(w&2==p.tok)).valueOf();p=p.asString();q=f.get(p);f.put(p,null==q?new Integer(1):new Integer(q.intValue()+1));break;case 32:case 64:w=(new Boolean(w&2==p.tok)).valueOf(),k==q<g&&(g=q,w&&(h=p.intValue))}}if(1275068437==a)return f;if(0==l)break;switch(a){case 96:g/=l;break;case 192:if(1==l)break;g=Math.sqrt((j-g*g/l)/(l-1));break;case 32:case 64:if(w)return Integer.$valueOf(h);break;case 160:g=j}return Float.$valueOf(g)}return"NaN"},"~O,~N");
l(c$,"getMinMaxPoint",function(e,a){var b=null,c=null,d=0;v(e,Array)?(b=e,d=b.length):v(e,JU.Lst)&&(c=e,d=c.size());if(null==c&&null==b)return"NaN";for(var f=new JU.P3,g=w(d,0),h=0;3>h;h++){for(var k=0;k<d;k++){var j=null==b?JS.SV.ptValue(c.get(k)):b[k];if(null==j)return"NaN";switch(h){case 0:g[k]=j.x;break;case 1:g[k]=j.y;break;case 2:g[k]=j.z}}k=this.getMinMax(g,a);if(!v(k,Number))return"NaN";k=k.floatValue();switch(h){case 0:f.x=k;break;case 1:f.y=k;break;case 2:f.z=k}}return f},"~O,~N");l(c$,
"getMinMaxQuaternion",function(e,a){var b;switch(a){case 32:case 64:case 128:case 160:return"NaN"}for(;;){b=this.e.getQuaternionArray(e,1073742001);if(null==b)break;var c=w(1,0);b=JU.Quat.sphereMean(b,c,1E-4);switch(a){case 96:return b;case 192:return Float.$valueOf(c[0])}break}return"NaN"},"JU.Lst,~N");l(c$,"getPatternMatcher",function(){return null==this.pm?this.pm=J.api.Interface.getUtil("PatternMatcher",this.e.vwr,"script"):this.pm});l(c$,"opTokenFor",function(e){switch(e){case 1275069441:case 1275069446:return JS.T.tokenPlus;
case 1275068931:return JS.T.tokenMinus;case 1275068929:return JS.T.tokenTimes;case 1275068930:return JS.T.tokenMul3;case 1275068928:return JS.T.tokenDivide}return null},"~N");l(c$,"setContactBitSets",function(e,a,b,c,d,f){var g,h;null==a?(a=JU.BSUtil.setAll(this.vwr.ms.ac),JU.BSUtil.andNot(a,this.vwr.slm.bsDeleted),a.andNot(e),g=!1):(h=JU.BSUtil.copy(e),h.or(a),h=this.vwr.ms.getModelBS(h,!1).cardinality(),g=1<h,f&&(1<h&&!this.e.tQuiet)&&this.e.showString(J.i18n.GT.$("Note: More than one model is involved in this contact!")));
if(!e.equals(a)){if(f=!b||e.cardinality()<a.cardinality())h=this.vwr.ms.getAtomsWithinRadius(c,e,g,Float.isNaN(c)?d:null),a.and(h);b&&(h=this.vwr.ms.getAtomsWithinRadius(c,a,g,Float.isNaN(c)?d:null),e.and(h),f||(h=this.vwr.ms.getAtomsWithinRadius(c,e,g,Float.isNaN(c)?d:null),a.and(h)),h=JU.BSUtil.copy(a),h.and(e),h.equals(e)?a.andNot(e):h.equals(a)&&e.andNot(a))}return a},"JU.BS,JU.BS,~B,~N,J.atomdata.RadiusData,~B");c$.t0=c$.prototype.t0=System.currentTimeMillis()})})(Clazz,Clazz.getClassName,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.isAB,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);
