(function(la,ma,na,oa,R,pa,ga,s,ha,ia,ja,S,qa,ka,ra,L,P,sa,F,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,x,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,db,m){ga("JS");ha(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$=ja(function(){this.pm=this.rand=this.e=this.vwr=null;ia(this,arguments)},JS,"MathExt");ka(c$,function(){});m(c$,"init",function(e){this.e=e;this.vwr=this.e.vwr;return this},"~O");m(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 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");m(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:return e.addXObj(this.vwr.getSymTemp().getSpaceGroupInfo(this.vwr.ms,
""+a[0].asString(),-2147483648,!0,b));default:return!1}},"JS.ScriptMathProcessor,~A");m(c$,"evaluatePointGroup",function(e,a){var b=null,c=null,d=NaN,g=NaN,f;switch(a.length){case 4:g=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:f=JS.SV.getBitSet(a[1],!1);c=f.nextSetBit(0);if(0>c||c>=this.vwr.ms.ac||1!=f.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(f=b.length;0<=--f;)b[f]=c.get(f);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(f=b.length;0<=--f;)b[f]=JS.SV.ptValue(h.get(f));break;case 10:f=JS.SV.getBitSet(a[0],!1);h=this.vwr.ms.getAtomPointVector(f);b=Array(h.size());for(f=b.length;0<=--f;)b[f]=h.get(f);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(g)?this.vwr.getFloat(570425384):g,!0);return e.addXMap(b.getPointGroupInfo(-1,null,!0,null,0,1))},"JS.ScriptMathProcessor,~A");m(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 g=0>d?0:a[0].tok,f=null,h=null;switch(g){case 7:h=a[0].getList();break;case 4:var k=a[0].asString();
if(0==k.indexOf("a=")){for(var f=Array(4),j=0;4>j;j++)f[j]=new JU.P3;JU.SimpleUnitCell.setOabc(k,null,f)}else if(0<=k.indexOf(","))return e.addXObj(this.vwr.getV0abc(-1,k))}k=null;j=null!=h;if(null==f&&j&&4>h.size())return!1;var l=j?1:0;null==f&&(!j&&8!=g)&&(k=0>c?null:this.vwr.ms.getUnitCell(this.vwr.ms.at[c].mi),f=null==k?x(-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==f)if(f=Array(4),j)switch(h.size()){case 3:f[0]=new JU.P3;for(j=
0;3>j;j++)f[j+1]=JU.P3.newP(JS.SV.ptValue(h.get(j)));break;case 4:for(j=0;4>j;j++)f[j]=JU.P3.newP(JS.SV.ptValue(h.get(j)));break;case 6:g=F(6,0);for(j=0;6>j;j++)g[j]=h.get(j).asFloat();JU.SimpleUnitCell.setOabc(null,g,f);break;default:return!1}else switch(f[0]=JS.SV.ptValue(a[0]),d){case 3:for(j=1;4>j;j++)(f[j]=JU.P3.newP(JS.SV.ptValue(a[j]))).sub(f[0]);break;case 1:if(h=a[1].getList(),null!=h&&3==h.size()){for(j=0;3>j;j++)f[j+1]=JS.SV.ptValue(h.get(j));break}default:return!1}j=l<=d?a[l].asString():
null;if((h="primitive".equalsIgnoreCase(j))||"conventional".equalsIgnoreCase(j)){a=++l>d?"":a[l].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),f,c))return!1}else"reciprocal".equalsIgnoreCase(j)&&(f=JU.SimpleUnitCell.getReciprocal(f,
null,b),b=1);if(1!=b)for(j=1;4>j;j++)f[j].scale(b);return e.addXObj(f)},"JS.ScriptMathProcessor,~A,~B");m(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(),g=b.getMap(),f=b.getKeys(!1);b=0;for(a=f.length;b<a;b++)if(null==g.get(f[b]).getMap())return!1;b=0;for(a=f.length;b<a;b++){var h=g.get(f[b]),h=h.getMap(),h=JS.SV.deepCopy(h,!0,!1);h.put(d,JS.SV.newS(f[b]));c.addLast(JS.SV.newV(6,h))}return e.addXList(c);case 7:c=new java.util.Hashtable;
d=b.getList();g=a[0].asString();b=0;for(a=d.size();b<a;b++)if(h=d.get(b).getMap(),null==h||null==h.get(g))return!1;b=0;for(a=d.size();b<a;b++)h=d.get(b),h=JS.SV.deepCopy(h.getMap(),!0,!1),f=h.remove(g),c.put(f.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");m(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 g=JS.SV.fValue(a[0]),f=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=F(d.size(),0);null!=b&&(j=JU.AU.createArrayOfHashtable(d.size()));try{for(var l=d.size();0<=--l;)c[l]=JS.SV.fValue(null==b?d.get(l):(j[l]=d.get(l).getMap()).get(b))}catch(r){if(L(r,Exception))return!1;throw r;}}for(var f=Math.max(R(Math.floor((f-g)/h+0.01)),1),d=P(f,0),n=c.length,l=0;l<n;l++){var q=
R(Math.floor((c[l]-g)/h));if(!(0>q||q>=f))if(d[q]++,null!=b){var t=j[l];if(null!=t){t.put("_bin",JS.SV.newI(q));var m=g+h*q,W=m+h;t.put("_binMin",JS.SV.newF(0==q?-3.4028235E38:m));t.put("_binMax",JS.SV.newF(q==f-1?3.4028235E38:W))}}}if(k){k=new JU.Lst;for(l=0;l<f;l++)k.addLast(F(-1,[g+h*l,d[l]]));return e.addXList(k)}return e.addXAI(d)},"JS.ScriptMathProcessor,~A");m(c$,"evaluateCache",function(e,a){return 0<a.length?!1:e.addXMap(this.vwr.fm.cacheList())},"JS.ScriptMathProcessor,~A");m(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())),g=JU.P3.newP(8==a[1].tok?JS.SV.ptValue(a[1]):JU.CU.colorPtFromString(a[1].asString())),f=1073742335==a[3].tok;f&&(d=JU.CU.rgbToHSL(d,!1),g=JU.CU.rgbToHSL(g,!1));var h=new JU.SB,g=JU.V3.newVsub(g,d),k=a[2].asInt();2>k&&(k=20);g.scale(1/(k-1));for(b=0;b<k;b++)h.append(JU.Escape.escapeColor(JU.CU.colorPtToFFRGB(f?JU.CU.hslToRGB(d):d))),d.add(g);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;g=2<a.length?JS.SV.fValue(a[2]):3.4028235E38;f=3<a.length?JS.SV.fValue(a[3]):3.4028235E38;h=3.4028235E38!=f||3.4028235E38!=d&&3.4028235E38==g;3.4028235E38==g&&0==b.length&&(f=d,g=this.vwr.getCurrentColorRange(),d=g[0],g=g[1]);if(c){k=b.substring(1);k=x(-1,[k,null]);if(!this.vwr.shm.getShapePropertyData(24,"colorEncoder",k))return e.addXStr("");k=k[1]}else k.setRange(d,g,d>g);b=k.getColorKey();return h?e.addXPt(JU.CU.colorPtFromInt(k.getArgb(3.4028235E38==
g?d:f),null)):e.addX(JS.SV.getVariableMap(b))},"JS.ScriptMathProcessor,~A");m(c$,"evaluateCompare",function(e,a){if(2>a.length||5<a.length)return!1;var b,c=JS.SV.sValue(a[a.length-1]),d=c.equalsIgnoreCase("stddev"),g=c.equalsIgnoreCase("ISOMER"),f=c.equalsIgnoreCase("BONDS"),h=7==a[0].tok&&7==a[1].tok,k=!h&&!g&&a.length>(d?3:2),j=10==a[0].tok?a[0].value:null,l=10==a[1].tok?a[1].value:null,r=null==j?JS.SV.sValue(a[0]):"",n=null==l?JS.SV.sValue(a[1]):"";b=NaN;try{if(f){if(4!=a.length)return!1;r=JS.SV.sValue(a[2]);
k=r.equalsIgnoreCase("SMILES");try{k&&(r=this.vwr.getSmiles(j))}catch(q){if(L(q,Exception))this.e.evalError(q.getMessage(),null);else throw q;}var t=this.e.getSmilesExt().getFlexFitList(j,l,r,!k);return null==t?e.addXStr(""):e.addXAF(t)}if(g){if(3!=a.length)return!1;if(null==j&&null==l)return e.addXStr(this.vwr.getSmilesMatcher().getRelationship(r,n).toUpperCase());var m=null==j?this.vwr.getSmilesMatcher().getMolecularFormula(r,!1):JU.JmolMolecule.getMolecularFormulaAtoms(this.vwr.ms.at,j,null,!1),
W=null==l?this.vwr.getSmilesMatcher().getMolecularFormula(n,!1):JU.JmolMolecule.getMolecularFormulaAtoms(this.vwr.ms.at,l,null,!1);if(!m.equals(W))return e.addXStr("NONE");null!=j&&(r=this.e.getSmilesExt().getSmilesMatches("/strict///",null,j,null,1,!0,!1));var w;null==l?w=0<this.vwr.getSmilesMatcher().areEqual(n,r):(n=this.e.getSmilesExt().getSmilesMatches("/strict///",null,l,null,1,!0,!1),w=0<=this.e.getSmilesExt().getSmilesMatches("/strict///"+r,null,l,null,1,!0,!1).nextSetBit(0));if(!w){var G=
r+n;if(0<=G.indexOf("/")||0<=G.indexOf("\\")||0<=G.indexOf("@")){if(0<=r.indexOf("@")&&(null!=l||0<=n.indexOf("@"))&&0>r.indexOf("@SP")){var s=r.toLowerCase().indexOf("invertstereo"),r=0<=s?"/strict/"+r.substring(0,s)+r.substring(s+12):"/invertstereo strict/"+r;if(w=null==l?0<this.vwr.getSmilesMatcher().areEqual(r,n):0<=this.e.getSmilesExt().getSmilesMatches(r,null,l,null,1,!0,!1).nextSetBit(0))return e.addXStr("ENANTIOMERS")}if(null==l)w=0<this.vwr.getSmilesMatcher().areEqual("/nostereo/"+n,r);else{var H=
this.e.getSmilesExt().getSmilesMatches("/nostereo/"+r,null,l,null,1,!0,!1);w=0<=H.nextSetBit(0)}if(w)return e.addXStr("DIASTEREOMERS")}return e.addXStr("CONSTITUTIONAL ISOMERS")}if(null==j||null==l)return e.addXStr("IDENTICAL");b=this.e.getSmilesExt().getSmilesCorrelation(j,l,r,null,null,null,null,!1,null,null,!1,1);return e.addXStr(0.2>b?"IDENTICAL":"IDENTICAL or CONFORMATIONAL ISOMERS (RMSD="+b+")")}var A=new JU.M4,n=r=null;if(k){if(null==j||null==l)return!1;var c=JS.SV.sValue(a[2]),B=c.equalsIgnoreCase("MAP"),
k=c.equalsIgnoreCase("SMILES"),v=B||c.equalsIgnoreCase("SMARTS");if(k||v)c=a.length>(d?4:3)?JS.SV.sValue(a[3]):null;var z="H".equalsIgnoreCase(c)||"allH".equalsIgnoreCase(c)||"bestH".equalsIgnoreCase(c),F=!z&&("polyhedra".equalsIgnoreCase(c)||"polyhedron".equalsIgnoreCase(c));if(F)b=this.e.getSmilesExt().mapPolyhedra(j.nextSetBit(0),l.nextSetBit(0),k,A);else{var r=new JU.Lst,n=new JU.Lst,G="all".equalsIgnoreCase(c)||"allH".equalsIgnoreCase(c),D="best".equalsIgnoreCase(c)||"bestH".equalsIgnoreCase(c);
"stddev".equals(c)&&(c=null);v=c;if(null==c||z||G||D){if(!B&&!k||z&&F)return!1;v="/noaromatic"+(G||D?"/":" nostereo/")+this.e.getSmilesExt().getSmilesMatches(z?"H":"",null,j,null,1,!0,!1)}else G=!0;b=this.e.getSmilesExt().getSmilesCorrelation(j,l,v,r,n,A,null,B,null,null,D,(k?1:2)|(!G&&!D?8:0));if(B){var u=r.size();if(0==u)return e.addXStr("");for(var p=R(n.size()/u),H=new JU.Lst,C=0,s=0;C<p;C++){var y=JU.AU.newInt2(u);H.addLast(y);for(l=0;l<u;l++,s++)y[l]=P(-1,[r.get(l).i,n.get(s).i])}return G?e.addXList(H):
0<H.size()?e.addXAII(H.get(0)):e.addXStr("")}}}if(h){var r=this.e.getPointVector(a[0],3),n=this.e.getPointVector(a[1],3),y=3<=a.length?a[2].getList():null,x=a.length;if(null!=y){x--;var N=y.size();if(N!=r.size()||N!=n.size())return!1;for(var T=new JU.Lst,C=0;C<N;C++)T.addLast(r.get(y.get(C).intValue));r=T}switch(x){case 2:break;case 3:if(d)break;default:return!1}null!=r&&(null!=n&&r.size()==n.size())&&(J.api.Interface.getInterface("JU.Eigen",this.vwr,"script"),b=JU.Measure.getTransformMatrix4(r,n,
A,null))}return d||Float.isNaN(b)?e.addXFloat(b):e.addXM4(A.round(1E-7))}catch(E){if(L(E,Exception))return this.e.evalError(null==E.getMessage()?E.toString():E.getMessage(),null),!1;throw E;}},"JS.ScriptMathProcessor,~A");m(c$,"evaluateConnected",function(e,a,b,c){if(5<a.length)return!1;var d=-2147483648,g=2147483647,f=0,h=3.4028235E38,k=65535,j=null,l=null,r=!1,n=!1;switch(b){case 1275203608:l=-2147483648;f=null;if(0<a.length)switch(a[0].tok){case 2:l=a[0].intValue;break;case 4:f=JS.SV.sValue(a[0])}1275203608==
c&&(j=JS.SV.getBitSet(e.getX(),!0));j=x(-1,[Integer.$valueOf(l),f,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;l=a[0].value;a=new JU.Lst;f=this.vwr.ms.at;for(c=j.nextSetBit(0);0<=c;c=j.nextSetBit(c+1)){b=0;h=f[c].bonds;for(n=h.length;0<=--n;)l.get(h[n].getOtherAtom(f[c]).i)&&b++;a.addLast(Integer.$valueOf(b))}return e.addXList(a)}for(c=0;c<a.length;c++){var q=
a[c];switch(q.tok){case 10:if((n=s(q.value,JM.BondSet))&&null!=j)return!1;if(null==j)j=q.value;else if(null==l)l=q.value;else return!1;break;case 4:b=JS.SV.sValue(q);k=b.equalsIgnoreCase("hbond")?30720:JS.ScriptParam.getBondOrderFromString(b);if(131071==k)return!1;break;case 3:r=!0;default:b=q.asInt();q=q.asFloat();if(2147483647!=g)return!1;-2147483648==d?(d=Math.max(b,0),f=q):(g=b,h=q)}}-2147483648==d?(d=1,g=100,f=0.1,h=1E8):2147483647==g&&(g=d,h=f,f=0.1);null==j&&(j=this.vwr.getAllAtoms());r&&null==
l&&(l=j);return null!=l?(a=new JU.BS,this.vwr.makeConnections(f,h,k,1086324745,j,l,a,n,!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,g,k,j))},"JS.ScriptMathProcessor,~A,~N,~N");m(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||!s(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");m(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");m(c$,"evaluateDotDist",function(e,a,b,c){var d=1275069443==b,g,f,h=null;switch(a.length){case 2:if(2147483647==c){g=a[0];f=a[1];break}h=a[1];case 1:g=e.getX();f=a[0];break;default:return!1}a=NaN;try{if(1275069442==b){var k=JU.P3.newP(e.ptValue(g,null));k.cross(k,e.ptValue(f,
null));return e.addXPt(k)}var j=7==f.tok?null:e.ptValue(f,null),l=JS.ScriptMathProcessor.planeValue(f);if(d){b=-2147483648==c?0:c&480;var k=32==b||64==b,r=480==b;switch(g.tok){case 7:case 10:var n=10==g.tok,q=10==f.tok,t=8==f.tok,m=n?g.value:null,s=q?f.value:null,w=n?null:g.getList(),G=q?null:f.getList(),x=k&&null!=h&&h.asBoolean();switch(f.tok){case 10:case 7:case 8:var H=this.vwr.ms.at;if(x){var A=NaN,B=2147483647;if(n){for(var v=m.nextSetBit(0);0<=v;v=m.nextSetBit(v+1)){var z=t?H[v].distanceSquared(j):
this.e.getBitsetProperty(s,G,c,H[v],l,g.value,null,!1,g.index,!1).floatValue();if(!(32==b?z>=A:z<=A))A=z,B=v}return e.addXBs(2147483647==B?new JU.BS:JU.BSUtil.newAndSetBit(B))}for(v=w.size();0<=--v;){var P=JS.SV.ptValue(w.get(v)),z=t?P.distanceSquared(j):this.e.getBitsetProperty(s,G,c,P,l,g.value,null,!1,2147483647,!1).floatValue();if(!(32==b?z>=A:z<=A))A=z,B=v}return e.addXInt(B)}if(r){if(null==s){for(var D=F(m.cardinality(),0),A=0,v=m.nextSetBit(0);0<=v;v=m.nextSetBit(v+1),A++)D[A]=H[v].distance(j);
return e.addXAF(D)}B=F(m.cardinality(),s.cardinality(),0);A=0;for(v=m.nextSetBit(0);0<=v;v=m.nextSetBit(v+1),A++){c=0;for(var u=s.nextSetBit(0);0<=u;u=s.nextSetBit(u+1),c++)B[A][c]=H[v].distance(H[u])}return e.addXAFF(B)}if(k){D=F(n?m.cardinality():w.size(),0);if(n){v=m.nextSetBit(0);for(A=0;0<=v;v=m.nextSetBit(v+1))D[A++]=this.e.getBitsetProperty(s,G,c,H[v],l,g.value,null,!1,g.index,!1).floatValue();return e.addXAF(D)}for(v=D.length;0<=--v;)D[v]=this.e.getBitsetProperty(s,G,c,JS.SV.ptValue(w.get(v)),
l,null,null,!1,2147483647,!1).floatValue();return e.addXAF(D)}return e.addXObj(this.e.getBitsetProperty(m,w,c,j,l,g.value,null,!1,g.index,!1))}}}var p=e.ptValue(g,null),C=JS.ScriptMathProcessor.planeValue(g);d?a=null!=l&&null!=h?JU.Measure.directedDistanceToPlane(p,l,JS.SV.ptValue(h)):null==C?null==l?j.distance(p):JU.Measure.distanceToPlane(l,p):JU.Measure.distanceToPlane(C,j):null!=C&&null!=l?a=C.x*l.x+C.y*l.y+C.z*l.z+C.w*l.w:(null!=C?p=JU.P3.new3(C.x,C.y,C.z):null!=l&&(j=JU.P3.new3(l.x,l.y,l.z)),
a=p.dot(j))}catch(y){if(!L(y,Exception))throw y;}return e.addXFloat(a)},"JS.ScriptMathProcessor,~A,~N,~N");m(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),g=e.ptValue(a[1],null);if(0==b||9!=a[2].tok||null==d||null==g)return!1;var f=JU.Quat.newP4(a[2].value),f=JU.Measure.computeHelicalAxis(d,g,f);return null==f?!1:e.addXObj(JU.Escape.escapeHelical(c,
b,d,g,f))}c=s(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:f=this.getHelixData(c,1073742001);if(null==f)break;return e.addXAS(f)}return!1},"JS.ScriptMathProcessor,~A");m(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(553648144))},"JU.BS,~N");m(c$,"evaluateInChI",function(e,a){var b=e.getX(),c=0<a.length?JS.SV.sValue(a[0]):"",d=JS.SV.getBitSet(b,!0),g=null;null==d&&(g=JS.SV.sValue(b));return e.addXStr(this.vwr.getInchi(d,g,c))},"JS.ScriptMathProcessor,~A");m(c$,"evaluateFind",function(e,a){var b=e.getX(),c=7==b.tok,d=10==b.tok,g=0==a.length,f=0==a.length?0:a[0].tok,h=g||4!=f?"":JS.SV.sValue(a[0]),
k=1<a.length&&1073742334==a[1].tok,j=0==f?0:a[a.length-1].tok,l=0==j?JS.SV.vF:a[a.length-1],r=!c&&1073742335==j,n=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"),q=!c&&!k&&h.equalsIgnoreCase("SEQ");if(h.toUpperCase().startsWith("SMILES/")){h.endsWith("/")||(h+="/");var m=h.substring(6)+"//";JV.JC.isSmilesCanonical(m)?(n="SMILES",h="CHEMICAL"):(h="SMILES",n=m+n)}else h.toUpperCase().startsWith("SMARTS/")&&(h.endsWith("/")||
(h+="/"),n=h.substring(6)+(0==n.length?"//":n),h="SMARTS");var s=!c&&h.equalsIgnoreCase("SMILES"),m=!c&&h.equalsIgnoreCase("SMARTS"),F=!c&&h.equalsIgnoreCase("CHEMICAL"),w=!c&&h.equalsIgnoreCase("MF"),G=!c&&h.equalsIgnoreCase("CELLFORMULA"),R=d&&!c&&h.equalsIgnoreCase("INCHI"),H=d&&!c&&h.equalsIgnoreCase("INCHIKEY"),A=!s&&!m&&10==f&&0<=n.toLowerCase().indexOf("map");try{if(R||H)return H&&(n+=" key"),e.addXStr(this.vwr.getInchi(JS.SV.getBitSet(b,!0),null,n));if(F){var B=d?b.value:null,v=null==B?JS.SV.sValue(b):
this.vwr.getOpenSmiles(B),v=(0==v.length?"":this.vwr.getChemicalInfo(v,n.toLowerCase(),B)).trim();v.startsWith("InChI")&&(v=JU.PT.rep(JU.PT.rep(v,"InChI=",""),"InChIKey=",""));return e.addXStr(v)}if(s||m||d){var d=A?0:s||m?2:1,z=d<a.length&&10==a[d].tok?a[d++].value:null,S="bonds".equalsIgnoreCase(JS.SV.sValue(l)),B=S||r,d=null;switch(b.tok){case 4:var D=JS.SV.sValue(b);if(null!=z||s&&1==a.length)return!1;if(n.equalsIgnoreCase("mf"))d=this.vwr.getSmilesMatcher().getMolecularFormula(D,m);else{var z=
n,u=!0,p=!1;switch(a.length){case 4:u=JS.SV.bValue(a[3]);case 3:p=JS.SV.bValue(a[2])}var C=z.equals("chirality"),y=!p&&(!u||!m&&!C);try{d=this.e.getSmilesExt().getSmilesMatches(z,D,null,null,m?2:1,!p,!u)}catch(X){if(L(X,Exception))return System.out.println(X.getMessage()),e.addXInt(-1);throw X;}var N=C?1:(JU.AU.isAI(d),d.length);0==N&&("MF_FAILED"!==this.vwr.getSmilesMatcher().getLastException()&&0>D.toLowerCase().indexOf("noaromatic")&&0>D.toLowerCase().indexOf("strict"))&&(d=this.e.getSmilesExt().getSmilesMatches(z,
D,null,null,16|(m?2:1),!p,!u));if(y)return e.addXInt(!u&&0<N?1:N)}break;case 10:u=b.value;if(h.equalsIgnoreCase("crystalClass"))return y=u.nextSetBit(0),u=null,2!=a.length&&(u=new JU.BS,u.set(y)),e.addXList(this.vwr.ms.generateCrystalClass(y,null!=u?this.vwr.ms.getAtomSetCenter(u):10==l.tok?this.vwr.ms.getAtomSetCenter(l.value):JS.SV.ptValue(l)));if(w&&0!=n.length)return e.addXBs(JU.JmolMolecule.getBitSetForMF(this.vwr.ms.at,u,n));if(w||G)return e.addXStr(JU.JmolMolecule.getMolecularFormulaAtoms(this.vwr.ms.at,
u,w?null:this.vwr.ms.getCellWeights(u),r));if(j||q){var T=l.asString().equalsIgnoreCase("H"),B=(new Boolean(B|T)).valueOf();return e.addXStr(this.vwr.getSmilesOpt(u,-1,-1,(B?7340032|(T?9437184:0):0)|(q?34603008:1048576),null))}if(A){var E=null,C=D=y=null,K=3==a.length?JS.SV.sValue(l):null,V=null==K||K.equals("%i")||K.equals("number")?"i":K.equals("%a")||K.equals("name")?"a":K.equals("%D")||K.equals("index")?"D":"?";null==K&&(K="number");l=null;n=n.$replace("map","").trim();h=this.vwr.getSmilesOpt(u,
0,0,0,n);if(u.cardinality()!=z.cardinality())l="atom sets are not the same size";else try{0<n.length&&(h="/"+n+"/"+h);var y=this.vwr.getSmilesMatcher().getCorrelationMaps(h,this.vwr.ms.at,this.vwr.ms.ac,u,137)[0],ca=this.vwr.getSmilesMatcher().getCorrelationMaps(h,this.vwr.ms.at,this.vwr.ms.ac,z,137);if(0<ca.length){E=P(u.length(),0);for(p=E.length;0<=--p;)E[p]=-1;D=ca[0];for(p=y.length;0<=--p;)E[y[p]]=D[p];var C=x(y.length,2,null),Y=JU.BS.copy(u);Y.or(z);var M="?"==V?Array(Y.length()):null;null!=
M&&(M=this.e.getCmdExt().getBitsetIdentFull(Y,K,null,!1,2147483647,!1,M));for(var Q=this.vwr.ms.at,N=0,p=u.nextSetBit(0);0<=p;p=u.nextSetBit(p+1)){var I=E[p];if(-1!=I){var U;switch(V){case "a":U=x(-1,[Q[p].getAtomName(),Q[I].getAtomName()]);break;case "i":U=x(-1,[Integer.$valueOf(Q[p].getAtomNumber()),Integer.$valueOf(Q[I].getAtomNumber())]);break;case "D":U=x(-1,[Integer.$valueOf(p),Integer.$valueOf(I)]);break;default:U=x(-1,[M[p],M[I]])}C[N++]=U}}}}catch(Z){if(L(Z,Exception))l=Z.getMessage();else throw Z;
}var O=new java.util.HashMap;O.put("BS1",u);O.put("BS2",z);O.put("SMILES",h);null==l?(O.put("SMILEStoBS1",y),O.put("SMILEStoBS2",D),O.put("BS1toBS2",E),O.put("MAP1to2",C),O.put("key",K)):O.put("error",l);return e.addXMap(O)}if(s||m)h=1<a.length&&10==a[1].tok?this.vwr.getSmilesOpt(a[1].value,0,0,0,n):n;n=n.toUpperCase();if(S)E=this.vwr.getSmilesMatcher().getCorrelationMaps(h,this.vwr.ms.at,this.vwr.ms.ac,u,(s?1:2)|8),d=0<E.length?this.vwr.ms.getDihedralMap(E[0]):P(0,0);else if(n.equalsIgnoreCase("map"))d=
E=this.vwr.getSmilesMatcher().getCorrelationMaps(h,this.vwr.ms.at,this.vwr.ms.ac,u,(s?1:2)|144);else{var da=(s?0<=n.indexOf("OPEN")?5:1:2)|(r&&0==h.length?22020096:0);if(0<=n.indexOf("/MOLECULE/")){for(var $=this.vwr.ms.getMolecules(),ea=new JU.Lst,p=0;p<$.length;p++)if($[p].atomList.intersects(u)){var fa=this.e.getSmilesExt().getSmilesMatches(h,null,$[p].atomList,z,da,!r,!1);fa.isEmpty()||ea.addLast(fa)}d=ea}else d=this.e.getSmilesExt().getSmilesMatches(h,null,u,z,da,!r,!1)}}null==d&&this.e.invArg();
return e.addXObj(d)}}catch(aa){if(L(aa,Exception))this.e.evalError(aa.getMessage(),null);else throw aa;}u=new JU.BS;E=c?b.getList():null;if(c&&4!=f&&0!=f){b=a[0];p=0;for(y=E.size();p<y;p++)JS.SV.areEqual(E.get(p),b)&&u.set(p);d=P(u.cardinality(),0);N=0;for(p=u.nextSetBit(0);0<=p;p=u.nextSetBit(p+1))d[N++]=p+1;return e.addXAI(d)}f=0<=n.indexOf("v");p=0<=n.indexOf("i")||k;k=0<=n.indexOf("m");n=0==h.length;K=!n&&2==a.length;if(c||K){j=K?this.getPatternMatcher():null;z=null;if(K)try{z=j.compile(h,p)}catch(ba){if(L(ba,
Exception))this.e.evalError(ba.toString(),null);else throw ba;}j=n?null:JS.SV.strListValue(b);V=n?E.size():j.length;JU.Logger.debugging&&JU.Logger.debug("finding "+h);y=0;M=null;b=k?new JU.Lst:null;Q="";for(p=0;p<V;p++){if(n)switch(I=E.get(p),I.tok){case 6:I=I.getMap().isEmpty()!=g;break;case 7:I=0==I.getList().size()!=g;break;case 4:I=0==I.asString().length!=g;break;default:I=!0}else K?(Q=j[p],M=z.matcher(Q),I=M.find()):I=0<=JS.SV.sValue(E.get(p)).indexOf(h);if(k&&I||!k&&I==!f)y++,u.set(p),k&&b.addLast(f?
Q.substring(0,M.start())+Q.substring(M.end()):M.group())}if(!c)return k?e.addXStr(1==b.size()?b.get(0):""):f?e.addXBool(1==y):k?e.addXStr(0==y?"":M.group()):e.addXInt(0==y?0:M.start()+1);if(k){c=Array(y);if(0<y)for(p=j.length;0<=--p;)u.get(p)&&(--y,c[y]=k?b.get(y):j[p]);return e.addXAS(c)}c=new JU.Lst;for(p=u.nextSetBit(0);0<=p;p=u.nextSetBit(p+1))c.addLast(E.get(p));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");
m(c$,"evaluateGetProperty",function(e,a,b,c){var d=a.length,g=c&&1275082245==b,f=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,l=null==j&&0<d?JS.SV.sValue(a[b++]):"",k=l,r=k.toLowerCase();!g&&0>r.indexOf("[select ")&&(k=r);var n=!1;k.equals("json")&&d>b&&(n=!0,k=JS.SV.sValue(a[b++]));var m=null;if(c){m=e.getX();switch(m.tok){case 10:break;
case 4:return b=m.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]&&!l.equals("index")&&(b=d[1].intValue(),d[1]=this.vwr.shm.getShapePropertyIndex(a,l.intern(),b)))):(a=JV.JC.shapeTokenIndex(JS.T.getTokFromName(b)),0<=a&&(d[0]=l,d[1]=Integer.$valueOf(-1),this.vwr.shm.getShapePropertyData(a,l.intern(),d))),null==d[1]?e.addXStr(""):e.addXObj(d[1]);case 7:if(f){c=m.getList();h=new java.util.Hashtable;
k=1<d?JS.SV.sValue(a[d-1]):null;null!=k&&d--;n=Array(d);for(b=0;b<d;b++)n[b]=JS.SV.sValue(a[b]);b=0;for(a=c.size();b<a;b++)if(l=c.get(b),6==l.tok){m=l.getMap();j="";for(g=0;g<d;g++)f=m.get(n[g]),j+=(0==g?"":k)+JS.SV.sValue(f);m=h.get(j);null==m&&h.put(j,m=JS.SV.newV(7,new JU.Lst));m.getList().addLast(l)}return e.addXMap(h)}if(null!=j){d=m.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 g&&(k="[SELECT "+k+"]"),e.addXObj(this.vwr.extractProperty(m,
k,-1))}!r.startsWith("bondinfo")&&(!r.startsWith("atominfo")&&!r.startsWith("modelkitinfo"))&&(k="atomInfo."+k)}l="";if(k.equalsIgnoreCase("fileContents")&&2<=d){l=JS.SV.sValue(a[1]);for(b=2;b<d;b++)l+="|"+JS.SV.sValue(a[b]);b=d}else if(d>b)switch(a[b].tok){case 10:l=a[b++].value;k.equalsIgnoreCase("bondInfo")&&(d>b&&10==a[b].tok)&&(l=x(-1,[l,a[b].value]));break;case 6:case 4:this.vwr.checkPropertyParameter(k)&&(l=a[b++].value)}if(c&&(l=m.value,0>l.nextSetBit(0)))return e.addXStr("");h&&!c&&(k="auxiliaryInfo.models."+
k);k=JU.PT.rep(k,".[","[");c=this.vwr.getProperty(null,k,l);b<d&&(c=this.vwr.extractProperty(c,a,b));return e.addXObj(n?JS.SV.safeJSON("value",c):JS.SV.isVariableType(c)?c:JU.Escape.toReadable(k,c))},"JS.ScriptMathProcessor,~A,~N,~B");m(c$,"evaluateFormat",function(e,a,b,c){var d=2>b.length||1287653388==a?e.getX():null,g=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!=g){if(2==b.length){var d=d.getList(),f=b[1].getList();if(null==d||null==f)return!1;
d=JS.SV.getVariableList(this.getSublist(d,f))}b=x(-1,[b[0],d]);d=null}if(null==d){a=c?-1:JS.SV.getFormatType(g);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),g.equalsIgnoreCase("json")?e.addXStr(b):e.addXObj(b);g=b[1].getList();b=x(-1,[b[0],null]);c=Array(g.size());for(d=c.length;0<=--d;)b[1]=g.get(d),c[d]=JS.SV.format(b,a).toString();return e.addXAS(c)}if(7==d.tok&&null==g)return d=d.getList(),f=b[0].getList(),g=this.getSublist(d,f),e.addXList(g);b=10==
d.tok?d.value:null;a=JS.T.tokAttr(a,480);return e.addXObj(null==g?"":null==b?JS.SV.sprintf(JU.PT.formatCheck(g),d):this.e.getCmdExt().getBitsetIdent(b,g,d.value,!0,d.index,a))},"JS.ScriptMathProcessor,~N,~A,~B");m(c$,"getSublist",function(e,a){for(var b=new JU.Lst,c,d,g,f=0,h=e.size();f<h;f++)switch(d=e.get(f),d.tok){case 6:c=d.getMap();g=new JU.Lst;for(var k=0,j=a.size();k<j;k++)d=c.get(JS.SV.sValue(a.get(k))),g.addLast(null==d?JS.SV.newS(""):d);b.addLast(JS.SV.getVariableList(g));break;case 7:c=
new java.util.Hashtable;g=d.getList();k=0;for(j=Math.min(g.size(),a.size());k<j;k++)c.put(JS.SV.sValue(a.get(k)),g.get(k));b.addLast(JS.SV.getVariable(c))}return b},"JU.Lst,JU.Lst");m(c$,"evaluateList",function(e,a,b){var c=b.length,d=e.getX(),g=7==d.tok,f;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 l=JS.SV.sValue(b[0]);f=b[1];if(1275069441==a){h=g?JS.SV.strListValue(d):JU.PT.split(JS.SV.sValue(d),"\n");k=7==f.tok?JS.SV.strListValue(f):JU.PT.split(JS.SV.sValue(f),"\n");j=Array(c=Math.max(h.length,k.length));for(d=0;d<c;d++)j[d]=(d>=h.length?"":h[d])+l+(d>=k.length?"":k[d]);return e.addXAS(j)}if(1073742335!=f.tok)return!1;j=d.getList();(c=0==l.length)&&(l=",");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;g=0;for(h=b.size();g<h;g++)0<g&&a.append(l),f=b.get(g),a.append(c&&4==f.tok?'"'+JU.PT.rep(f.value,'"','""')+'"':""+f.asString());k[d]=JS.SV.newS(a.toString())}return e.addXAV(k)}a=new JU.Lst;c&&(l="\x00");k=P(2,0);d=0;for(f=j.size();d<f;d++){g=j.get(d).asString();if(c){k[1]=0;for(h=k[0]=0;;){b=JU.PT.getCSVString(g,k);if(null==b){if(-1==k[1]){g+=++d<f?"\n"+j.get(d).asString():'"';k[1]=h;continue}g=g.substring(0,h)+g.substring(h).$replace(",","\x00");break}g=g.substring(0,
h)+g.substring(h,k[0]).$replace(",","\x00")+b+g.substring(k[1]);k[1]=h=k[0]+b.length}}for(var m=g.$plit(l),n=new JU.Lst,g=0,h=m.length;g<h;g++){b=m[g];if(0>b.indexOf("."))try{n.addLast(JS.SV.newI(Integer.parseInt(b)));continue}catch(q){if(!L(q,Exception))throw q;}else try{n.addLast(JS.SV.getVariable(Float.$valueOf(Float.parseFloat(b))));continue}catch(t){if(!L(t,Exception))throw t;}n.addLast(JS.SV.newS(b))}a.addLast(JS.SV.getVariableList(n))}return e.addXObj(JS.SV.getVariableList(a))}f=0==c?JS.SV.newV(1073742327,
"all"):b[0];j=1073742327==f.tok;if(!g&&4!=d.tok)return e.binaryOp(this.opTokenFor(a),d,f);var m=JS.SV.isScalar(d),s=JS.SV.isScalar(f),x=n=null,l=d.getList(),w=f.getList();g?c=l.size():m?c=2147483647:(h=JU.PT.split(JS.SV.sValue(d),"\n"),n=F(c=h.length,0),JU.PT.parseFloatArrayData(h,n));if(j&&1275069446!=a){j=0;if(g)for(d=c;0<=--d;)j+=JS.SV.fValue(l.get(d));else if(!m)for(d=c;0<=--d;)j+=n[d];return e.addXFloat(j)}if(1275069446==a&&4==f.tok){a=new JU.SB;if(m)a.append(JS.SV.sValue(d));else{b=j?"":f.value.toString();
for(d=0;d<c;d++)a.append(0<d?b:"").append(JS.SV.sValue(l.get(d)))}return e.addXStr(a.toString())}var G=null;s?G=f:7==f.tok?c=Math.min(c,w.size()):(k=JU.PT.split(JS.SV.sValue(f),"\n"),x=F(k.length,0),JU.PT.parseFloatArrayData(k,x),c=Math.min(c,x.length));var R=this.opTokenFor(a);if(g&&j)return j=new JU.Lst,e.addXList(this.addAllLists(d.getList(),j));b=m?d:null;var H,A=2147483647==c;A&&(c=1);for(var B=Array(c),d=0;d<c;d++){H=s?G:7==f.tok?w.get(d):Float.isNaN(x[d])?JS.SV.getVariable(JS.SV.unescapePointOrBitsetAsVariable(k[d])):
JS.SV.newF(x[d]);m||(b=g?l.get(d):Float.isNaN(n[d])?JS.SV.getVariable(JS.SV.unescapePointOrBitsetAsVariable(h[d])):JS.SV.newF(n[d]));1275069446==a&&7!=b.tok&&(j=new JU.Lst,j.addLast(b),b=JS.SV.getVariableList(j));if(!e.binaryOp(R,b,H))return!1;B[d]=e.getX()}return A?e.addXObj(B[0]):e.addXAV(B)},"JS.ScriptMathProcessor,~N,~A");m(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");m(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,g=this.vwr.async||2<a.length&&1073742335==a[a.length-1].tok,f=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||g)){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,f,!1,!1,!0,"script");try{return a?e.addXObj(this.vwr.parseJSON(b)):e.addXStr(b)}catch(h){if(L(h,Exception))return!1;throw h;}},"JS.ScriptMathProcessor,~A,~B");m(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");
m(c$,"evaluateMeasure",function(e,a,b){var c=0;switch(b){case 1745489939:b=null;for(var d=new JU.Lst,g=F(-1,[3.4028235E38,3.4028235E38]),f=null,h=null,k=!1,j=!1,l=0,m=!1,n=null,q=0,t=3.4028235E38,s=!1,x=!1,n=0;n<a.length;n++)switch(a[n].tok){case 10:var w=a[n].value;0==w.length()&&(m=!0);d.addLast(w);c++;q++;break;case 8:w=new JU.Point3fi;w.setT(a[n].value);d.addLast(w);c++;break;case 2:case 3:g[l++%2]=JS.SV.fValue(a[n]);break;case 4:w=JS.SV.sValue(a[n]);if(w.startsWith("property_")){b=w;break}w.equalsIgnoreCase("vdw")||
w.equalsIgnoreCase("vanderwaals")?t=(n+1<a.length&&2==a[n+1].tok?a[++n].asInt():100)/100:w.equalsIgnoreCase("notConnected")?j=!0:w.equalsIgnoreCase("connected")?k=!0:w.equalsIgnoreCase("minArray")?s=1<=q:w.equalsIgnoreCase("asArray")||0==w.length?x=1<=q:JM.Measurement.isUnits(w)?h=w.toLowerCase():f=c+":"+w;break;default:return!1}if(2>c||4<c||2<l||j&&k)return!1;if(m||3.4028235E38!=t&&(2!=q||2!=c))return e.addXStr("");n=3.4028235E38==t?new J.atomdata.RadiusData(g,0,null,null):new J.atomdata.RadiusData(null,
t,J.atomdata.RadiusData.EnumType.FACTOR,J.c.VDW.AUTO);a=this.vwr.newMeasurementData(null,d).set(0,null,n,b,f,h,null,k,j,null,!0,0,0,null,NaN).getMeasurements(x,s);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(n=0;n<c;n++)if(null==(b[n]=e.ptValue(a[n],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");m(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");m(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,g=JS.ScriptMathProcessor.planeValue(a[0]),f,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!=g&&e.addXPt4(g);case 2:if(134217763==
b){c=JS.ScriptMathProcessor.planeValue(a[1]);if(null==c)return!1;b=new JU.P3;f=new JU.V3;h=new JU.V3;if(null!=g)return a=JU.Measure.getIntersectionPP(g,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,f,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,!1));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();g=JS.ScriptMathProcessor.planeValue(a[2]);if(null!=g)return b=new JU.P3,f=new JU.V3,h=new JU.V3,c=JU.Measure.getIntersection(c,d,g,b,f,h),null==c?e.addXStr(""):e.addXPt(c);b=e.ptValue(a[2],null);if(null==b)return e.addXStr("");f=new JU.V3;b=JU.P3.newP(b);if(3==a.length)return JU.Measure.projectOntoAxis(b,c,d,f),e.addXPt(b);g=JS.SV.fValue(a[3]);a=JU.P3.newP(b);JU.Measure.projectOntoAxis(b,c,d,f);a=a.distance(b);c=new JU.Lst;
a==g?c.addLast(b):a<g&&(a=Math.sqrt(g*g-a*a),f.scaleAdd2(a,d,b),c.addLast(JU.P3.newP(f)),f.scaleAdd2(-a,d,b),c.addLast(JU.P3.newP(f)));return e.addXList(c)}switch(a[0].tok){case 2:case 3:if(3==a.length)return g=JS.SV.fValue(a[0]),b=JS.SV.fValue(a[1]),a=JS.SV.fValue(a[2]),f=JU.V3.new3(0,0,1),d=JU.P3.new3(0,1,0),a=JU.Quat.newVA(d,a),a.getMatrix().rotate(f),d.set(0,0,1),a=JU.Quat.newVA(d,b),a.getMatrix().rotate(f),d.setT(f),d.scale(g),g=new JU.P4,JU.Measure.getPlaneThroughPoint(d,f,g),e.addXPt4(g);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;f=JU.V3.newV(d);if(null==b)return g=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),f.sub(c),f.normalize()):1073742335==a[2].tok?b=c:(f.sub(c),b=new JU.P3,b.scaleAdd2(a[2].asFloat(),f,c)),JU.Measure.getPlaneThroughPoint(b,f,g),e.addXPt4(g);g=new JU.V3;a=4==a.length?e.ptValue(a[3],null):null;a=
JU.Measure.getDirectedNormalThroughPoints(c,d,b,a,f,g);return e.addXPt4(JU.P4.new4(f.x,f.y,f.z,a))}}if(4!=a.length)return!1;b=JS.SV.fValue(a[0]);f=JS.SV.fValue(a[1]);c=JS.SV.fValue(a[2]);a=JS.SV.fValue(a[3]);return e.addXPt4(JU.P4.new4(b,f,c,a))},"JS.ScriptMathProcessor,~A,~N");m(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("{")||s(JU.Escape.uP(b),String))break;for(var b=new JU.Lst,g=0;g<d;g++)b.addLast(JS.SV.getVariable(JU.Escape.uP(JS.SV.sValue(c.get(g)))));return e.addXList(b)}b="{"+JS.SV.sValue(a[0])+"}"}null==b&&(b=JS.SV.sValue(a[0]));c=JU.Escape.uP(b);return s(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");m(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(),g=null!=c?null:2<=a.length?JS.SV.sValue(a[1]):"OK",b=""+this.vwr.prompt(b,g,c,d);return d&&null!=c?e.addXInt(Integer.parseInt(b)+
1):e.addXStr(b)},"JS.ScriptMathProcessor,~A");m(c$,"evaluateQuaternion",function(e,a,b){var c=null,d=a.length,g=2147483647,f=!1;134221850==b&&(1<d&&(4==a[d-1].tok&&a[d-1].value.equalsIgnoreCase("relative"))&&(d--,f=!0),1<d&&(2==a[d-1].tok&&10==a[0].tok)&&(g=a[d-1].asInt(),0>=g&&(g=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=s(a,JU.Quat)?a:null;break}else if(134221850==b&&10==a[0].tok)k=this.vwr.getAtomGroupQuaternions(a[0].value,
g);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.getOrientationText(1073741864,"best",null).toString():j),!s(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,g,f);break}if(7==
a[0].tok&&1073742335==a[1].tok)return b=this.e.getQuaternionArray(a[0].getList(),1073742001),g=F(1,0),JU.Quat.sphereMean(b,g,1E-4),e.addXFloat(g[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,g,f);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 g=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]),g,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!=g){g=new JU.Lst;for(h=0;h<k.length;h++)g.addLast(k[h].toPoint4f());return e.addXList(g)}h=0<k.length?k[0]:null}return e.addXPt4((null==h?JU.Quat.newP4(j):h).toPoint4f())},"JS.ScriptMathProcessor,~A,~N");m(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(S(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");m(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=F(3,0),c.getRow(a,b),e.addXAF(b);default:return b=F(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=F(4,0),c.getRow(a,b),e.addXAF(b);default:return b=F(4,0),c.getColumn(a,
b),e.addXAF(b)}case 7:b=c.getList();for(var c=new JU.Lst,d=0,g=b.size();d<g;d++){var f=b.get(d).getList();if(null==f)return e.addXStr("");c.addLast(a<f.size()?f.get(a):JS.SV.newS(""))}return e.addXList(c)}return!1},"JS.ScriptMathProcessor,~A,~N");m(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,g=c.size();d<g;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");m(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 g=e.getX();if(7==g.tok){for(var g=JS.SV.strListValue(g),f=Array(g.length),h=g.length;0<=--h;)f[h]=null==c?JU.PT.clean(g[h]):b?JU.PT.replaceAllCharacters(g[h],c,d):JU.PT.rep(g[h],c,d);return e.addXAS(f)}g=JS.SV.sValue(g);return e.addXStr(null==c?JU.PT.clean(g):
b?JU.PT.replaceAllCharacters(g,c,d):JU.PT.rep(g,c,d))},"JS.ScriptMathProcessor,~A");m(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(),g;return Float.isNaN(g=JU.PT.parseFloatStrict(c))?e.addXStr(c):0<=c.indexOf(".")?e.addXFloat(g):e.addXInt(JU.PT.parseInt(c))},"JS.ScriptMathProcessor,~A,~N");m(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,g=d=null,f=JS.SV.getVariable(b.value).sortOrReverse(0).getList();if(null==f)return null==a?e.addXStr(""):e.addXInt(0);b=0;for(var h=f.size();b<=h;b++){var k=b==h?null:f.get(b);if(!(null!=a&&null!=k&&!JS.SV.areEqual(k,
a)))if(JS.SV.areEqual(k,d))g.intValue++;else{if(null!=d){var j=new JU.Lst;j.addLast(d);j.addLast(g);c.addLast(JS.SV.getVariableList(j))}g=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");m(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 g=this.vwr.getModelUndeletedAtomsBitSet(a);g.and(d);b.addLast(JS.SV.getVariable(g))}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");m(c$,"evaluateSubstructure",function(e,a,b,c){if(0==a.length||c&&1<a.length)return!1;var d=new JU.BS,g=JS.SV.sValue(a[0]);if(0<g.length)try{var f=c?e.getX().value:2==a.length&&
10==a[1].tok?a[1].value:this.vwr.getModelUndeletedAtomsBitSet(-1),d=this.vwr.getSmilesMatcher().getSubstructureSet(g,this.vwr.ms.at,this.vwr.ms.ac,f,134218757==b?1:2)}catch(h){if(L(h,Exception))this.e.evalError(h.getMessage(),null);else throw h;}return e.addXBs(d)},"JS.ScriptMathProcessor,~A,~N,~B");m(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 g=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"),f=new JU.Lst,h=0;for(b=g.length;h<b;h++)f.addLast(JU.PT.split(g[h],"\t"));return e.addXList(f)}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 l=null;if(d>j&&7==a[j].tok){var m=a[j++].getList();if(3!=m.size())return!1;l=JU.P3.new3(JS.SV.fValue(m.get(0)),JS.SV.fValue(m.get(1)),JS.SV.fValue(m.get(2)))}else d>j&&2==a[j].tok&&JU.SimpleUnitCell.ijkToPoint3f(JS.SV.iValue(a[j++]),l=new JU.P3,0,0);var n=m=null;null!=(m=d>j?e.ptValue(a[j],c):null)&&j++;null!=(n=d>j?e.ptValue(a[j],c):null)&&j++;var q=null!=n&&a.length>j&&-2147483648==b&&2==a[j].tok?a[j].intValue:-1;0<=q&&j++;-2147483648==
b&&(b=0);var t=null;null!=k&&(j==d?t=this.vwr.ms.getPointGroupInfo(null):6==a[j].tok&&(t=a[j].getMap()));if(null!=t){a=k.indexOf(".");c=k.indexOf("^");0<c?q=JU.PT.parseInt(k.substring(c+1)):(c=k.length,q=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=t.get(k+"_m");if(null==a)return a=t.get(k),null==a?e.addXStr(""):e.addXObj(a);try{if(s(a,JS.SV))if(f=t.get("center").value,k=a,11==k.tok)g=k.value;else if(7==k.tok)g=k.getList().get(b-1).value;else return!1;
else f=t.get("center"),g=s(a,JU.M3)?a:a.get(b-1);b=g;g=JU.M3.newM3(g);if(1<q)for(h=1;h<q;h++)g.mul(b);if(null==m)return e.addXObj(g);m=JU.P3.newP(m);m.sub(f);g.rotate(m);m.add(f);return e.addXPt(m)}catch(x){if(L(x,Exception))return!1;throw x;}}h=d==j?null!=n?"all":null!=m?"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,l,m,n,1275068418,h,0,q,0))},"JS.ScriptMathProcessor,~A,~B");m(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(),g=this.vwr.getNMRCalculation();if("unique".equals(d))return e.addXBs(g.getUniqueTensorSet(c));var f=2>a.length?null:JS.SV.sValue(a[1]).toLowerCase();return b?e.addXObj(a[0].value.getInfo(f)):e.addXList(g.getTensorInfo(d,f,c))},"JS.ScriptMathProcessor,~A");m(c$,"evaluateUserFunction",function(e,a,b,c,d){var g=null;if(d)switch(g=
e.getX(),g.tok){case 10:break;case 6:if(0<b.length)return!1;g=g.getMap().get(a);return null==g?e.addXStr(""):e.addX(g);default:return!1}a=a.toLowerCase();e.wasX=!1;for(var f=new JU.Lst,h=0;h<b.length;h++)f.addLast(b[h]);if(d)return e.addXObj(this.e.getBitsetProperty(g.value,null,c,null,null,g.value,x(-1,[a,f]),!1,g.index,!1));a=this.e.getUserFunctionResult(a,f,null);return null==a?!1:e.addX(a)},"JS.ScriptMathProcessor,~S,~A,~N,~B");m(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,g=""+d,f=a[0].tok;4==f&&(f=JS.T.getTokFromName(g));var h=this.vwr.ms,k=!1,j=!1,l=!1,m=!1,n=null;switch(f){case 1648363544:k=!0,d=null;case 3:case 2:m=!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(f=a[1].tok){case 1073742335:case 1073742334:j=a[1].asBoolean();2<b&&JS.SV.sValue(a[2]).equalsIgnoreCase("unitcell")&&(f=1814695966);b=0;break;case 4:f=JS.SV.sValue(a[1]);if(f.startsWith("$"))return e.addXBs(this.getAtomsNearSurface(c,
f.substring(1)));if(f.equalsIgnoreCase("group"))l=!0,f=1086324742;else if(f.equalsIgnoreCase("vanderwaals")||f.equalsIgnoreCase("vdw"))d=null,k=!0,f=1648363544;else if(f.equalsIgnoreCase("unitcell"))f=1814695966;else return!1}break;case 7:1==b&&(d=a[0].asString(),f=0);break;case 1073742328:return 3==b&&s(a[1].value,JU.BS)&&s(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==f?2:1,e.asBitSet,!1))}if(s(d,String)){if(0==f){f=1073742362;if(2<b)return!1;b=2}}else if(!m)return!1;switch(b){case 1:switch(f){case 136314895:case 2097184:case 1678381065:return e.addXBs(h.getAtoms(f,null));case 1073741863:return e.addXBs(h.getAtoms(f,""));case 1073742362:return e.addXBs(h.getAtoms(1086324744,g))}return!1;case 2:switch(f){case 1073742362:f=
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(f,JS.SV.sValue(a[1])));case 1094713349:case 1094713350:return e.addXBs(this.vwr.ms.getAtoms(f,JS.SV.ptValue(a[1])))}break;case 3:switch(f){case 1073742335:case 1073742334:case 1086324742:case 1648363544:case 1814695966:case 134217750:case 134219265:case 1073742329:case 8:case 7:break;case 1086324744:g=
JS.SV.sValue(a[2]);break;default:return!1}}var q=null,d=b=null,t=a.length-1;switch(a[t].tok){case 9:q=a[t].value;break;case 8:b=a[t].value;JS.SV.sValue(a[1]).equalsIgnoreCase("hkl")&&(q=this.e.getHklPlane(b,NaN,!1));break;case 7:d=2==t&&7==a[1].tok?a[1].getList():null,b=2==t?JS.SV.ptValue(a[1]):1==t?JU.P3.new3(NaN,0,0):null}if(null!=q)return e.addXBs(h.getAtomsNearPlane(c,q));h=10==a[t].tok?a[t].value:null;if(0<t&&null==b&&null==d&&null==h)return!1;if(1814695966==f)return(null!=h||null!=b)&&e.addXObj(this.vwr.ms.getUnitCellPointsWithin(c,
h,b,j));if(null!=b||null!=d){if(7==a[t].tok){k=a[t].getList();f=Array(k.size());for(g=f.length;0<=--g;)f[g]=JS.SV.ptValue(k.get(g));k=null;if(null!=d){k=Array(d.size());for(g=k.length;0<=--g;)k[g]=JS.SV.ptValue(d.get(g))}d=Array(1);switch(J.bspt.PointIterator.withinDistPoints(c,b,f,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==
f)return e.addXBs(this.vwr.ms.getSequenceBits(g,h,new JU.BS));null==h&&(h=new JU.BS);if(!m)try{return e.addXBs(this.vwr.ms.getAtoms(f,h))}catch(x){if(L(x,Exception))return!1;throw x;}if(l)return e.addXBs(this.vwr.getGroupsWithin(S(c),h));k&&(n=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,n))},"JS.ScriptMathProcessor,~A");m(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");
m(c$,"getAtomsNearSurface",function(e,a){var b=x(-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");m(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,g=this.vwr.ms.ac;0<=--g;)for(var f=d[g],h=b.nextSetBit(0);0<=h;h=b.nextSetBit(h+1))if(f.distance(a[h])<e){c.set(g);break}return c},"~N,~A,JU.BS");m(c$,"getMinMax",function(e,a){for(var b=null,c=null,d=0,g=null;;){if(JU.AU.isAF(e)){if(1275068437==a)break;b=e;d=b.length;if(0==d)break}else if(s(e,JU.Lst))if(c=e,d=c.size(),0==d){if(1275068437!=a)break}else{if(1275068437!=a){var f=c.get(0);if(8==f.tok)return this.getMinMaxPoint(c,a);if(4==
f.tok&&f.value.startsWith("{")){b=JS.SV.ptValue(f);if(s(b,JU.P3))return this.getMinMaxPoint(c,a);if(s(b,JU.P4))return this.getMinMaxQuaternion(c,a);break}}}else break;var h,k=!1;switch(a){case 1275068437:g=new java.util.Hashtable;f=h=0;break;case 32:k=!0;f=3.4028235E38;h=2147483647;break;case 64:f=-3.4028235E38;h=-2147483647;break;default:f=h=0}for(var j=0,l=0,m=!0,n=1275068437==a;0<=--d;){var q=null==c?JS.SV.vF:c.get(d),t=n?1:null==b?JS.SV.fValue(q):b[d];if(!Float.isNaN(t))switch(l++,a){case 160:case 192:j+=
t*t;case 128:case 96:f+=t;break;case 1275068437:m=(new Boolean(m&2==q.tok)).valueOf();q=q.asString();t=g.get(q);g.put(q,null==t?new Integer(1):new Integer(t.intValue()+1));break;case 32:case 64:m=(new Boolean(m&2==q.tok)).valueOf(),k==t<f&&(f=t,m&&(h=q.intValue))}}if(1275068437==a)return g;if(0==l)break;switch(a){case 96:f/=l;break;case 192:if(1==l)break;f=Math.sqrt((j-f*f/l)/(l-1));break;case 32:case 64:if(m)return Integer.$valueOf(h);break;case 160:f=j}return Float.$valueOf(f)}return"NaN"},"~O,~N");
m(c$,"getMinMaxPoint",function(e,a){var b=null,c=null,d=0;s(e,Array)?(b=e,d=b.length):s(e,JU.Lst)&&(c=e,d=c.size());if(null==c&&null==b)return"NaN";for(var g=new JU.P3,f=F(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:f[k]=j.x;break;case 1:f[k]=j.y;break;case 2:f[k]=j.z}}k=this.getMinMax(f,a);if(!s(k,Number))return"NaN";k=k.floatValue();switch(h){case 0:g.x=k;break;case 1:g.y=k;break;case 2:g.z=k}}return g},"~O,~N");m(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=F(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");m(c$,"getPatternMatcher",function(){return null==this.pm?this.pm=J.api.Interface.getUtil("PatternMatcher",this.e.vwr,"script"):this.pm});m(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");m(c$,"setContactBitSets",function(e,a,b,c,d,g){var f,h;null==a?(a=JU.BSUtil.setAll(this.vwr.ms.ac),JU.BSUtil.andNot(a,this.vwr.slm.bsDeleted),a.andNot(e),f=!1):(h=JU.BSUtil.copy(e),h.or(a),h=this.vwr.ms.getModelBS(h,!1).cardinality(),f=1<h,g&&(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(g=!b||e.cardinality()<a.cardinality())h=this.vwr.ms.getAtomsWithinRadius(c,e,f,Float.isNaN(c)?d:null),a.and(h);b&&(h=this.vwr.ms.getAtomsWithinRadius(c,a,f,Float.isNaN(c)?d:null),e.and(h),g||(h=this.vwr.ms.getAtomsWithinRadius(c,e,f,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);
