/*! For license information please see materia.min.js.LICENSE.txt */ var materia;(()=>{var t={746:(t,e)=>{"use strict";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=n=((t>>>=e)>255)<<3,e|=n=((t>>>=n)>15)<<2,(e|=n=((t>>>=n)>3)<<1)|(t>>>=n)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=n,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var r=new Array(256);!function(t){for(var e=0;e<256;++e){var n=e,r=e,i=7;for(n>>>=1;n;n>>>=1)r<<=1,r|=1&n,--i;t[e]=r<>>8&255]<<16|r[t>>>16&255]<<8|r[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,n){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(n=1227133513&((n=3272356035&((n=251719695&((n=4278190335&((n&=1023)|n<<16))|n<<8))|n<<4))|n<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},645:(t,e,n)=>{"use strict";var r=n(841),i=n(489);function o(t,e){for(var n=0,r=t.length,i=0;i{"use strict";var r=n(293),i=n(706);function o(t,e){this.point=t,this.index=e}function s(t,e){for(var n=t.point,r=e.point,i=n.length,o=0;o=2)return!1;t[n]=r}return!0})):_.filter((function(t){for(var e=0;e<=a;++e){var n=m[t[e]];if(n<0)return!1;t[e]=n}return!0})),1&a)for(l=0;l<_.length;++l)f=(w=_[l])[0],w[0]=w[1],w[1]=f;return _}},841:t=>{"use strict";function e(t,n,r){var i=0|t[r];if(i<=0)return[];var o,s=new Array(i);if(r===t.length-1)for(o=0;o0)return function(t,e){var n,r;for(n=new Array(t),r=0;r{"use strict";t.exports=function(t,e){var n=t.length;if(0===n)throw new Error("Must have at least d+1 points");var i=t[0].length;if(n<=i)throw new Error("Must input at least d+1 points");var s=t.slice(0,i+1),a=r.apply(void 0,s);if(0===a)throw new Error("Input not in general position");for(var u=new Array(i+1),l=0;l<=i;++l)u[l]=l;a<0&&(u[0]=1,u[1]=0);var h=new o(u,new Array(i+1),!1),f=h.adjacent,p=new Array(i+2);for(l=0;l<=i;++l){for(var d=u.slice(),v=0;v<=i;++v)v===l&&(d[v]=-1);var g=d[0];d[0]=d[1],d[1]=g;var m=new o(d,new Array(i+1),!0);f[l]=m,p[l]=m}for(p[i+1]=h,l=0;l<=i;++l){d=f[l].vertices;var y=f[l].adjacent;for(v=0;v<=i;++v){var b=d[v];if(b<0)y[v]=h;else for(var w=0;w<=i;++w)f[w].vertices.indexOf(b)<0&&(y[v]=f[w])}}var _=new c(i,s,p),x=!!e;for(l=i+1;l0&&e.push(","),e.push("tuple[",n,"]");e.push(")}return orient");var i=new Function("test",e.join("")),o=r[t+1];return o||(o=r),i(o)}(t)),this.orient=o}var l=c.prototype;l.handleBoundaryDegeneracy=function(t,e){var n=this.dimension,r=this.vertices.length-1,i=this.tuple,o=this.vertices,s=[t];for(t.lastVisited=-r;s.length>0;){(t=s.pop()).vertices;for(var a=t.adjacent,u=0;u<=n;++u){var c=a[u];if(c.boundary&&!(c.lastVisited<=-r)){for(var l=c.vertices,h=0;h<=n;++h){var f=l[h];i[h]=f<0?e:o[f]}var p=this.orient();if(p>0)return c;c.lastVisited=-r,0===p&&s.push(c)}}}return null},l.walk=function(t,e){var n=this.vertices.length-1,r=this.dimension,i=this.vertices,o=this.tuple,s=e?this.interior.length*Math.random()|0:this.interior.length-1,a=this.interior[s];t:for(;!a.boundary;){for(var u=a.vertices,c=a.adjacent,l=0;l<=r;++l)o[l]=i[u[l]];for(a.lastVisited=n,l=0;l<=r;++l){var h=c[l];if(!(h.lastVisited>=n)){var f=o[l];o[l]=t;var p=this.orient();if(o[l]=f,p<0){a=h;continue t}h.boundary?h.lastVisited=-n:h.lastVisited=n}}return}return a},l.addPeaks=function(t,e){var n=this.vertices.length-1,r=this.dimension,i=this.vertices,u=this.tuple,c=this.interior,l=this.simplices,h=[e];e.lastVisited=n,e.vertices[e.vertices.indexOf(-1)]=n,e.boundary=!1,c.push(e);for(var f=[];h.length>0;){var p=(e=h.pop()).vertices,d=e.adjacent,v=p.indexOf(n);if(!(v<0))for(var g=0;g<=r;++g)if(g!==v){var m=d[g];if(m.boundary&&!(m.lastVisited>=n)){var y=m.vertices;if(m.lastVisited!==-n){for(var b=0,w=0;w<=r;++w)y[w]<0?(b=w,u[w]=t):u[w]=i[y[w]];if(this.orient()>0){y[b]=n,m.boundary=!1,c.push(m),h.push(m),m.lastVisited=n;continue}m.lastVisited=-n}var _=m.adjacent,x=p.slice(),A=d.slice(),E=new o(x,A,!0);l.push(E);var M=_.indexOf(e);if(!(M<0))for(_[M]=E,A[v]=m,x[g]=-1,A[g]=e,d[g]=E,E.flip(),w=0;w<=r;++w){var C=x[w];if(!(C<0||C===n)){for(var S=new Array(r-1),j=0,k=0;k<=r;++k){var V=x[k];V<0||k===w||(S[j++]=V)}f.push(new s(S,E,w))}}}}}for(f.sort(a),g=0;g+1=0?s[u++]=a[l]:c=1&l;if(c===(1&t)){var h=s[0];s[0]=s[1],s[1]=h}e.push(s)}}return e}},486:function(t,e,n){var r;t=n.nmd(t),function(){var i,o="Expected a function",s="__lodash_hash_undefined__",a="__lodash_placeholder__",u=32,c=128,l=1/0,h=9007199254740991,f=NaN,p=4294967295,d=[["ary",c],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",u],["partialRight",64],["rearg",256]],v="[object Arguments]",g="[object Array]",m="[object Boolean]",y="[object Date]",b="[object Error]",w="[object Function]",_="[object GeneratorFunction]",x="[object Map]",A="[object Number]",E="[object Object]",M="[object Promise]",C="[object RegExp]",S="[object Set]",j="[object String]",k="[object Symbol]",V="[object WeakMap]",z="[object ArrayBuffer]",L="[object DataView]",B="[object Float32Array]",O="[object Float64Array]",P="[object Int8Array]",I="[object Int16Array]",D="[object Int32Array]",T="[object Uint8Array]",F="[object Uint8ClampedArray]",R="[object Uint16Array]",U="[object Uint32Array]",N=/\b__p \+= '';/g,W=/\b(__p \+=) '' \+/g,G=/(__e\(.*?\)|\b__t\)) \+\n'';/g,H=/&(?:amp|lt|gt|quot|#39);/g,Y=/[&<>"']/g,q=RegExp(H.source),$=RegExp(Y.source),Z=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,J=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Q=/^\w*$/,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,et=/[\\^$.*+?()[\]{}|]/g,nt=RegExp(et.source),rt=/^\s+/,it=/\s/,ot=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,st=/\{\n\/\* \[wrapped with (.+)\] \*/,at=/,? & /,ut=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ct=/[()=,{}\[\]\/\s]/,lt=/\\(\\)?/g,ht=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ft=/\w*$/,pt=/^[-+]0x[0-9a-f]+$/i,dt=/^0b[01]+$/i,vt=/^\[object .+?Constructor\]$/,gt=/^0o[0-7]+$/i,mt=/^(?:0|[1-9]\d*)$/,yt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,bt=/($^)/,wt=/['\n\r\u2028\u2029\\]/g,_t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",xt="a-z\\xdf-\\xf6\\xf8-\\xff",At="A-Z\\xc0-\\xd6\\xd8-\\xde",Et="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Mt="["+Et+"]",Ct="["+_t+"]",St="\\d+",jt="["+xt+"]",kt="[^\\ud800-\\udfff"+Et+St+"\\u2700-\\u27bf"+xt+At+"]",Vt="\\ud83c[\\udffb-\\udfff]",zt="[^\\ud800-\\udfff]",Lt="(?:\\ud83c[\\udde6-\\uddff]){2}",Bt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ot="["+At+"]",Pt="(?:"+jt+"|"+kt+")",It="(?:"+Ot+"|"+kt+")",Dt="(?:['’](?:d|ll|m|re|s|t|ve))?",Tt="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ft="(?:"+Ct+"|"+Vt+")?",Rt="[\\ufe0e\\ufe0f]?",Ut=Rt+Ft+"(?:\\u200d(?:"+[zt,Lt,Bt].join("|")+")"+Rt+Ft+")*",Nt="(?:"+["[\\u2700-\\u27bf]",Lt,Bt].join("|")+")"+Ut,Wt="(?:"+[zt+Ct+"?",Ct,Lt,Bt,"[\\ud800-\\udfff]"].join("|")+")",Gt=RegExp("['’]","g"),Ht=RegExp(Ct,"g"),Yt=RegExp(Vt+"(?="+Vt+")|"+Wt+Ut,"g"),qt=RegExp([Ot+"?"+jt+"+"+Dt+"(?="+[Mt,Ot,"$"].join("|")+")",It+"+"+Tt+"(?="+[Mt,Ot+Pt,"$"].join("|")+")",Ot+"?"+Pt+"+"+Dt,Ot+"+"+Tt,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",St,Nt].join("|"),"g"),$t=RegExp("[\\u200d\\ud800-\\udfff"+_t+"\\ufe0e\\ufe0f]"),Zt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Xt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Kt=-1,Jt={};Jt[B]=Jt[O]=Jt[P]=Jt[I]=Jt[D]=Jt[T]=Jt[F]=Jt[R]=Jt[U]=!0,Jt[v]=Jt[g]=Jt[z]=Jt[m]=Jt[L]=Jt[y]=Jt[b]=Jt[w]=Jt[x]=Jt[A]=Jt[E]=Jt[C]=Jt[S]=Jt[j]=Jt[V]=!1;var Qt={};Qt[v]=Qt[g]=Qt[z]=Qt[L]=Qt[m]=Qt[y]=Qt[B]=Qt[O]=Qt[P]=Qt[I]=Qt[D]=Qt[x]=Qt[A]=Qt[E]=Qt[C]=Qt[S]=Qt[j]=Qt[k]=Qt[T]=Qt[F]=Qt[R]=Qt[U]=!0,Qt[b]=Qt[w]=Qt[V]=!1;var te={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ee=parseFloat,ne=parseInt,re="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,ie="object"==typeof self&&self&&self.Object===Object&&self,oe=re||ie||Function("return this")(),se=e&&!e.nodeType&&e,ae=se&&t&&!t.nodeType&&t,ue=ae&&ae.exports===se,ce=ue&&re.process,le=function(){try{return ae&&ae.require&&ae.require("util").types||ce&&ce.binding&&ce.binding("util")}catch(t){}}(),he=le&&le.isArrayBuffer,fe=le&&le.isDate,pe=le&&le.isMap,de=le&&le.isRegExp,ve=le&&le.isSet,ge=le&&le.isTypedArray;function me(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function ye(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i-1}function Ee(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function qe(t,e){for(var n=t.length;n--&&Be(e,t[n],0)>-1;);return n}function $e(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&++r;return r}var Ze=Te({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),Xe=Te({"&":"&","<":"<",">":">",'"':""","'":"'"});function Ke(t){return"\\"+te[t]}function Je(t){return $t.test(t)}function Qe(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function tn(t,e){return function(n){return t(e(n))}}function en(t,e){for(var n=-1,r=t.length,i=0,o=[];++n",""":'"',"'":"'"}),cn=function t(e){var n,r=(e=null==e?oe:cn.defaults(oe.Object(),e,cn.pick(oe,Xt))).Array,it=e.Date,_t=e.Error,xt=e.Function,At=e.Math,Et=e.Object,Mt=e.RegExp,Ct=e.String,St=e.TypeError,jt=r.prototype,kt=xt.prototype,Vt=Et.prototype,zt=e["__core-js_shared__"],Lt=kt.toString,Bt=Vt.hasOwnProperty,Ot=0,Pt=(n=/[^.]+$/.exec(zt&&zt.keys&&zt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",It=Vt.toString,Dt=Lt.call(Et),Tt=oe._,Ft=Mt("^"+Lt.call(Bt).replace(et,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Rt=ue?e.Buffer:i,Ut=e.Symbol,Nt=e.Uint8Array,Wt=Rt?Rt.allocUnsafe:i,Yt=tn(Et.getPrototypeOf,Et),$t=Et.create,te=Vt.propertyIsEnumerable,re=jt.splice,ie=Ut?Ut.isConcatSpreadable:i,se=Ut?Ut.iterator:i,ae=Ut?Ut.toStringTag:i,ce=function(){try{var t=co(Et,"defineProperty");return t({},"",{}),t}catch(t){}}(),le=e.clearTimeout!==oe.clearTimeout&&e.clearTimeout,Ve=it&&it.now!==oe.Date.now&&it.now,Te=e.setTimeout!==oe.setTimeout&&e.setTimeout,ln=At.ceil,hn=At.floor,fn=Et.getOwnPropertySymbols,pn=Rt?Rt.isBuffer:i,dn=e.isFinite,vn=jt.join,gn=tn(Et.keys,Et),mn=At.max,yn=At.min,bn=it.now,wn=e.parseInt,_n=At.random,xn=jt.reverse,An=co(e,"DataView"),En=co(e,"Map"),Mn=co(e,"Promise"),Cn=co(e,"Set"),Sn=co(e,"WeakMap"),jn=co(Et,"create"),kn=Sn&&new Sn,Vn={},zn=Fo(An),Ln=Fo(En),Bn=Fo(Mn),On=Fo(Cn),Pn=Fo(Sn),In=Ut?Ut.prototype:i,Dn=In?In.valueOf:i,Tn=In?In.toString:i;function Fn(t){if(na(t)&&!Hs(t)&&!(t instanceof Wn)){if(t instanceof Nn)return t;if(Bt.call(t,"__wrapped__"))return Ro(t)}return new Nn(t)}var Rn=function(){function t(){}return function(e){if(!ea(e))return{};if($t)return $t(e);t.prototype=e;var n=new t;return t.prototype=i,n}}();function Un(){}function Nn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=i}function Wn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=p,this.__views__=[]}function Gn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ar(t,e,n,r,o,s){var a,u=1&e,c=2&e,l=4&e;if(n&&(a=o?n(t,r,o,s):n(t)),a!==i)return a;if(!ea(t))return t;var h=Hs(t);if(h){if(a=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Bt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!u)return Si(t,a)}else{var f=fo(t),p=f==w||f==_;if(Zs(t))return _i(t,u);if(f==E||f==v||p&&!o){if(a=c||p?{}:vo(t),!u)return c?function(t,e){return ji(t,ho(t),e)}(t,function(t,e){return t&&ji(e,Ba(e),t)}(a,t)):function(t,e){return ji(t,lo(t),e)}(t,rr(a,t))}else{if(!Qt[f])return o?t:{};a=function(t,e,n){var r,i=t.constructor;switch(e){case z:return xi(t);case m:case y:return new i(+t);case L:return function(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case B:case O:case P:case I:case D:case T:case F:case R:case U:return Ai(t,n);case x:return new i;case A:case j:return new i(t);case C:return function(t){var e=new t.constructor(t.source,ft.exec(t));return e.lastIndex=t.lastIndex,e}(t);case S:return new i;case k:return r=t,Dn?Et(Dn.call(r)):{}}}(t,f,u)}}s||(s=new $n);var d=s.get(t);if(d)return d;s.set(t,a),aa(t)?t.forEach((function(r){a.add(ar(r,e,n,r,t,s))})):ra(t)&&t.forEach((function(r,i){a.set(i,ar(r,e,n,i,t,s))}));var g=h?i:(l?c?no:eo:c?Ba:La)(t);return be(g||t,(function(r,i){g&&(r=t[i=r]),tr(a,i,ar(r,e,n,i,t,s))})),a}function ur(t,e,n){var r=n.length;if(null==t)return!r;for(t=Et(t);r--;){var o=n[r],s=e[o],a=t[o];if(a===i&&!(o in t)||!s(a))return!1}return!0}function cr(t,e,n){if("function"!=typeof t)throw new St(o);return Vo((function(){t.apply(i,n)}),e)}function lr(t,e,n,r){var i=-1,o=Ae,s=!0,a=t.length,u=[],c=e.length;if(!a)return u;n&&(e=Me(e,We(n))),r?(o=Ee,s=!1):e.length>=200&&(o=He,s=!1,e=new qn(e));t:for(;++i-1},Hn.prototype.set=function(t,e){var n=this.__data__,r=er(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},Yn.prototype.clear=function(){this.size=0,this.__data__={hash:new Gn,map:new(En||Hn),string:new Gn}},Yn.prototype.delete=function(t){var e=ao(this,t).delete(t);return this.size-=e?1:0,e},Yn.prototype.get=function(t){return ao(this,t).get(t)},Yn.prototype.has=function(t){return ao(this,t).has(t)},Yn.prototype.set=function(t,e){var n=ao(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},qn.prototype.add=qn.prototype.push=function(t){return this.__data__.set(t,s),this},qn.prototype.has=function(t){return this.__data__.has(t)},$n.prototype.clear=function(){this.__data__=new Hn,this.size=0},$n.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},$n.prototype.get=function(t){return this.__data__.get(t)},$n.prototype.has=function(t){return this.__data__.has(t)},$n.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Hn){var r=n.__data__;if(!En||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new Yn(r)}return n.set(t,e),this.size=n.size,this};var hr=zi(br),fr=zi(wr,!0);function pr(t,e){var n=!0;return hr(t,(function(t,r,i){return n=!!e(t,r,i)})),n}function dr(t,e,n){for(var r=-1,o=t.length;++r0&&n(a)?e>1?gr(a,e-1,n,r,i):Ce(i,a):r||(i[i.length]=a)}return i}var mr=Li(),yr=Li(!0);function br(t,e){return t&&mr(t,e,La)}function wr(t,e){return t&&yr(t,e,La)}function _r(t,e){return xe(e,(function(e){return Js(t[e])}))}function xr(t,e){for(var n=0,r=(e=mi(e,t)).length;null!=t&&ne}function Cr(t,e){return null!=t&&Bt.call(t,e)}function Sr(t,e){return null!=t&&e in Et(t)}function jr(t,e,n){for(var o=n?Ee:Ae,s=t[0].length,a=t.length,u=a,c=r(a),l=1/0,h=[];u--;){var f=t[u];u&&e&&(f=Me(f,We(e))),l=yn(f.length,l),c[u]=!n&&(e||s>=120&&f.length>=120)?new qn(u&&f):i}f=t[0];var p=-1,d=c[0];t:for(;++p=a?u:u*("desc"==n[r]?-1:1)}return t.index-e.index}(t,e,n)}));r--;)t[r]=t[r].value;return t}(i)}function Wr(t,e,n){for(var r=-1,i=e.length,o={};++r-1;)a!==t&&re.call(a,u,1),re.call(t,u,1);return t}function Hr(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;mo(i)?re.call(t,i,1):ci(t,i)}}return t}function Yr(t,e){return t+hn(_n()*(e-t+1))}function qr(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=hn(e/2))&&(t+=t)}while(e);return n}function $r(t,e){return zo(Mo(t,e,iu),t+"")}function Zr(t){return Xn(Ua(t))}function Xr(t,e){var n=Ua(t);return Oo(n,sr(e,0,n.length))}function Kr(t,e,n,r){if(!ea(t))return t;for(var o=-1,s=(e=mi(e,t)).length,a=s-1,u=t;null!=u&&++oo?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var s=r(o);++i>>1,s=t[o];null!==s&&!ca(s)&&(n?s<=e:s=200){var c=e?null:qi(t);if(c)return nn(c);s=!1,i=He,u=new qn}else u=e?[]:a;t:for(;++r=r?t:ei(t,e,n)}var wi=le||function(t){return oe.clearTimeout(t)};function _i(t,e){if(e)return t.slice();var n=t.length,r=Wt?Wt(n):new t.constructor(n);return t.copy(r),r}function xi(t){var e=new t.constructor(t.byteLength);return new Nt(e).set(new Nt(t)),e}function Ai(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ei(t,e){if(t!==e){var n=t!==i,r=null===t,o=t==t,s=ca(t),a=e!==i,u=null===e,c=e==e,l=ca(e);if(!u&&!l&&!s&&t>e||s&&a&&c&&!u&&!l||r&&a&&c||!n&&c||!o)return 1;if(!r&&!s&&!l&&t1?n[o-1]:i,a=o>2?n[2]:i;for(s=t.length>3&&"function"==typeof s?(o--,s):i,a&&yo(n[0],n[1],a)&&(s=o<3?i:s,o=1),e=Et(e);++r-1?o[s?e[a]:a]:i}}function Di(t){return to((function(e){var n=e.length,r=n,s=Nn.prototype.thru;for(t&&e.reverse();r--;){var a=e[r];if("function"!=typeof a)throw new St(o);if(s&&!u&&"wrapper"==io(a))var u=new Nn([],!0)}for(r=u?r:n;++r1&&b.reverse(),p&&hu))return!1;var l=s.get(t),h=s.get(e);if(l&&h)return l==e&&h==t;var f=-1,p=!0,d=2&n?new qn:i;for(s.set(t,e),s.set(e,t);++f-1&&t%1==0&&t1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(ot,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return be(d,(function(n){var r="_."+n[0];e&n[1]&&!Ae(t,r)&&t.push(r)})),t.sort()}(function(t){var e=t.match(st);return e?e[1].split(at):[]}(r),n)))}function Bo(t){var e=0,n=0;return function(){var r=bn(),o=16-(r-n);if(n=r,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(i,arguments)}}function Oo(t,e){var n=-1,r=t.length,o=r-1;for(e=e===i?r:e;++n1?t[e-1]:i;return n="function"==typeof n?(t.pop(),n):i,ss(t,n)}));function ps(t){var e=Fn(t);return e.__chain__=!0,e}function ds(t,e){return e(t)}var vs=to((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,o=function(e){return or(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Wn&&mo(n)?((r=r.slice(n,+n+(e?1:0))).__actions__.push({func:ds,args:[o],thisArg:i}),new Nn(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(i),t}))):this.thru(o)})),gs=ki((function(t,e,n){Bt.call(t,n)?++t[n]:ir(t,n,1)})),ms=Ii(Go),ys=Ii(Ho);function bs(t,e){return(Hs(t)?be:hr)(t,so(e,3))}function ws(t,e){return(Hs(t)?we:fr)(t,so(e,3))}var _s=ki((function(t,e,n){Bt.call(t,n)?t[n].push(e):ir(t,n,[e])})),xs=$r((function(t,e,n){var i=-1,o="function"==typeof e,s=qs(t)?r(t.length):[];return hr(t,(function(t){s[++i]=o?me(e,t,n):kr(t,e,n)})),s})),As=ki((function(t,e,n){ir(t,n,e)}));function Es(t,e){return(Hs(t)?Me:Dr)(t,so(e,3))}var Ms=ki((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]})),Cs=$r((function(t,e){if(null==t)return[];var n=e.length;return n>1&&yo(t,e[0],e[1])?e=[]:n>2&&yo(e[0],e[1],e[2])&&(e=[e[0]]),Nr(t,gr(e,1),[])})),Ss=Ve||function(){return oe.Date.now()};function js(t,e,n){return e=n?i:e,e=t&&null==e?t.length:e,Zi(t,c,i,i,i,i,e)}function ks(t,e){var n;if("function"!=typeof e)throw new St(o);return t=va(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=i),n}}var Vs=$r((function(t,e,n){var r=1;if(n.length){var i=en(n,oo(Vs));r|=u}return Zi(t,r,e,n,i)})),zs=$r((function(t,e,n){var r=3;if(n.length){var i=en(n,oo(zs));r|=u}return Zi(e,r,t,n,i)}));function Ls(t,e,n){var r,s,a,u,c,l,h=0,f=!1,p=!1,d=!0;if("function"!=typeof t)throw new St(o);function v(e){var n=r,o=s;return r=s=i,h=e,u=t.apply(o,n)}function g(t){return h=t,c=Vo(y,e),f?v(t):u}function m(t){var n=t-l;return l===i||n>=e||n<0||p&&t-h>=a}function y(){var t=Ss();if(m(t))return b(t);c=Vo(y,function(t){var n=e-(t-l);return p?yn(n,a-(t-h)):n}(t))}function b(t){return c=i,d&&r?v(t):(r=s=i,u)}function w(){var t=Ss(),n=m(t);if(r=arguments,s=this,l=t,n){if(c===i)return g(l);if(p)return wi(c),c=Vo(y,e),v(l)}return c===i&&(c=Vo(y,e)),u}return e=ma(e)||0,ea(n)&&(f=!!n.leading,a=(p="maxWait"in n)?mn(ma(n.maxWait)||0,e):a,d="trailing"in n?!!n.trailing:d),w.cancel=function(){c!==i&&wi(c),h=0,r=l=s=c=i},w.flush=function(){return c===i?u:b(Ss())},w}var Bs=$r((function(t,e){return cr(t,1,e)})),Os=$r((function(t,e,n){return cr(t,ma(e)||0,n)}));function Ps(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new St(o);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=t.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(Ps.Cache||Yn),n}function Is(t){if("function"!=typeof t)throw new St(o);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Ps.Cache=Yn;var Ds=yi((function(t,e){var n=(e=1==e.length&&Hs(e[0])?Me(e[0],We(so())):Me(gr(e,1),We(so()))).length;return $r((function(r){for(var i=-1,o=yn(r.length,n);++i=e})),Gs=Vr(function(){return arguments}())?Vr:function(t){return na(t)&&Bt.call(t,"callee")&&!te.call(t,"callee")},Hs=r.isArray,Ys=he?We(he):function(t){return na(t)&&Er(t)==z};function qs(t){return null!=t&&ta(t.length)&&!Js(t)}function $s(t){return na(t)&&qs(t)}var Zs=pn||mu,Xs=fe?We(fe):function(t){return na(t)&&Er(t)==y};function Ks(t){if(!na(t))return!1;var e=Er(t);return e==b||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!oa(t)}function Js(t){if(!ea(t))return!1;var e=Er(t);return e==w||e==_||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Qs(t){return"number"==typeof t&&t==va(t)}function ta(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function ea(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function na(t){return null!=t&&"object"==typeof t}var ra=pe?We(pe):function(t){return na(t)&&fo(t)==x};function ia(t){return"number"==typeof t||na(t)&&Er(t)==A}function oa(t){if(!na(t)||Er(t)!=E)return!1;var e=Yt(t);if(null===e)return!0;var n=Bt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&Lt.call(n)==Dt}var sa=de?We(de):function(t){return na(t)&&Er(t)==C},aa=ve?We(ve):function(t){return na(t)&&fo(t)==S};function ua(t){return"string"==typeof t||!Hs(t)&&na(t)&&Er(t)==j}function ca(t){return"symbol"==typeof t||na(t)&&Er(t)==k}var la=ge?We(ge):function(t){return na(t)&&ta(t.length)&&!!Jt[Er(t)]},ha=Gi(Ir),fa=Gi((function(t,e){return t<=e}));function pa(t){if(!t)return[];if(qs(t))return ua(t)?sn(t):Si(t);if(se&&t[se])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[se]());var e=fo(t);return(e==x?Qe:e==S?nn:Ua)(t)}function da(t){return t?(t=ma(t))===l||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function va(t){var e=da(t),n=e%1;return e==e?n?e-n:e:0}function ga(t){return t?sr(va(t),0,p):0}function ma(t){if("number"==typeof t)return t;if(ca(t))return f;if(ea(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=ea(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Ne(t);var n=dt.test(t);return n||gt.test(t)?ne(t.slice(2),n?2:8):pt.test(t)?f:+t}function ya(t){return ji(t,Ba(t))}function ba(t){return null==t?"":ai(t)}var wa=Vi((function(t,e){if(xo(e)||qs(e))ji(e,La(e),t);else for(var n in e)Bt.call(e,n)&&tr(t,n,e[n])})),_a=Vi((function(t,e){ji(e,Ba(e),t)})),xa=Vi((function(t,e,n,r){ji(e,Ba(e),t,r)})),Aa=Vi((function(t,e,n,r){ji(e,La(e),t,r)})),Ea=to(or),Ma=$r((function(t,e){t=Et(t);var n=-1,r=e.length,o=r>2?e[2]:i;for(o&&yo(e[0],e[1],o)&&(r=1);++n1),e})),ji(t,no(t),n),r&&(n=ar(n,7,Ji));for(var i=e.length;i--;)ci(n,e[i]);return n})),Da=to((function(t,e){return null==t?{}:function(t,e){return Wr(t,e,(function(e,n){return ja(t,n)}))}(t,e)}));function Ta(t,e){if(null==t)return{};var n=Me(no(t),(function(t){return[t]}));return e=so(e),Wr(t,n,(function(t,n){return e(t,n[0])}))}var Fa=$i(La),Ra=$i(Ba);function Ua(t){return null==t?[]:Ge(t,La(t))}var Na=Oi((function(t,e,n){return e=e.toLowerCase(),t+(n?Wa(e):e)}));function Wa(t){return Ka(ba(t).toLowerCase())}function Ga(t){return(t=ba(t))&&t.replace(yt,Ze).replace(Ht,"")}var Ha=Oi((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),Ya=Oi((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),qa=Bi("toLowerCase"),$a=Oi((function(t,e,n){return t+(n?"_":"")+e.toLowerCase()})),Za=Oi((function(t,e,n){return t+(n?" ":"")+Ka(e)})),Xa=Oi((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),Ka=Bi("toUpperCase");function Ja(t,e,n){return t=ba(t),(e=n?i:e)===i?function(t){return Zt.test(t)}(t)?function(t){return t.match(qt)||[]}(t):function(t){return t.match(ut)||[]}(t):t.match(e)||[]}var Qa=$r((function(t,e){try{return me(t,i,e)}catch(t){return Ks(t)?t:new _t(t)}})),tu=to((function(t,e){return be(e,(function(e){e=To(e),ir(t,e,Vs(t[e],t))})),t}));function eu(t){return function(){return t}}var nu=Di(),ru=Di(!0);function iu(t){return t}function ou(t){return Or("function"==typeof t?t:ar(t,1))}var su=$r((function(t,e){return function(n){return kr(n,t,e)}})),au=$r((function(t,e){return function(n){return kr(t,n,e)}}));function uu(t,e,n){var r=La(e),i=_r(e,r);null!=n||ea(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=_r(e,La(e)));var o=!(ea(n)&&"chain"in n&&!n.chain),s=Js(t);return be(i,(function(n){var r=e[n];t[n]=r,s&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__),i=n.__actions__=Si(this.__actions__);return i.push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,Ce([this.value()],arguments))})})),t}function cu(){}var lu=Ui(Me),hu=Ui(_e),fu=Ui(ke);function pu(t){return bo(t)?De(To(t)):function(t){return function(e){return xr(e,t)}}(t)}var du=Wi(),vu=Wi(!0);function gu(){return[]}function mu(){return!1}var yu,bu=Ri((function(t,e){return t+e}),0),wu=Yi("ceil"),_u=Ri((function(t,e){return t/e}),1),xu=Yi("floor"),Au=Ri((function(t,e){return t*e}),1),Eu=Yi("round"),Mu=Ri((function(t,e){return t-e}),0);return Fn.after=function(t,e){if("function"!=typeof e)throw new St(o);return t=va(t),function(){if(--t<1)return e.apply(this,arguments)}},Fn.ary=js,Fn.assign=wa,Fn.assignIn=_a,Fn.assignInWith=xa,Fn.assignWith=Aa,Fn.at=Ea,Fn.before=ks,Fn.bind=Vs,Fn.bindAll=tu,Fn.bindKey=zs,Fn.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Hs(t)?t:[t]},Fn.chain=ps,Fn.chunk=function(t,e,n){e=(n?yo(t,e,n):e===i)?1:mn(va(e),0);var o=null==t?0:t.length;if(!o||e<1)return[];for(var s=0,a=0,u=r(ln(o/e));so?0:o+n),(r=r===i||r>o?o:va(r))<0&&(r+=o),r=n>r?0:ga(r);n>>0)?(t=ba(t))&&("string"==typeof e||null!=e&&!sa(e))&&!(e=ai(e))&&Je(t)?bi(sn(t),0,n):t.split(e,n):[]},Fn.spread=function(t,e){if("function"!=typeof t)throw new St(o);return e=null==e?0:mn(va(e),0),$r((function(n){var r=n[e],i=bi(n,0,e);return r&&Ce(i,r),me(t,this,i)}))},Fn.tail=function(t){var e=null==t?0:t.length;return e?ei(t,1,e):[]},Fn.take=function(t,e,n){return t&&t.length?ei(t,0,(e=n||e===i?1:va(e))<0?0:e):[]},Fn.takeRight=function(t,e,n){var r=null==t?0:t.length;return r?ei(t,(e=r-(e=n||e===i?1:va(e)))<0?0:e,r):[]},Fn.takeRightWhile=function(t,e){return t&&t.length?hi(t,so(e,3),!1,!0):[]},Fn.takeWhile=function(t,e){return t&&t.length?hi(t,so(e,3)):[]},Fn.tap=function(t,e){return e(t),t},Fn.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new St(o);return ea(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Ls(t,e,{leading:r,maxWait:e,trailing:i})},Fn.thru=ds,Fn.toArray=pa,Fn.toPairs=Fa,Fn.toPairsIn=Ra,Fn.toPath=function(t){return Hs(t)?Me(t,To):ca(t)?[t]:Si(Do(ba(t)))},Fn.toPlainObject=ya,Fn.transform=function(t,e,n){var r=Hs(t),i=r||Zs(t)||la(t);if(e=so(e,4),null==n){var o=t&&t.constructor;n=i?r?new o:[]:ea(t)&&Js(o)?Rn(Yt(t)):{}}return(i?be:br)(t,(function(t,r,i){return e(n,t,r,i)})),n},Fn.unary=function(t){return js(t,1)},Fn.union=ns,Fn.unionBy=rs,Fn.unionWith=is,Fn.uniq=function(t){return t&&t.length?ui(t):[]},Fn.uniqBy=function(t,e){return t&&t.length?ui(t,so(e,2)):[]},Fn.uniqWith=function(t,e){return e="function"==typeof e?e:i,t&&t.length?ui(t,i,e):[]},Fn.unset=function(t,e){return null==t||ci(t,e)},Fn.unzip=os,Fn.unzipWith=ss,Fn.update=function(t,e,n){return null==t?t:li(t,e,gi(n))},Fn.updateWith=function(t,e,n,r){return r="function"==typeof r?r:i,null==t?t:li(t,e,gi(n),r)},Fn.values=Ua,Fn.valuesIn=function(t){return null==t?[]:Ge(t,Ba(t))},Fn.without=as,Fn.words=Ja,Fn.wrap=function(t,e){return Ts(gi(e),t)},Fn.xor=us,Fn.xorBy=cs,Fn.xorWith=ls,Fn.zip=hs,Fn.zipObject=function(t,e){return di(t||[],e||[],tr)},Fn.zipObjectDeep=function(t,e){return di(t||[],e||[],Kr)},Fn.zipWith=fs,Fn.entries=Fa,Fn.entriesIn=Ra,Fn.extend=_a,Fn.extendWith=xa,uu(Fn,Fn),Fn.add=bu,Fn.attempt=Qa,Fn.camelCase=Na,Fn.capitalize=Wa,Fn.ceil=wu,Fn.clamp=function(t,e,n){return n===i&&(n=e,e=i),n!==i&&(n=(n=ma(n))==n?n:0),e!==i&&(e=(e=ma(e))==e?e:0),sr(ma(t),e,n)},Fn.clone=function(t){return ar(t,4)},Fn.cloneDeep=function(t){return ar(t,5)},Fn.cloneDeepWith=function(t,e){return ar(t,5,e="function"==typeof e?e:i)},Fn.cloneWith=function(t,e){return ar(t,4,e="function"==typeof e?e:i)},Fn.conformsTo=function(t,e){return null==e||ur(t,e,La(e))},Fn.deburr=Ga,Fn.defaultTo=function(t,e){return null==t||t!=t?e:t},Fn.divide=_u,Fn.endsWith=function(t,e,n){t=ba(t),e=ai(e);var r=t.length,o=n=n===i?r:sr(va(n),0,r);return(n-=e.length)>=0&&t.slice(n,o)==e},Fn.eq=Us,Fn.escape=function(t){return(t=ba(t))&&$.test(t)?t.replace(Y,Xe):t},Fn.escapeRegExp=function(t){return(t=ba(t))&&nt.test(t)?t.replace(et,"\\$&"):t},Fn.every=function(t,e,n){var r=Hs(t)?_e:pr;return n&&yo(t,e,n)&&(e=i),r(t,so(e,3))},Fn.find=ms,Fn.findIndex=Go,Fn.findKey=function(t,e){return ze(t,so(e,3),br)},Fn.findLast=ys,Fn.findLastIndex=Ho,Fn.findLastKey=function(t,e){return ze(t,so(e,3),wr)},Fn.floor=xu,Fn.forEach=bs,Fn.forEachRight=ws,Fn.forIn=function(t,e){return null==t?t:mr(t,so(e,3),Ba)},Fn.forInRight=function(t,e){return null==t?t:yr(t,so(e,3),Ba)},Fn.forOwn=function(t,e){return t&&br(t,so(e,3))},Fn.forOwnRight=function(t,e){return t&&wr(t,so(e,3))},Fn.get=Sa,Fn.gt=Ns,Fn.gte=Ws,Fn.has=function(t,e){return null!=t&&po(t,e,Cr)},Fn.hasIn=ja,Fn.head=qo,Fn.identity=iu,Fn.includes=function(t,e,n,r){t=qs(t)?t:Ua(t),n=n&&!r?va(n):0;var i=t.length;return n<0&&(n=mn(i+n,0)),ua(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Be(t,e,n)>-1},Fn.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:va(n);return i<0&&(i=mn(r+i,0)),Be(t,e,i)},Fn.inRange=function(t,e,n){return e=da(e),n===i?(n=e,e=0):n=da(n),function(t,e,n){return t>=yn(e,n)&&t=-9007199254740991&&t<=h},Fn.isSet=aa,Fn.isString=ua,Fn.isSymbol=ca,Fn.isTypedArray=la,Fn.isUndefined=function(t){return t===i},Fn.isWeakMap=function(t){return na(t)&&fo(t)==V},Fn.isWeakSet=function(t){return na(t)&&"[object WeakSet]"==Er(t)},Fn.join=function(t,e){return null==t?"":vn.call(t,e)},Fn.kebabCase=Ha,Fn.last=Ko,Fn.lastIndexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=va(n))<0?mn(r+o,0):yn(o,r-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,o):Le(t,Pe,o,!0)},Fn.lowerCase=Ya,Fn.lowerFirst=qa,Fn.lt=ha,Fn.lte=fa,Fn.max=function(t){return t&&t.length?dr(t,iu,Mr):i},Fn.maxBy=function(t,e){return t&&t.length?dr(t,so(e,2),Mr):i},Fn.mean=function(t){return Ie(t,iu)},Fn.meanBy=function(t,e){return Ie(t,so(e,2))},Fn.min=function(t){return t&&t.length?dr(t,iu,Ir):i},Fn.minBy=function(t,e){return t&&t.length?dr(t,so(e,2),Ir):i},Fn.stubArray=gu,Fn.stubFalse=mu,Fn.stubObject=function(){return{}},Fn.stubString=function(){return""},Fn.stubTrue=function(){return!0},Fn.multiply=Au,Fn.nth=function(t,e){return t&&t.length?Ur(t,va(e)):i},Fn.noConflict=function(){return oe._===this&&(oe._=Tt),this},Fn.noop=cu,Fn.now=Ss,Fn.pad=function(t,e,n){t=ba(t);var r=(e=va(e))?on(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return Ni(hn(i),n)+t+Ni(ln(i),n)},Fn.padEnd=function(t,e,n){t=ba(t);var r=(e=va(e))?on(t):0;return e&&re){var r=t;t=e,e=r}if(n||t%1||e%1){var o=_n();return yn(t+o*(e-t+ee("1e-"+((o+"").length-1))),e)}return Yr(t,e)},Fn.reduce=function(t,e,n){var r=Hs(t)?Se:Fe,i=arguments.length<3;return r(t,so(e,4),n,i,hr)},Fn.reduceRight=function(t,e,n){var r=Hs(t)?je:Fe,i=arguments.length<3;return r(t,so(e,4),n,i,fr)},Fn.repeat=function(t,e,n){return e=(n?yo(t,e,n):e===i)?1:va(e),qr(ba(t),e)},Fn.replace=function(){var t=arguments,e=ba(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Fn.result=function(t,e,n){var r=-1,o=(e=mi(e,t)).length;for(o||(o=1,t=i);++rh)return[];var n=p,r=yn(t,p);e=so(e),t-=p;for(var i=Ue(r,e);++n=s)return t;var u=n-on(r);if(u<1)return r;var c=a?bi(a,0,u).join(""):t.slice(0,u);if(o===i)return c+r;if(a&&(u+=c.length-u),sa(o)){if(t.slice(u).search(o)){var l,h=c;for(o.global||(o=Mt(o.source,ba(ft.exec(o))+"g")),o.lastIndex=0;l=o.exec(h);)var f=l.index;c=c.slice(0,f===i?u:f)}}else if(t.indexOf(ai(o),u)!=u){var p=c.lastIndexOf(o);p>-1&&(c=c.slice(0,p))}return c+r},Fn.unescape=function(t){return(t=ba(t))&&q.test(t)?t.replace(H,un):t},Fn.uniqueId=function(t){var e=++Ot;return ba(t)+e},Fn.upperCase=Xa,Fn.upperFirst=Ka,Fn.each=bs,Fn.eachRight=ws,Fn.first=qo,uu(Fn,(yu={},br(Fn,(function(t,e){Bt.call(Fn.prototype,e)||(yu[e]=t)})),yu),{chain:!1}),Fn.VERSION="4.17.21",be(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){Fn[t].placeholder=Fn})),be(["drop","take"],(function(t,e){Wn.prototype[t]=function(n){n=n===i?1:mn(va(n),0);var r=this.__filtered__&&!e?new Wn(this):this.clone();return r.__filtered__?r.__takeCount__=yn(n,r.__takeCount__):r.__views__.push({size:yn(n,p),type:t+(r.__dir__<0?"Right":"")}),r},Wn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}})),be(["filter","map","takeWhile"],(function(t,e){var n=e+1,r=1==n||3==n;Wn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:so(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}})),be(["head","last"],(function(t,e){var n="take"+(e?"Right":"");Wn.prototype[t]=function(){return this[n](1).value()[0]}})),be(["initial","tail"],(function(t,e){var n="drop"+(e?"":"Right");Wn.prototype[t]=function(){return this.__filtered__?new Wn(this):this[n](1)}})),Wn.prototype.compact=function(){return this.filter(iu)},Wn.prototype.find=function(t){return this.filter(t).head()},Wn.prototype.findLast=function(t){return this.reverse().find(t)},Wn.prototype.invokeMap=$r((function(t,e){return"function"==typeof t?new Wn(this):this.map((function(n){return kr(n,t,e)}))})),Wn.prototype.reject=function(t){return this.filter(Is(so(t)))},Wn.prototype.slice=function(t,e){t=va(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Wn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==i&&(n=(e=va(e))<0?n.dropRight(-e):n.take(e-t)),n)},Wn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Wn.prototype.toArray=function(){return this.take(p)},br(Wn.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),o=Fn[r?"take"+("last"==e?"Right":""):e],s=r||/^find/.test(e);o&&(Fn.prototype[e]=function(){var e=this.__wrapped__,a=r?[1]:arguments,u=e instanceof Wn,c=a[0],l=u||Hs(e),h=function(t){var e=o.apply(Fn,Ce([t],a));return r&&f?e[0]:e};l&&n&&"function"==typeof c&&1!=c.length&&(u=l=!1);var f=this.__chain__,p=!!this.__actions__.length,d=s&&!f,v=u&&!p;if(!s&&l){e=v?e:new Wn(this);var g=t.apply(e,a);return g.__actions__.push({func:ds,args:[h],thisArg:i}),new Nn(g,f)}return d&&v?t.apply(this,a):(g=this.thru(h),d?r?g.value()[0]:g.value():g)})})),be(["pop","push","shift","sort","splice","unshift"],(function(t){var e=jt[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);Fn.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(Hs(i)?i:[],t)}return this[n]((function(n){return e.apply(Hs(n)?n:[],t)}))}})),br(Wn.prototype,(function(t,e){var n=Fn[e];if(n){var r=n.name+"";Bt.call(Vn,r)||(Vn[r]=[]),Vn[r].push({name:e,func:n})}})),Vn[Ti(i,2).name]=[{name:"wrapper",func:i}],Wn.prototype.clone=function(){var t=new Wn(this.__wrapped__);return t.__actions__=Si(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Si(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Si(this.__views__),t},Wn.prototype.reverse=function(){if(this.__filtered__){var t=new Wn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Wn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=Hs(t),r=e<0,i=n?t.length:0,o=function(t,e,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:t,value:t?i:this.__values__[this.__index__++]}},Fn.prototype.plant=function(t){for(var e,n=this;n instanceof Un;){var r=Ro(n);r.__index__=0,r.__values__=i,e?o.__wrapped__=r:e=r;var o=r;n=n.__wrapped__}return o.__wrapped__=t,e},Fn.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Wn){var e=t;return this.__actions__.length&&(e=new Wn(this)),(e=e.reverse()).__actions__.push({func:ds,args:[es],thisArg:i}),new Nn(e,this.__chain__)}return this.thru(es)},Fn.prototype.toJSON=Fn.prototype.valueOf=Fn.prototype.value=function(){return fi(this.__wrapped__,this.__actions__)},Fn.prototype.first=Fn.prototype.head,se&&(Fn.prototype[se]=function(){return this}),Fn}();oe._=cn,(r=function(){return cn}.call(e,n,e,t))===i||(t.exports=r)}.call(this)},154:t=>{"use strict";t.exports=function(t){for(var e=t.length,n=t[t.length-1],r=e,i=e-2;i>=0;--i){var o=n,s=t[i];(u=s-((n=o+s)-o))&&(t[--r]=n,n=u)}var a=0;for(i=r;i{"use strict";var r=n(5),i=n(740),o=n(442),s=n(154);function a(t,e){for(var n=new Array(t.length-1),r=1;r>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function l(t){if(2===t.length)return["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("");for(var e=[],n=0;n{"use strict";var r=n(437);function i(t){for(var e="robustLinearSolve"+t+"d",n=["function ",e,"(A,b){return ["],i=0;i0&&n.push(","),n.push("[");for(var s=0;s0&&n.push(","),s===i?n.push("+b[",o,"]"):n.push("+A[",o,"][",s,"]");n.push("]")}n.push("]),")}return n.push("det(A)]}return ",e),new Function("det",n.join(""))(t<6?r[t]:r)}var o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length<6;)o.push(i(o.length));for(var e=[],n=["function dispatchLinearSolve(A,b){switch(A.length){"],r=0;r<6;++r)e.push("s"+r),n.push("case ",r,":return s",r,"(A,b);");n.push("}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve"),e.push("CACHE","g",n.join(""));var s=Function.apply(void 0,e);for(t.exports=s.apply(void 0,o.concat([o,i])),r=0;r<6;++r)t.exports[r]=o[r]}()},146:(t,e,n)=>{"use strict";var r=n(5),i=n(740),o=n(442),s=n(972);function a(t,e){for(var n=new Array(t.length-1),r=1;r>1;return["sum(",u(t.slice(0,e)),",",u(t.slice(e)),")"].join("")}function c(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var e=[],n=0;n0){if(o<=0)return s;r=i+o}else{if(!(i<0))return s;if(o>=0)return s;r=-(i+o)}var a=33306690738754716e-32*r;return s>=a||s<=-a?s:h(t,e,n)},function(t,e,n,r){var i=t[0]-r[0],o=e[0]-r[0],s=n[0]-r[0],a=t[1]-r[1],u=e[1]-r[1],c=n[1]-r[1],l=t[2]-r[2],h=e[2]-r[2],p=n[2]-r[2],d=o*c,v=s*u,g=s*a,m=i*c,y=i*u,b=o*a,w=l*(d-v)+h*(g-m)+p*(y-b),_=7771561172376103e-31*((Math.abs(d)+Math.abs(v))*Math.abs(l)+(Math.abs(g)+Math.abs(m))*Math.abs(h)+(Math.abs(y)+Math.abs(b))*Math.abs(p));return w>_||-w>_?w:f(t,e,n,r)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=l(t.length)),e.apply(void 0,t)}!function(){for(;p.length<=5;)p.push(l(p.length));for(var e=[],n=["slow"],r=0;r<=5;++r)e.push("a"+r),n.push("o"+r);var i=["function getOrientation(",e.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(r=2;r<=5;++r)i.push("case ",r,":return o",r,"(",e.slice(0,r).join(),");");i.push("}var s=new Array(arguments.length);for(var i=0;i{"use strict";var r=n(5),i=n(359);t.exports=function(t,e){var n=t.length;if(1===n){var o=r(t[0],e);return o[0]?o:[o[1]]}var s=new Array(2*n),a=[.1,.1],u=[.1,.1],c=0;r(t[0],e,a),a[0]&&(s[c++]=a[0]);for(var l=1;l{"use strict";t.exports=function(t,e){var n=0|t.length,r=0|e.length;if(1===n&&1===r)return function(t,e){var n=t+e,r=n-t,i=t-(n-r)+(e-r);return i?[i,n]:[n]}(t[0],-e[0]);var i,o,s=new Array(n+r),a=0,u=0,c=0,l=Math.abs,h=t[u],f=l(h),p=-e[c],d=l(p);f=r?(i=h,(u+=1){"use strict";t.exports=function(t,e){var n=0|t.length,r=0|e.length;if(1===n&&1===r)return function(t,e){var n=t+e,r=n-t,i=t-(n-r)+(e-r);return i?[i,n]:[n]}(t[0],e[0]);var i,o,s=new Array(n+r),a=0,u=0,c=0,l=Math.abs,h=t[u],f=l(h),p=e[c],d=l(p);f=r?(i=h,(u+=1){"use strict";n(746),n(102);function r(t,e){var n=t.length,r=t.length-e.length,i=Math.min;if(r)return r;switch(n){case 0:return 0;case 1:return t[0]-e[0];case 2:return(a=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var a,u=i(t[0],t[1]),c=i(e[0],e[1]);return(a=i(u,t[2])-i(c,e[2]))||i(u+t[2],o)-i(c+e[2],s);default:var l=t.slice(0);l.sort();var h=e.slice(0);h.sort();for(var f=0;fA)){s.applyMatrix4(this.matrixWorld);var E=t.ray.origin.distanceTo(s);Et.far||(e.push({distance:E,point:l.clone().applyMatrix4(this.matrixWorld),index:m,face:null,faceIndex:null,object:this}),m=y)}}}}function s(t,e,n,r,i){var o;if(t=t.subarray||t.slice?t:t.buffer,n=n.subarray||n.slice?n:n.buffer,t=e?t.subarray?t.subarray(e,i&&e+i):t.slice(e,i&&e+i):t,n.set)n.set(t,r);else for(o=0;o0&&(e=this.copyV3(i),this.next.push(e[0],e[1],e[2]),this.next.push(e[0],e[1],e[2]))}e=this.compareV3(n-1,0)?this.copyV3(1):this.copyV3(n-1),this.next.push(e[0],e[1],e[2]),this.next.push(e[0],e[1],e[2]),this._attributes&&this._attributes.position.count===this.positions.length?(this._attributes.position.copyArray(new Float32Array(this.positions)),this._attributes.position.needsUpdate=!0,this._attributes.previous.copyArray(new Float32Array(this.previous)),this._attributes.previous.needsUpdate=!0,this._attributes.next.copyArray(new Float32Array(this.next)),this._attributes.next.needsUpdate=!0,this._attributes.side.copyArray(new Float32Array(this.side)),this._attributes.side.needsUpdate=!0,this._attributes.width.copyArray(new Float32Array(this.width)),this._attributes.width.needsUpdate=!0,this._attributes.uv.copyArray(new Float32Array(this.uvs)),this._attributes.uv.needsUpdate=!0,this._attributes.index.copyArray(new Uint16Array(this.indices_array)),this._attributes.index.needsUpdate=!0):this._attributes={position:new r.BufferAttribute(new Float32Array(this.positions),3),previous:new r.BufferAttribute(new Float32Array(this.previous),3),next:new r.BufferAttribute(new Float32Array(this.next),3),side:new r.BufferAttribute(new Float32Array(this.side),1),width:new r.BufferAttribute(new Float32Array(this.width),1),uv:new r.BufferAttribute(new Float32Array(this.uvs),2),index:new r.BufferAttribute(new Uint16Array(this.indices_array),1),counters:new r.BufferAttribute(new Float32Array(this.counters),1)},this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setIndex(this._attributes.index),this.computeBoundingSphere(),this.computeBoundingBox()},i.prototype.advance=function(t){var e=this._attributes.position.array,n=this._attributes.previous.array,r=this._attributes.next.array,i=e.length;s(e,0,n,0,i),s(e,6,e,0,i-6),e[i-6]=t.x,e[i-5]=t.y,e[i-4]=t.z,e[i-3]=t.x,e[i-2]=t.y,e[i-1]=t.z,s(e,6,r,0,i-6),r[i-6]=t.x,r[i-5]=t.y,r[i-4]=t.z,r[i-3]=t.x,r[i-2]=t.y,r[i-1]=t.z,this._attributes.position.needsUpdate=!0,this._attributes.previous.needsUpdate=!0,this._attributes.next.needsUpdate=!0},r.ShaderChunk.meshline_vert=["",r.ShaderChunk.logdepthbuf_pars_vertex,r.ShaderChunk.fog_pars_vertex,"","attribute vec3 previous;","attribute vec3 next;","attribute float side;","attribute float width;","attribute float counters;","","uniform vec2 resolution;","uniform float lineWidth;","uniform vec3 color;","uniform float opacity;","uniform float sizeAttenuation;","","varying vec2 vUV;","varying vec4 vColor;","varying float vCounters;","","vec2 fix( vec4 i, float aspect ) {",""," vec2 res = i.xy / i.w;"," res.x *= aspect;","\t vCounters = counters;"," return res;","","}","","void main() {",""," float aspect = resolution.x / resolution.y;",""," vColor = vec4( color, opacity );"," vUV = uv;",""," mat4 m = projectionMatrix * modelViewMatrix;"," vec4 finalPosition = m * vec4( position, 1.0 );"," vec4 prevPos = m * vec4( previous, 1.0 );"," vec4 nextPos = m * vec4( next, 1.0 );",""," vec2 currentP = fix( finalPosition, aspect );"," vec2 prevP = fix( prevPos, aspect );"," vec2 nextP = fix( nextPos, aspect );",""," float w = lineWidth * width;",""," vec2 dir;"," if( nextP == currentP ) dir = normalize( currentP - prevP );"," else if( prevP == currentP ) dir = normalize( nextP - currentP );"," else {"," vec2 dir1 = normalize( currentP - prevP );"," vec2 dir2 = normalize( nextP - currentP );"," dir = normalize( dir1 + dir2 );",""," vec2 perp = vec2( -dir1.y, dir1.x );"," vec2 miter = vec2( -dir.y, dir.x );"," //w = clamp( w / dot( miter, perp ), 0., 4. * lineWidth * width );",""," }",""," //vec2 normal = ( cross( vec3( dir, 0. ), vec3( 0., 0., 1. ) ) ).xy;"," vec4 normal = vec4( -dir.y, dir.x, 0., 1. );"," normal.xy *= .5 * w;"," normal *= projectionMatrix;"," if( sizeAttenuation == 0. ) {"," normal.xy *= finalPosition.w;"," normal.xy /= ( vec4( resolution, 0., 1. ) * projectionMatrix ).xy;"," }",""," finalPosition.xy += normal.xy * side;",""," gl_Position = finalPosition;","",r.ShaderChunk.logdepthbuf_vertex,r.ShaderChunk.fog_vertex&&" vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",r.ShaderChunk.fog_vertex,"}"].join("\n"),r.ShaderChunk.meshline_frag=["",r.ShaderChunk.fog_pars_fragment,r.ShaderChunk.logdepthbuf_pars_fragment,"","uniform sampler2D map;","uniform sampler2D alphaMap;","uniform float useMap;","uniform float useAlphaMap;","uniform float useDash;","uniform float dashArray;","uniform float dashOffset;","uniform float dashRatio;","uniform float visibility;","uniform float alphaTest;","uniform vec2 repeat;","","varying vec2 vUV;","varying vec4 vColor;","varying float vCounters;","","void main() {","",r.ShaderChunk.logdepthbuf_fragment,""," vec4 c = vColor;"," if( useMap == 1. ) c *= texture2D( map, vUV * repeat );"," if( useAlphaMap == 1. ) c.a *= texture2D( alphaMap, vUV * repeat ).a;"," if( c.a < alphaTest ) discard;"," if( useDash == 1. ){"," c.a *= ceil(mod(vCounters + dashOffset, dashArray) - (dashArray * dashRatio));"," }"," gl_FragColor = c;"," gl_FragColor.a *= step(vCounters, visibility);","",r.ShaderChunk.fog_fragment,"}"].join("\n");class a extends r.ShaderMaterial{constructor(t){super({uniforms:Object.assign({},r.UniformsLib.fog,{lineWidth:{value:1},map:{value:null},useMap:{value:0},alphaMap:{value:null},useAlphaMap:{value:0},color:{value:new r.Color(16777215)},opacity:{value:1},resolution:{value:new r.Vector2(1,1)},sizeAttenuation:{value:1},dashArray:{value:0},dashOffset:{value:0},dashRatio:{value:.5},useDash:{value:0},visibility:{value:1},alphaTest:{value:0},repeat:{value:new r.Vector2(1,1)}}),vertexShader:r.ShaderChunk.meshline_vert,fragmentShader:r.ShaderChunk.meshline_frag}),this.isMeshLineMaterial=!0,this.type="MeshLineMaterial",Object.defineProperties(this,{lineWidth:{enumerable:!0,get:function(){return this.uniforms.lineWidth.value},set:function(t){this.uniforms.lineWidth.value=t}},map:{enumerable:!0,get:function(){return this.uniforms.map.value},set:function(t){this.uniforms.map.value=t}},useMap:{enumerable:!0,get:function(){return this.uniforms.useMap.value},set:function(t){this.uniforms.useMap.value=t}},alphaMap:{enumerable:!0,get:function(){return this.uniforms.alphaMap.value},set:function(t){this.uniforms.alphaMap.value=t}},useAlphaMap:{enumerable:!0,get:function(){return this.uniforms.useAlphaMap.value},set:function(t){this.uniforms.useAlphaMap.value=t}},color:{enumerable:!0,get:function(){return this.uniforms.color.value},set:function(t){this.uniforms.color.value=t}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(t){this.uniforms.opacity.value=t}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(t){this.uniforms.resolution.value.copy(t)}},sizeAttenuation:{enumerable:!0,get:function(){return this.uniforms.sizeAttenuation.value},set:function(t){this.uniforms.sizeAttenuation.value=t}},dashArray:{enumerable:!0,get:function(){return this.uniforms.dashArray.value},set:function(t){this.uniforms.dashArray.value=t,this.useDash=0!==t?1:0}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(t){this.uniforms.dashOffset.value=t}},dashRatio:{enumerable:!0,get:function(){return this.uniforms.dashRatio.value},set:function(t){this.uniforms.dashRatio.value=t}},useDash:{enumerable:!0,get:function(){return this.uniforms.useDash.value},set:function(t){this.uniforms.useDash.value=t}},visibility:{enumerable:!0,get:function(){return this.uniforms.visibility.value},set:function(t){this.uniforms.visibility.value=t}},alphaTest:{enumerable:!0,get:function(){return this.uniforms.alphaTest.value},set:function(t){this.uniforms.alphaTest.value=t}},repeat:{enumerable:!0,get:function(){return this.uniforms.repeat.value},set:function(t){this.uniforms.repeat.value.copy(t)}}}),this.setValues(t)}}a.prototype.copy=function(t){return r.ShaderMaterial.prototype.copy.call(this,t),this.lineWidth=t.lineWidth,this.map=t.map,this.useMap=t.useMap,this.alphaMap=t.alphaMap,this.useAlphaMap=t.useAlphaMap,this.color.copy(t.color),this.opacity=t.opacity,this.resolution.copy(t.resolution),this.sizeAttenuation=t.sizeAttenuation,this.dashArray.copy(t.dashArray),this.dashOffset.copy(t.dashOffset),this.dashRatio.copy(t.dashRatio),this.useDash=t.useDash,this.visibility=t.visibility,this.alphaTest=t.alphaTest,this.repeat.copy(t.repeat),this},t.exports&&(e=t.exports={MeshLine:i,MeshLineMaterial:a,MeshLineRaycast:o}),e.MeshLine=i,e.MeshLineMaterial=a,e.MeshLineRaycast=o}).call(this)},5:t=>{"use strict";t.exports=function(t,n,r){var i=t*n,o=e*t,s=o-(o-t),a=t-s,u=e*n,c=u-(u-n),l=n-c,h=a*l-(i-s*c-a*c-s*l);return r?(r[0]=h,r[1]=i,r):[h,i]};var e=+(Math.pow(2,27)+1)},359:t=>{"use strict";t.exports=function(t,e,n){var r=t+e,i=r-t,o=e-i,s=t-(r-i);return n?(n[0]=s+o,n[1]=r,n):[s+o,r]}},102:t=>{"use strict";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e{"use strict";t.exports=function(t,e,n){return 0===t.length?t:e?(n||t.sort(e),function(t,e){for(var n=1,r=t.length,i=t[0],o=t[0],s=1;s{"use strict";var r=n(930),i=n(645),o=n(706);function s(t,e){return t-e}t.exports=function(t){var e=t.length;if(0===e)return{cells:[],positions:[]};var n=t[0].length;if(n<1)return{cells:[],positions:[]};if(1===n)return function(t){if(1===t.length)return{cells:[[-1]],positions:[]};var e=t.map((function(t,e){return[t[0],e]}));e.sort((function(t,e){return t-e}));for(var n=new Array(t.length),r=0;r{t.exports=function t(e,n,r){function i(s,a){if(!n[s]){if(!e[s]){if(o)return o(s,!0);throw new Error("Cannot find module '"+s+"'")}a=n[s]={exports:{}},e[s][0].call(a.exports,(function(t){return i(e[s][1][t]||t)}),a,a.exports,t,e,n,r)}return n[s].exports}for(var o=void 0,s=0;s>16),u((65280&r)>>8),u(255&r);return 2==i?u(255&(r=c(t.charAt(n))<<2|c(t.charAt(n+1))>>4)):1==i&&(u((r=c(t.charAt(n))<<10|c(t.charAt(n+1))<<4|c(t.charAt(n+2))>>2)>>8&255),u(255&r)),o},t.fromByteArray=function(t){var e,n,r,i,o=t.length%3,s="";function a(t){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t)}for(e=0,r=t.length-o;e>18&63)+a(i>>12&63)+a(i>>6&63)+a(63&i);switch(o){case 1:s=(s+=a((n=t[t.length-1])>>2))+a(n<<4&63)+"==";break;case 2:s=(s=(s+=a((n=(t[t.length-2]<<8)+t[t.length-1])>>10))+a(n>>4&63))+a(n<<2&63)+"="}return s}}(void 0===n?this.base64js={}:n)}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(t,e,n){(function(e,r,i,o,s,a,u,c,l){var h=t("base64-js"),f=t("ieee754");function i(t,e,n){if(!(this instanceof i))return new i(t,e,n);var r,o,s,a,u=typeof t;if("base64"===e&&"string"==u)for(t=(a=t).trim?a.trim():a.replace(/^\s+|\s+$/g,"");t.length%4!=0;)t+="=";if("number"==u)r=S(t);else if("string"==u)r=i.byteLength(t,e);else{if("object"!=u)throw new Error("First argument needs to be a number, array or string.");r=S(t.length)}if(i._useTypedArrays?o=i._augment(new Uint8Array(r)):((o=this).length=r,o._isBuffer=!0),i._useTypedArrays&&"number"==typeof t.byteLength)o._set(t);else if(j(a=t)||i.isBuffer(a)||a&&"object"==typeof a&&"number"==typeof a.length)for(s=0;s>>0)):(e+1>>0),i}function v(t,e,n,r){if(r||(D("boolean"==typeof n,"missing or invalid endian"),D(null!=e,"missing offset"),D(e+1>>8*(r?o:1-o)}function w(t,e,n,r,i){if(i||(D(null!=e,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+3>>8*(r?o:3-o)&255}function _(t,e,n,r,i){i||(D(null!=e,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+1>8,n%=256,r.push(n),r.push(e);return r}(e),t,n,r)}(this,t,e,n);break;default:throw new Error("Unknown encoding")}return o},i.prototype.toString=function(t,e,n){var r,i,o,s,a=this;if(t=String(t||"utf8").toLowerCase(),e=Number(e)||0,(n=void 0!==n?Number(n):a.length)===e)return"";switch(t){case"hex":r=function(t,e,n){var r=t.length;(!e||e<0)&&(e=0),(!n||n<0||rthis.length&&(r=this.length);var o=(r=t.length-e=this.length))return this[t]},i.prototype.readUInt16LE=function(t,e){return p(this,t,!0,e)},i.prototype.readUInt16BE=function(t,e){return p(this,t,!1,e)},i.prototype.readUInt32LE=function(t,e){return d(this,t,!0,e)},i.prototype.readUInt32BE=function(t,e){return d(this,t,!1,e)},i.prototype.readInt8=function(t,e){if(e||(D(null!=t,"missing offset"),D(t=this.length))return 128&this[t]?-1*(255-this[t]+1):this[t]},i.prototype.readInt16LE=function(t,e){return v(this,t,!0,e)},i.prototype.readInt16BE=function(t,e){return v(this,t,!1,e)},i.prototype.readInt32LE=function(t,e){return g(this,t,!0,e)},i.prototype.readInt32BE=function(t,e){return g(this,t,!1,e)},i.prototype.readFloatLE=function(t,e){return m(this,t,!0,e)},i.prototype.readFloatBE=function(t,e){return m(this,t,!1,e)},i.prototype.readDoubleLE=function(t,e){return y(this,t,!0,e)},i.prototype.readDoubleBE=function(t,e){return y(this,t,!1,e)},i.prototype.writeUInt8=function(t,e,n){n||(D(null!=t,"missing value"),D(null!=e,"missing offset"),D(e=this.length||(this[e]=t)},i.prototype.writeUInt16LE=function(t,e,n){b(this,t,e,!0,n)},i.prototype.writeUInt16BE=function(t,e,n){b(this,t,e,!1,n)},i.prototype.writeUInt32LE=function(t,e,n){w(this,t,e,!0,n)},i.prototype.writeUInt32BE=function(t,e,n){w(this,t,e,!1,n)},i.prototype.writeInt8=function(t,e,n){n||(D(null!=t,"missing value"),D(null!=e,"missing offset"),D(e=this.length||(0<=t?this.writeUInt8(t,e,n):this.writeUInt8(255+t+1,e,n))},i.prototype.writeInt16LE=function(t,e,n){_(this,t,e,!0,n)},i.prototype.writeInt16BE=function(t,e,n){_(this,t,e,!1,n)},i.prototype.writeInt32LE=function(t,e,n){x(this,t,e,!0,n)},i.prototype.writeInt32BE=function(t,e,n){x(this,t,e,!1,n)},i.prototype.writeFloatLE=function(t,e,n){A(this,t,e,!0,n)},i.prototype.writeFloatBE=function(t,e,n){A(this,t,e,!1,n)},i.prototype.writeDoubleLE=function(t,e,n){E(this,t,e,!0,n)},i.prototype.writeDoubleBE=function(t,e,n){E(this,t,e,!1,n)},i.prototype.fill=function(t,e,n){if(e=e||0,n=n||this.length,D("number"==typeof(t="string"==typeof(t=t||0)?t.charCodeAt(0):t)&&!isNaN(t),"value is not a number"),D(e<=n,"end < start"),n!==e&&0!==this.length){D(0<=e&&e"},i.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(i._useTypedArrays)return new i(this).buffer;for(var t=new Uint8Array(this.length),e=0,n=t.length;e=e.length||i>=t.length);i++)e[i+n]=t[i];return i}function B(t){try{return decodeURIComponent(t)}catch(t){return String.fromCharCode(65533)}}function O(t,e){D("number"==typeof t,"cannot write a non-number as a number"),D(0<=t,"specified a negative value for writing an unsigned value"),D(t<=e,"value is larger than maximum value for type"),D(Math.floor(t)===t,"value has a fractional component")}function P(t,e,n){D("number"==typeof t,"cannot write a non-number as a number"),D(t<=e,"value larger than maximum allowed value"),D(n<=t,"value smaller than minimum allowed value"),D(Math.floor(t)===t,"value has a fractional component")}function I(t,e,n){D("number"==typeof t,"cannot write a non-number as a number"),D(t<=e,"value larger than maximum allowed value"),D(n<=t,"value smaller than minimum allowed value")}function D(t,e){if(!t)throw new Error(e||"Failed assertion")}i._augment=function(t){return t._isBuffer=!0,t._get=t.get,t._set=t.set,t.get=M.get,t.set=M.set,t.write=M.write,t.toString=M.toString,t.toLocaleString=M.toString,t.toJSON=M.toJSON,t.copy=M.copy,t.slice=M.slice,t.readUInt8=M.readUInt8,t.readUInt16LE=M.readUInt16LE,t.readUInt16BE=M.readUInt16BE,t.readUInt32LE=M.readUInt32LE,t.readUInt32BE=M.readUInt32BE,t.readInt8=M.readInt8,t.readInt16LE=M.readInt16LE,t.readInt16BE=M.readInt16BE,t.readInt32LE=M.readInt32LE,t.readInt32BE=M.readInt32BE,t.readFloatLE=M.readFloatLE,t.readFloatBE=M.readFloatBE,t.readDoubleLE=M.readDoubleLE,t.readDoubleBE=M.readDoubleBE,t.writeUInt8=M.writeUInt8,t.writeUInt16LE=M.writeUInt16LE,t.writeUInt16BE=M.writeUInt16BE,t.writeUInt32LE=M.writeUInt32LE,t.writeUInt32BE=M.writeUInt32BE,t.writeInt8=M.writeInt8,t.writeInt16LE=M.writeInt16LE,t.writeInt16BE=M.writeInt16BE,t.writeInt32LE=M.writeInt32LE,t.writeInt32BE=M.writeInt32BE,t.writeFloatLE=M.writeFloatLE,t.writeFloatBE=M.writeFloatBE,t.writeDoubleLE=M.writeDoubleLE,t.writeDoubleBE=M.writeDoubleBE,t.fill=M.fill,t.inspect=M.inspect,t.toArrayBuffer=M.toArrayBuffer,t}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(t,e,n){(function(n,r,i,o,s,a,u,c,l){i=t("buffer").Buffer;var h=new i(4);h.fill(0),e.exports={hash:function(t,e,n,r){for(var o=e(function(t,e){t.length%4!=0&&(n=t.length+(4-t.length%4),t=i.concat([t,h],n));for(var n,r=[],o=e?t.readInt32BE:t.readInt32LE,s=0;sv?e=t(e):e.length>5]|=128<>>9<<4)]=e;for(var n=1732584193,r=-271733879,i=-1732584194,o=271733878,s=0;s>>32-i,n)}function d(t,e,n,r,i,o,s){return p(e&n|~e&r,t,e,i,o,s)}function v(t,e,n,r,i,o,s){return p(e&r|n&~r,t,e,i,o,s)}function g(t,e,n,r,i,o,s){return p(e^n^r,t,e,i,o,s)}function m(t,e,n,r,i,o,s){return p(n^(e|~r),t,e,i,o,s)}function y(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n}e.exports=function(t){return h.hash(t,f,16)}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(t,e,n){(function(t,n,r,i,o,s,a,u,c){e.exports=function(t){for(var e,n=new Array(t),r=0;r>>((3&r)<<3)&255;return n}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(t,e,n){(function(n,r,i,o,s,a,u,c,l){var h=t("./helpers");function f(t,e){t[e>>5]|=128<<24-e%32,t[15+(e+64>>9<<4)]=e;for(var n,r,i,o=Array(80),s=1732584193,a=-271733879,u=-1732584194,c=271733878,l=-1009589776,h=0;h>16)+(e>>16)+(n>>16)<<16|65535&n}function d(t,e){return t<>>32-e}e.exports=function(t){return h.hash(t,f,20,!0)}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(t,e,n){(function(n,r,i,o,s,a,u,c,l){function h(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n}function f(t,e){var n,r=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),i=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),o=new Array(64);t[e>>5]|=128<<24-e%32,t[15+(e+64>>9<<4)]=e;for(var s,a,u=0;u>>e|t<<32-e},v=function(t,e){return t>>>e};e.exports=function(t){return p.hash(t,f,32,!0)}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(t,e,n){(function(t,e,r,i,o,s,a,u,c){n.read=function(t,e,n,r,i){var o,s,a=8*i-r-1,u=(1<>1,l=-7,h=n?i-1:0,f=n?-1:1;for(i=t[e+h],h+=f,o=i&(1<<-l)-1,i>>=-l,l+=a;0>=-l,l+=r;0>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:o-1,p=r?1:-1;for(o=e<0||0===e&&1/e<0?1:0,e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(r=Math.pow(2,-s))<1&&(s--,r*=2),2<=(e+=1<=s+l?h/r:h*Math.pow(2,1-l))*r&&(s++,r/=2),c<=s+l?(a=0,s=c):1<=s+l?(a=(e*r-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));8<=i;t[n+f]=255&a,f+=p,a/=256,i-=8);for(s=s<{"use strict";t.exports=THREE}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={id:r,loaded:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var r={};(()=>{"use strict";n.r(r),n.d(r,{BrillouinZoneViewer:()=>b,StructureViewer:()=>f});var t=n(396);const e=new CustomEvent("change"),i=new CustomEvent("start"),o=new CustomEvent("end"),s=-1;class a{constructor(e,n){this._state=s,this.object=e,this.domElement=void 0!==n?n:document,this.enabled=!0,this.screen={left:0,top:0,width:0,height:0},this.rotateSpeed=1,this.zoomSpeed=.2,this.panSpeed=.3,this.enableRotate=!0,this.enableZoom=!0,this.enablePan=!0,this.staticMoving=!1,this.dynamicDampingFactor=.2,this.minDistance=0,this.maxDistance=1/0,this.rotationCenter=new t.Vector3,this.target=new t.Vector3,this._prevState=s,this._eye=new t.Vector3,this._movePrev=new t.Vector2,this._moveCurr=new t.Vector2,this._lastAxis=new t.Vector3,this._lastAngle=0,this._lastPosition=new t.Vector3,this._zoomStart=new t.Vector2,this._zoomEnd=new t.Vector2,this._touchZoomDistanceStart=0,this._touchZoomDistanceEnd=0,this._panStart=new t.Vector2,this._panEnd=new t.Vector2,this._zoomed=!1,this.rotationCenter0=this.rotationCenter.clone(),this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.up0=this.object.up.clone(),this.zoom0=this.object.zoom,this.domElement.addEventListener("contextmenu",this.contextmenu.bind(this),!1),this.domElement.addEventListener("mousedown",this.mousedown.bind(this),!1),this.domElement.addEventListener("mousewheel",this.mousewheel.bind(this),!1),this.domElement.addEventListener("MozMousePixelScroll",this.mousewheel.bind(this),!1),this.domElement.addEventListener("touchstart",this.touchstart.bind(this),!1),this.domElement.addEventListener("touchend",this.touchend.bind(this),!1),this.domElement.addEventListener("touchmove",this.touchmove.bind(this),!1),this.domElement.addEventListener("mousemove",this.mousemove.bind(this),!1),this.domElement.addEventListener("mouseup",this.mouseup.bind(this),!1),this.domElement.addEventListener("dblclick",this.dblclick.bind(this),!1),this.handleResize(),this.update()}handleResize(){if(this.domElement===document)this.screen.left=0,this.screen.top=0,this.screen.width=window.innerWidth,this.screen.height=window.innerHeight;else{const t=this.domElement.getBoundingClientRect(),e=this.domElement.ownerDocument.documentElement;this.screen.left=t.left+window.pageXOffset-e.clientLeft,this.screen.top=t.top+window.pageYOffset-e.clientTop,this.screen.width=t.width,this.screen.height=t.height}}handleEvent(t){"function"==typeof this[t.type]&&this[t.type](t)}getMouseOnScreen(e,n){const r=new t.Vector2;return r.set((e-this.screen.left)/this.screen.width,(n-this.screen.top)/this.screen.width),r}getMouseOnCircle(e,n){const r=new t.Vector2;return r.set((e-.5*this.screen.width-this.screen.left)/(.5*this.screen.width),(this.screen.height+2*(this.screen.top-n))/this.screen.width),r}rotateCamera(){const e=new t.Vector3,n=new t.Quaternion,r=new t.Vector3,i=new t.Vector3,o=new t.Vector3,s=new t.Vector3;s.set(this._moveCurr.x-this._movePrev.x,this._moveCurr.y-this._movePrev.y,0);let a=s.length();if(a){this._eye.copy(this.object.position).sub(this.rotationCenter),r.copy(this._eye).normalize(),i.copy(this.object.up).normalize(),o.crossVectors(i,r).normalize(),i.setLength(this._moveCurr.y-this._movePrev.y),o.setLength(this._moveCurr.x-this._movePrev.x),s.copy(i.add(o)),e.crossVectors(s,this._eye).normalize();const t=this.object.zoom;a*=this.rotateSpeed,a/=t,n.setFromAxisAngle(e,a),this._eye.applyQuaternion(n),this.object.up.applyQuaternion(n),this._lastAxis.copy(e),this._lastAngle=a}else!this.staticMoving&&this._lastAngle&&(this._lastAngle*=Math.sqrt(1-this.dynamicDampingFactor),this._eye.copy(this.object.position).sub(this.rotationCenter),n.setFromAxisAngle(this._lastAxis,this._lastAngle),this._eye.applyQuaternion(n),this.object.up.applyQuaternion(n));this._movePrev.copy(this._moveCurr)}zoomCamera(){let t;4===this._state?(t=this._touchZoomDistanceStart/this._touchZoomDistanceEnd,this._touchZoomDistanceStart=this._touchZoomDistanceEnd,this.object.zoom/=t,this.object.updateProjectionMatrix(),this._zoomed=!0):(t=this._zoomEnd.y-this._zoomStart.y+1,1!==t&&t>0&&(this.object.zoom/=t,this.object.updateProjectionMatrix(),this._zoomed=!0,this.staticMoving?this._zoomStart.copy(this._zoomEnd):this._zoomStart.y+=(this._zoomEnd.y-this._zoomStart.y)*this.dynamicDampingFactor))}panCamera(){const e=new t.Vector2,n=new t.Vector3,r=new t.Vector3;if(e.copy(this._panEnd).sub(this._panStart),e.lengthSq()){const t=this.object.zoom;e.multiplyScalar(this.panSpeed/t),r.copy(this._eye).cross(this.object.up).setLength(e.x),r.add(n.copy(this.object.up).setLength(e.y)),this.object.position.add(r),this.rotationCenter.add(r),this.staticMoving?this._panStart.copy(this._panEnd):this._panStart.add(e.subVectors(this._panEnd,this._panStart).multiplyScalar(this.dynamicDampingFactor))}}checkDistances(){(this.enableZoom||this.enablePan)&&(this._eye.lengthSq()>this.maxDistance*this.maxDistance&&(this.object.position.addVectors(this.rotationCenter,this._eye.setLength(this.maxDistance)),this._zoomStart.copy(this._zoomEnd)),this._eye.lengthSq()1e-4||this._zoomed)&&(this.dispatchEvent(e),this._lastPosition.copy(this.object.position),this._zoomed=!1)}saveReset(){this.rotationCenter0.copy(this.rotationCenter),this.position0.copy(this.object.position),this.up0.copy(this.object.up),this.zoom0=this.object.zoom}reset(){this._state=s,this._prevState=s,this.rotationCenter.copy(this.rotationCenter0),this.object.position.copy(this.position0),this.object.up.copy(this.up0),this._eye.subVectors(this.object.position,this.rotationCenter),this.object.lookAt(this.rotationCenter),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this._lastPosition.copy(this.object.position)}dispose(){this.domElement.removeEventListener("contextmenu",this.contextmenu.bind(this),!1),this.domElement.removeEventListener("mousedown",this.mousedown.bind(this),!1),this.domElement.removeEventListener("mousewheel",this.mousewheel.bind(this),!1),this.domElement.removeEventListener("MozMousePixelScroll",this.mousewheel.bind(this),!1),this.domElement.removeEventListener("touchstart",this.touchstart.bind(this),!1),this.domElement.removeEventListener("touchend",this.touchend.bind(this),!1),this.domElement.removeEventListener("touchmove",this.touchmove.bind(this),!1),this.domElement.removeEventListener("mousemove",this.mousemove.bind(this),!1),this.domElement.removeEventListener("mouseup",this.mouseup.bind(this),!1),this.domElement.removeEventListener("dblclick",this.dblclick.bind(this),!1)}mousedown(t){!1!==this.enabled&&(t.preventDefault(),t.stopPropagation(),this._state===s&&(this._state=t.button),0===this._state&&this.enableRotate?(this._moveCurr.copy(this.getMouseOnCircle(t.pageX,t.pageY)),this._movePrev.copy(this._moveCurr)):1===this._state&&this.enableZoom?(this._zoomStart.copy(this.getMouseOnScreen(t.pageX,t.pageY)),this._zoomEnd.copy(this._zoomStart)):2===this._state&&this.enablePan&&(this._panStart.copy(this.getMouseOnScreen(t.pageX,t.pageY)),this._panEnd.copy(this._panStart)),this.dispatchEvent(i))}mousemove(t){!1!==this.enabled&&(this._state!==s&&(t.preventDefault(),t.stopPropagation()),0===this._state&&this.enableRotate?(this._movePrev.copy(this._moveCurr),this._moveCurr.copy(this.getMouseOnCircle(t.pageX,t.pageY))):1===this._state&&this.enableZoom?this._zoomEnd.copy(this.getMouseOnScreen(t.pageX,t.pageY)):2===this._state&&this.enablePan&&this._panEnd.copy(this.getMouseOnScreen(t.pageX,t.pageY)),this.update())}mouseup(t){!1!==this.enabled&&(t.preventDefault(),t.stopPropagation(),this._state=s,document.removeEventListener("mousemove",this.mousemove.bind(this)),document.removeEventListener("mouseup",this.mouseup.bind(this)),this.dispatchEvent(o))}dblclick(t){!1!==this.enabled&&this.resetOnDoubleClick&&(t.preventDefault(),t.stopPropagation(),this.reset(),this.dispatchEvent(e))}mousewheel(t){if(!1===this.enabled)return;t.preventDefault(),t.stopPropagation();let e=0;t.wheelDelta?e=t.wheelDelta:t.detail&&(e=-t.detail),e/=Math.abs(e),this._zoomStart.y+=e*this.zoomSpeed,this.dispatchEvent(i),this.dispatchEvent(o),this.update()}touchstart(t){if(!1!==this.enabled){if(1===t.touches.length)this._state=3,this._moveCurr.copy(this.getMouseOnCircle(t.touches[0].pageX,t.touches[0].pageY)),this._movePrev.copy(this._moveCurr);else{this._state=4;const e=t.touches[0].pageX-t.touches[1].pageX,n=t.touches[0].pageY-t.touches[1].pageY;this._touchZoomDistanceEnd=this._touchZoomDistanceStart=Math.sqrt(e*e+n*n);const r=(t.touches[0].pageX+t.touches[1].pageX)/2,i=(t.touches[0].pageY+t.touches[1].pageY)/2;this._panStart.copy(this.getMouseOnScreen(r,i)),this._panEnd.copy(this._panStart)}this.dispatchEvent(i)}}touchmove(t){if(!1!==this.enabled){if(t.preventDefault(),t.stopPropagation(),1===t.touches.length)this._movePrev.copy(this._moveCurr),this._moveCurr.copy(this.getMouseOnCircle(t.touches[0].pageX,t.touches[0].pageY));else{const e=t.touches[0].pageX-t.touches[1].pageX,n=t.touches[0].pageY-t.touches[1].pageY;this._touchZoomDistanceEnd=Math.sqrt(e*e+n*n);const r=(t.touches[0].pageX+t.touches[1].pageX)/2,i=(t.touches[0].pageY+t.touches[1].pageY)/2;this._panEnd.copy(this.getMouseOnScreen(r,i))}this.update()}}touchend(t){if(!1!==this.enabled){switch(t.touches.length){case 0:this._state=s;break;case 1:this._state=3,this._moveCurr.copy(this.getMouseOnCircle(t.touches[0].pageX,t.touches[0].pageY)),this._movePrev.copy(this._moveCurr)}this.dispatchEvent(o)}}contextmenu(t){t.preventDefault()}addEventListener(t,e){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(e)&&n[t].push(e)}hasEventListener(t,e){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[t]&&-1!==n[t].indexOf(e)}removeEventListener(t,e){if(void 0===this._listeners)return;const n=this._listeners[t];if(void 0!==n){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}dispatchEvent(t){if(void 0===this._listeners)return;const e=this._listeners[t.type];if(void 0!==e){const n=e.slice(0);for(let e=0,r=n.length;et.updateMatrixWorld()));const r=this.rootElement,i=r.clientWidth,o=r.clientHeight,s=[],a=e.length;this.camera.zoom=1,this.camera.updateProjectionMatrix();const u=new t.Vector3(0,0,0);u.project(this.camera),u.x=Math.round((u.x+1)*i/2),u.y=Math.round((1-u.y)*o/2),u.z=0;const c=new t.Vector3(n,n,0);c.project(this.camera),c.x=Math.round((c.x+1)*i/2),c.y=Math.round((1-c.y)*o/2),c.sub(u),c.x=Math.abs(c.x),c.y=Math.abs(c.y),c.z=0;for(let t=0;th?h=n:np?p=r:r0&&(l.lineWidth=256*a,l.strokeStyle=u,l.strokeText(n,128,128)),l.fillText(n,128,128);const h=new t.Texture(c);h.needsUpdate=!0;const f=new t.SpriteMaterial({map:h}),p=new t.Sprite(f);p.scale.set(o,o,1),void 0===s&&(s=new t.Vector2(0,0));const d=new t.Vector2;d.addVectors(s,new t.Vector2(.5,.5)),p.center.copy(d);const v=new t.Object3D;return v.position.copy(e),v.add(p),v}rotateAroundWorldAxis(e,n,r){const i=new t.Matrix4;i.makeRotationAxis(n.normalize(),r),i.multiply(e.matrix),e.matrix=i,e.rotation.setFromRotationMatrix(e.matrix)}coordinateTransform(t,e,n,r=!0){return(r?n.clone():n).applyMatrix3(t).applyMatrix3(e)}alignView(e,n){if(void 0===e)return;if(e.length>2)throw"At most two alignments can be performed.";const r=[],i=e=>{const i=e[0],o=e[1];let s;switch(i){case"up":s=new t.Vector3(0,1,0);break;case"down":s=new t.Vector3(0,-1,0);break;case"right":s=new t.Vector3(1,0,0);break;case"left":s=new t.Vector3(-1,0,0);break;case"front":s=new t.Vector3(0,0,1);break;case"back":s=new t.Vector3(0,0,-1)}const a=n[o];for(const t of r)a[t]=0;if(a.length()>1e-8){const e=(new t.Quaternion).setFromUnitVectors(a.clone().normalize(),s);for(const t in n)n[t].applyQuaternion(e);for(const t of this.objects)t.applyQuaternion(e),t.updateMatrixWorld();"right"==i||"left"==i?r.push("x"):"up"==i||"down"==i?r.push("y"):"front"!=i&&"back"!=i||r.push("z")}};for(const t of e)i(t)}}var l=n(990),h=n.n(l);class f extends c{constructor(t,e={}){super(t,e),this.hostElement=t,this.atomicRadii=[],this.elementColors=[],this.meshMap={},this.atomConfigMap={},this.configMap={},this.lights=[],this.bondFills=[],this.atomFills=[],this.atomOutlines=[],this.axisLabels=[],this.label_missing="X",this.elementNames=[this.label_missing,"H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"],this.elementNumbers={[this.label_missing]:0,H:1,He:2,Li:3,Be:4,B:5,C:6,N:7,O:8,F:9,Ne:10,Na:11,Mg:12,Al:13,Si:14,P:15,S:16,Cl:17,Ar:18,K:19,Ca:20,Sc:21,Ti:22,V:23,Cr:24,Mn:25,Fe:26,Co:27,Ni:28,Cu:29,Zn:30,Ga:31,Ge:32,As:33,Se:34,Br:35,Kr:36,Rb:37,Sr:38,Y:39,Zr:40,Nb:41,Mo:42,Tc:43,Ru:44,Rh:45,Pd:46,Ag:47,Cd:48,In:49,Sn:50,Sb:51,Te:52,I:53,Xe:54,Cs:55,Ba:56,La:57,Ce:58,Pr:59,Nd:60,Pm:61,Sm:62,Eu:63,Gd:64,Tb:65,Dy:66,Ho:67,Er:68,Tm:69,Yb:70,Lu:71,Hf:72,Ta:73,W:74,Re:75,Os:76,Ir:77,Pt:78,Au:79,Hg:80,Tl:81,Pb:82,Bi:83,Po:84,At:85,Rn:86,Fr:87,Ra:88,Ac:89,Th:90,Pa:91,U:92,Np:93,Pu:94,Am:95,Cm:96,Bk:97,Cf:98,Es:99,Fm:100,Md:101,No:102,Lr:103,Rf:104,Db:105,Sg:106,Bh:107,Hs:108,Mt:109,Ds:110,Rg:111,Cn:112,Nh:113,Fl:114,Mc:115,Lv:116,Ts:117,Og:118},this.radii_unknown=.1,this.covalentRadii=[this.radii_unknown,.31,.28,1.28,.96,.84,.76,.71,.66,.57,.58,1.66,1.41,1.21,1.11,1.07,1.05,1.02,1.06,2.03,1.76,1.7,1.6,1.53,1.39,1.39,1.32,1.26,1.24,1.32,1.22,1.22,1.2,1.19,1.2,1.2,1.16,2.2,1.95,1.9,1.75,1.64,1.54,1.47,1.46,1.42,1.39,1.45,1.44,1.42,1.39,1.39,1.38,1.39,1.4,2.44,2.15,2.07,2.04,2.03,2.01,1.99,1.98,1.98,1.96,1.94,1.92,1.92,1.89,1.9,1.87,1.87,1.75,1.7,1.62,1.51,1.44,1.41,1.36,1.36,1.32,1.45,1.46,1.48,1.4,1.5,1.5,2.6,2.21,2.15,2.06,2,1.96,1.9,1.87,1.8,1.69,this.radii_unknown,this.radii_unknown,this.radii_unknown,this.radii_unknown,this.radii_unknown,this.radii_unknown,this.radii_unknown],this.color_unknown="#ff1493",this.jmolColors=[this.color_unknown,"#ffffff","#d9ffff","#cc80ff","#c2ff00","#ffb5b5","#909090","#3050f8","#ff0d0d","#90e050","#b3e3f5","#ab5cf2","#8aff00","#bfa6a6","#f0c8a0","#ff8000","#ffff30","#1ff01f","#80d1e3","#8f40d4","#3dff00","#e6e6e6","#bfc2c7","#a6a6ab","#8a99c7","#9c7ac7","#e06633","#f090a0","#50d050","#c88033","#7d80b0","#c28f8f","#668f8f","#bd80e3","#ffa100","#a62929","#5cb8d1","#702eb0","#00ff00","#94ffff","#94e0e0","#73c2c9","#54b5b5","#3b9e9e","#248f8f","#0a7d8c","#006985","#c0c0c0","#ffd98f","#a67573","#668080","#9e63b5","#d47a00","#940094","#429eb0","#57178f","#00c900","#70d4ff","#ffffc7","#d9ffc7","#c7ffc7","#a3ffc7","#8fffc7","#61ffc7","#45ffc7","#30ffc7","#1fffc7","#00ff9c","#00e675","#00d452","#00bf38","#00ab24","#4dc2ff","#4da6ff","#2194d6","#267dab","#266696","#175487","#d0d0e0","#ffd123","#b8b8d0","#a6544d","#575961","#9e4fb5","#ab5c00","#754f45","#428296","#420066","#007d00","#70abfa","#00baff","#00a1ff","#008fff","#0080ff","#006bff","#545cf2","#785ce3","#8a4fe3","#a136d4","#b31fd4","#b31fba","#b30da6","#bd0d87","#c70066","#cc0059","#d1004f","#d90045","#e00038","#e6002e","#eb0026"]}setOptions(t){this.atomDefaults=(0,u.merge)((0,u.cloneDeep)({material:{phong:{shininess:30}},outline:{enabled:!0,color:"#000000",size:.025},opacity:1,color:"Jmol",radius:"covalent",scale:1,smoothness:165}),(0,u.cloneDeep)(null==t?void 0:t.atoms)),this.bondDefaults=(0,u.merge)((0,u.cloneDeep)({enabled:!0,material:{phong:{shininess:30}},outline:{enabled:!0,color:"#000000",size:.025},color:"#ffffff",radius:.08,threshold:1,smoothness:145}),(0,u.cloneDeep)(null==t?void 0:t.bonds)),this.cellDefaults=(0,u.merge)((0,u.cloneDeep)({enabled:!0,color:"#000000",linewidth:1.5,dashSize:0,gapSize:0,periodicity:[!0,!0,!0]}),(0,u.cloneDeep)(null==t?void 0:t.cell)),this.latticeConstantDefaults=(0,u.merge)((0,u.cloneDeep)({enabled:!0,periodicity:[!0,!0,!0],font:"Arial",size:.7,stroke:{width:.06,color:"#000"},a:{enabled:!0,color:"#C52929",label:"a"},b:{enabled:!0,color:"#47A823",label:"b"},c:{enabled:!0,color:"#3B5796",label:"c"},alpha:{enabled:!0,color:"#ffffff",label:"α"},beta:{enabled:!0,color:"#ffffff",label:"β"},gamma:{enabled:!0,color:"#ffffff",label:"γ"}}),(0,u.cloneDeep)(null==t?void 0:t.latticeConstants))}setupScenes(){this.scenes=[],this.sceneStructure=new t.Scene,this.scenes.push(this.sceneStructure),this.sceneInfo=new t.Scene,this.scenes.push(this.sceneInfo),this.root=new t.Object3D,this.container=new t.Object3D,this.info=new t.Object3D,this.atomsObject=new t.Object3D,this.bondsObject=new t.Object3D,this.container.add(this.atomsObject),this.container.add(this.bondsObject),this.angleArcs=new t.Object3D,this.root.add(this.container),this.sceneStructure.add(this.root),this.sceneInfo.add(this.info),this.latticeConstantsGroup=new t.Object3D,this.container.add(this.latticeConstantsGroup),this.objects=[this.root,this.info]}getElementInfo(){return this.elements}toggleShadows(t){this.renderer.shadowMap.enabled=t;for(let e=0;et<0||t>=this.elementNames.length?0:t)):r.map((t=>this.elementNumbers[t]||0));if(this.maxRadii=Math.max(...c.map((t=>this.getRadii(t)))),a){if(!Array.isArray(a))return console.log("Invalid value for 'bonds'. Provide a list of index pairs."),!1}else a="auto";if(n.length!=c.length)return console.log("The number of positions does not match the number of labels."),!1;this.createBasisVectors(i);let l=[],h=[];return!0===e?(l=this.toVectors(n),h=this.toCartesian(l,!0)):!1===e&&(h=this.toVectors(n),void 0!==this.B&&(l=this.toScaled(h,!0))),void 0!==this.B?this.createAtoms(l,c,s,!0,o):(this.basisVectors,this.createAtoms(h,c,s,!1,o)),this.toggleShadows(this.rendererDefaults.shadows.enabled),!0}calculateCOP(e){const n=e.length,r=new t.Vector3;for(let t=0;tn[t]));e=this.calculateCOP(r)}else{const n=this.toVectors(t);e=this.calculateCOP(n)}}this.translate(e.multiplyScalar(-1))}fit(t,e=0){let n,r=0;if("full"===t)n=this.getPositionsGlobal(),r=this.maxRadii;else{if(!(0,u.isArray)(t))throw Error("Invalid fit positions.");if((0,u.isNumber)(t[0])){const e=this.getPositionsGlobal();n=t.map((t=>e[t])),r=Math.max(...t.map((t=>this.getRadii(this.atomicNumbers[t]))))}else n=this.toVectors(t),n=n.map((t=>t.clone().add(this.translation)))}this.fitViewToPoints(n,e+r)}align(t){const e={a:this.basisVectors[0].clone(),"-a":this.basisVectors[0].clone().negate(),b:this.basisVectors[1].clone(),"-b":this.basisVectors[1].clone().negate(),c:this.basisVectors[2].clone(),"-c":this.basisVectors[2].clone().negate()};super.alignView(t,e)}atoms(t){(0,u.isNil)(t)?t=[{}]:(0,u.isPlainObject)(t)&&(t=[t]);for(let e of t){e=(0,u.merge)((0,u.cloneDeep)(this.atomDefaults),(0,u.cloneDeep)(e));const t=e.include,n=e.exclude,r=!(0,u.isNil)(t),i=!(0,u.isNil)(n);let o;const s=this.atomicNumbers.length;if(r&&i)throw Error("Only provide include or exclude, not both.");if(r)o=t;else if(i){const t=new Set(n);o=(0,u.range)(s).filter((e=>!t.has(e)))}else o=(0,u.range)(s);delete e.include,delete e.exclude;const a=h()(e,{algorithm:"md5"});this.configMap[a]=e;for(const t of o)this.atomConfigMap[t]=a,this.updateAtom(t,e,a)}}bonds(e){(0,u.isNil)(this.bondsObject)||(this.bondFills=[],this.bondsObject.clear());const n=(0,u.merge)((0,u.cloneDeep)(this.bondDefaults),(0,u.cloneDeep)(e||{}));if(!n.enabled)return;const r=n.include,i=n.exclude,o=!(0,u.isNil)(r),s=!(0,u.isNil)(i);let a;const c=this.atomicNumbers.length;if(o&&s)throw Error("Only provide include or exclude, not both.");if(o)a=r;else if(s){const t=new Set(i);a=(0,u.range)(c).filter((e=>!t.has(e)))}else a=(0,u.range)(c);let l;if(n.material.toon){const e=n.material.toon.tones,r=new Uint8Array(e);for(let t=0;t<=e;t++)r[t]=t/e*256;const i=new t.DataTexture(r,r.length,1,t.LuminanceFormat);i.minFilter=t.NearestFilter,i.magFilter=t.NearestFilter,i.generateMipmaps=!1,l=new t.MeshToonMaterial({color:n.color,gradientMap:i})}else l=new t.MeshPhongMaterial({color:n.color,shininess:n.material.phong.shininess});const h=this.getPositionsLocal();for(const t of a)for(const e of a)if(e>t){const r=h[t],i=h[e],o=this.atomicNumbers[t],s=this.atomicNumbers[e],a=i.clone().sub(r).length(),u=this.atomConfigMap[t],c=this.atomConfigMap[e],f=this.configMap[u],p=this.configMap[c],d=f.scale*this.getRadii(o),v=p.scale*this.getRadii(s);a<=1.1*n.threshold*(d+v)&&this.addBond(t,e,r,i,l,n)}}cell(e){if((0,u.isNil)(this.basisVectors))throw Error("The loaded structure does not have any cell information.");(0,u.isNil)(this.convCell)||this.container.remove(this.convCell);const n=(0,u.merge)((0,u.cloneDeep)(this.cellDefaults),(0,u.cloneDeep)(e||{}));if(n.enabled){const e=this.createCell(new t.Vector3,this.basisVectors,this.basisVectorCollapsed,n.periodicity,n.color,n.linewidth,n.dashSize,n.gapSize);this.convCell=e,this.container.add(this.convCell)}}latticeConstants(e){var n,r,i,o,s,a,c,l,h,f,p,d,v,g,m,y,b,w,_,x,A,E,M,C;if((0,u.isNil)(this.basisVectors))throw Error("The loaded structure does not have any cell information.");this.latticeConstantsGroup.clear(),this.axisLabels=[],this.angleArcs.clear();const S=(0,u.merge)((0,u.cloneDeep)(this.latticeConstantDefaults),(0,u.cloneDeep)(e||{}));if(!S.enabled)return;const j=[];for(let t=0;t<3;++t){const e=S.periodicity[t],n=S.periodicity[(t+1)%3],r=S.periodicity[(t+2)%3];if(e&&!n&&!r){j.push(t);break}if(e&&n&&!r){j.push(t),j.push((t+1)%3);break}}const k=this.basisVectors;this.axisLabels=[],this.info.add(this.latticeConstantsGroup),this.info.add(this.angleArcs);let V=-1;const z=[];z.push(S.a.color),z.push(S.b.color),z.push(S.c.color);const L=[];L.push(S.alpha.color),L.push(S.beta.color),L.push(S.gamma.color);const B=[];B.push(void 0===(null===(r=null===(n=S.alpha)||void 0===n?void 0:n.stroke)||void 0===r?void 0:r.color)?S.stroke.color:S.alpha.stroke.color),B.push(void 0===(null===(o=null===(i=S.beta)||void 0===i?void 0:i.stroke)||void 0===o?void 0:o.color)?S.stroke.color:S.beta.stroke.color),B.push(void 0===(null===(a=null===(s=S.gamma)||void 0===s?void 0:s.stroke)||void 0===a?void 0:a.color)?S.stroke.color:S.gamma.stroke.color);const O=[];O.push(void 0===(null===(l=null===(c=S.alpha)||void 0===c?void 0:c.stroke)||void 0===l?void 0:l.width)?S.stroke.width:S.alpha.stroke.width),O.push(void 0===(null===(f=null===(h=S.beta)||void 0===h?void 0:h.stroke)||void 0===f?void 0:f.width)?S.stroke.width:S.beta.stroke.width),O.push(void 0===(null===(d=null===(p=S.gamma)||void 0===p?void 0:p.stroke)||void 0===d?void 0:d.width)?S.stroke.width:S.gamma.stroke.width);const P=[S.gamma.label,S.alpha.label,S.beta.label],I=[S.a.label,S.b.label,S.c.label],D=[S.gamma.enabled,S.alpha.enabled,S.beta.enabled],T=[S.a.enabled,S.b.enabled,S.c.enabled],F=[];F.push(void 0===S.a.font?S.font:S.a.font),F.push(void 0===S.b.font?S.font:S.b.font),F.push(void 0===S.c.font?S.font:S.c.font);const R=[];R.push(void 0===S.a.size?S.size:S.a.size),R.push(void 0===S.b.size?S.size:S.b.size),R.push(void 0===S.c.size?S.size:S.c.size);const U=[];U.push(void 0===(null===(g=null===(v=S.a)||void 0===v?void 0:v.stroke)||void 0===g?void 0:g.color)?S.stroke.color:S.a.stroke.color),U.push(void 0===(null===(y=null===(m=S.b)||void 0===m?void 0:m.stroke)||void 0===y?void 0:y.color)?S.stroke.color:S.b.stroke.color),U.push(void 0===(null===(w=null===(b=S.c)||void 0===b?void 0:b.stroke)||void 0===w?void 0:w.color)?S.stroke.color:S.c.stroke.color);const N=[];N.push(void 0===(null===(x=null===(_=S.a)||void 0===_?void 0:_.stroke)||void 0===x?void 0:x.width)?S.stroke.width:S.a.stroke.width),N.push(void 0===(null===(E=null===(A=S.b)||void 0===A?void 0:A.stroke)||void 0===E?void 0:E.width)?S.stroke.width:S.b.stroke.width),N.push(void 0===(null===(C=null===(M=S.c)||void 0===M?void 0:M.stroke)||void 0===C?void 0:C.width)?S.stroke.width:S.c.stroke.width);const W=[];W.push(void 0===S.alpha.font?S.font:S.alpha.font),W.push(void 0===S.beta.font?S.font:S.beta.font),W.push(void 0===S.gamma.font?S.font:S.gamma.font);const G=[];G.push(void 0===S.alpha.size?S.size:S.alpha.size),G.push(void 0===S.beta.size?S.size:S.beta.size),G.push(void 0===S.gamma.size?S.size:S.gamma.size);for(let e=0;e<3;++e){V+=1;const n=I[V],r=z[V],i=F[V],o=R[V],s=G[V],a=N[V],u=U[V],c=W[V],l=L[V],h=P[V],f=B[V],p=O[V],d=T[V],v=D[V],g=this.basisVectorCollapsed[e],m=this.basisVectorCollapsed[(e+1)%3],y=this.basisVectorCollapsed[(e+2)%3],b=k[e],w=k[(e+1)%3].clone(),_=k[(e+2)%3].clone();if(d&&!g){const s=new t.Vector3(0,0,0),c=b.clone(),l=c.clone().multiplyScalar(.5);let h,f;if(m&&y)f=new t.Vector3(0,0,1),h=(new t.Vector3).crossVectors(b,f);else if(m)f=(new t.Vector3).crossVectors(b,_),h=(new t.Vector3).crossVectors(b,f);else if(y)f=(new t.Vector3).crossVectors(b,w),h=(new t.Vector3).crossVectors(b,f);else{const e=(new t.Vector3).crossVectors(b,w),n=(new t.Vector3).crossVectors(b,_);h=(new t.Vector3).sub(e).add(n)}h.normalize(),h.multiplyScalar(.8),l.add(h);const p=this.createLabel(l,n,r,i,o,new t.Vector2(0,0),a,u);this.latticeConstantsGroup.add(p),this.axisLabels.push(p);const d=new t.MeshBasicMaterial({color:r,transparent:!0,opacity:.75}),v=b.clone(),g=this.createCylinder(s.clone(),v.clone().add(s),.09,10,d);this.latticeConstantsGroup.add(g);const x=new t.MeshBasicMaterial({color:"#000000"}),A=this.basisVectors[e].clone(),E=A.clone().multiplyScalar(1+1.3/A.length()),M=this.createCylinder(s.clone(),E,.02,10,x);this.latticeConstantsGroup.add(M);const C=new t.CylinderGeometry(0,.1,.5,12),S=new t.MeshBasicMaterial({color:0}),j=new t.Mesh(C,S);j.position.copy(c).multiplyScalar(1+1.3/c.length()),j.lookAt(new t.Vector3),j.rotateX(-Math.PI/2),this.latticeConstantsGroup.add(j)}if(v&&!g&&!m){const e=new t.LineDashedMaterial({color:0,linewidth:2,dashSize:.2,gapSize:.1}),n=(new t.Vector3).crossVectors(b,w),r=b.angleTo(w),i=Math.max(Math.min(1/4*b.length(),1/4*w.length()),1),o=20,a=new t.EllipseCurve(0,0,i,i,0,r,!1,0).getSpacedPoints(o),u=(new t.BufferGeometry).setFromPoints(a),d=new t.Line(u,e);d.computeLineDistances();const v=new t.Vector3(1,0,0),g=(new t.Quaternion).setFromUnitVectors(v,b.clone().normalize());d.quaternion.copy(g);const m=u.attributes.position.array,y=m.length/3,_=(new t.Vector3).fromArray(m,3*(y-1));d.updateMatrixWorld();const x=d.localToWorld(_.clone()),A=b,E=(new t.Vector3).crossVectors(A,x);let M=n.angleTo(E);(new t.Vector3).crossVectors(w,x).dot(A)>0&&(M=-M),d.rotateX(M),d.updateMatrixWorld(),d.updateMatrix();const C=d.localToWorld((new t.Vector3).fromArray(m,3*(o/2-1))),S=C.length();C.multiplyScalar(1+.3/S);const j=this.createLabel(C,h.toString(),l,c,s,new t.Vector2(0,0),p,f);this.latticeConstantsGroup.add(j),this.axisLabels.push(j),this.angleArcs.add(d)}}}getPositionsLocal(){return this.positions}getPositionsGlobal(){const e=this.positions.length,n=[];this.atomsObject.updateMatrixWorld();for(let r=0;rt))?(this.B=void 0,this.Bi=void 0):(this.B=o,this.Bi=(new t.Matrix3).copy(o).invert())}getRadii(t){return this.atomicRadii[t]||this.radii_unknown}getColor(t,e){return"Jmol"===t.color?this.elementColors[e]||this.color_unknown:t.color}createCell(e,n,r,i,o,s,a,u){const c=new t.Object3D;let l;l=0!==a||0!==u?new t.LineDashedMaterial({color:o,linewidth:s,dashSize:a,gapSize:u}):new t.LineBasicMaterial({color:o,linewidth:s});for(let o=n.length,s=0;st))){if((0,u.isNil)(this.B))throw Error("Could not wrap as cell is not set.");if(t){const t=this.toScaled(this.positions,!0);for(let n=t.length,r=0;r!0===t))&&(i&&"boundary"===o.type?this.addBoundaryAtoms(e,n,o.tolerance):i&&Array.isArray(o)&&this.repeat(o,e,n));const s=[];for(const n of e){const e=new t.Vector3;i?(e.add(this.basisVectors[0].clone().multiplyScalar(n.x)),e.add(this.basisVectors[1].clone().multiplyScalar(n.y)),e.add(this.basisVectors[2].clone().multiplyScalar(n.z))):e.copy(n),s.push(e)}this.positions=s,this.positionsOriginal=s.map((t=>t.clone())),this.atomicNumbers=n;for(const t of n){const e=this.elementNames[t];this.elements[e]=[this.jmolColors[t],this.covalentRadii[t]]}}almostEqual(t,e,n,r){const i=e-t;return Math.abs(n.clone().multiplyScalar(i).length())0;)e=e.next,t--;for(;t<0;)e=e.prev,t++;return e}compute(){var e;void 0===e&&(e=new t.Triangle);var n=this.edge.tail(),r=this.edge.head(),i=this.edge.next.head();return e.set(n.point,r.point,i.point),e.getNormal(this.normal),e.getMidpoint(this.midpoint),this.area=e.getArea(),this.constant=this.normal.dot(this.midpoint),this}distanceToPoint(t){return this.normal.dot(t)-this.constant}}const v=function(){var e,n,r,i=new t.Vector3;function o(){this.tolerance=-1,this.faces=[],this.newFaces=[],this.assigned=new a,this.unassigned=new a,this.vertices=[]}function s(t){this.point=t,this.prev=null,this.next=null,this.face=null}function a(){this.head=null,this.tail=null}return Object.assign(o.prototype,{setFromPoints:function(t){!0!==Array.isArray(t)&&console.error("THREE.ConvexHull: Points parameter is not an array."),t.length<4&&console.error("THREE.ConvexHull: The algorithm needs at least four points."),this.makeEmpty();for(var e=0,n=t.length;ethis.tolerance)return!1;return!0},intersectRay:function(t,e){for(var n=this.faces,r=-1/0,i=1/0,o=0,s=n.length;o0&&c>=0)return null;var l=0!==c?-u/c:0;if(!(l<=0)&&(c>0?i=Math.min(l,i):r=Math.max(l,r),r>i))return null}return r!==-1/0?t.at(r,e):t.at(i,e),e},intersectsRay:function(t){return null!==this.intersectRay(t,i)},makeEmpty:function(){return this.faces=[],this.vertices=[],this},addVertexToFace:function(t,e){return t.face=e,null===e.outside?this.assigned.append(t):this.assigned.insertBefore(e.outside,t),e.outside=t,this},removeVertexFromFace:function(t,e){return t===e.outside&&(null!==t.next&&t.next.face===e?e.outside=t.next:e.outside=null),this.assigned.remove(t),this},removeAllVerticesFromFace:function(t){if(null!==t.outside){for(var e=t.outside,n=t.outside;null!==n.next&&n.next.face===t;)n=n.next;return this.assigned.removeSubList(e,n),e.prev=n.next=null,t.outside=null,e}},deleteFaceVertices:function(t,e){var n=this.removeAllVerticesFromFace(t);if(void 0!==n)if(void 0===e)this.unassigned.appendChain(n);else{var r=n;do{var i=r.next;e.distanceToPoint(r.point)>this.tolerance?this.addVertexToFace(r,e):this.unassigned.append(r),r=i}while(null!==r)}return this},resolveUnassignedPoints:function(t){if(!1===this.unassigned.isEmpty()){var e=this.unassigned.first();do{for(var n=e.next,r=this.tolerance,i=null,o=0;or&&(r=a,i=s),r>1e3*this.tolerance)break}}null!==i&&this.addVertexToFace(e,i),e=n}while(null!==e)}return this},computeExtremes:function(){var e,n,r,i=new t.Vector3,o=new t.Vector3,s=[],a=[];for(e=0;e<3;e++)s[e]=a[e]=this.vertices[0];for(i.copy(this.vertices[0].point),o.copy(this.vertices[0].point),e=0,n=this.vertices.length;eo.getComponent(r)&&(o.setComponent(r,c.getComponent(r)),a[r]=u)}return this.tolerance=3*Number.EPSILON*(Math.max(Math.abs(i.x),Math.abs(o.x))+Math.max(Math.abs(i.y),Math.abs(o.y))+Math.max(Math.abs(i.z),Math.abs(o.z))),{min:s,max:a}},computeInitialHull:function(){void 0===e&&(e=new t.Line3,n=new t.Plane,r=new t.Vector3);var i,o,s,a,u,c,l,h,f,p=this.vertices,v=this.computeExtremes(),g=v.min,m=v.max,y=0,b=0;for(c=0;c<3;c++)(f=m[c].point.getComponent(c)-g[c].point.getComponent(c))>y&&(y=f,b=c);for(o=g[b],s=m[b],y=0,e.set(o.point,s.point),c=0,l=this.vertices.length;cy&&(y=f,a=i));for(y=-1,n.setFromCoplanarPoints(o.point,s.point,a.point),c=0,l=this.vertices.length;cy&&(y=f,u=i);var w=[];if(n.distanceToPoint(u.point)<0)for(w.push(new d(o,s,a),new d(u,s,o),new d(u,a,s),new d(u,o,a)),c=0;c<3;c++)h=(c+1)%3,w[c+1].getEdge(2).setTwin(w[0].getEdge(h)),w[c+1].getEdge(1).setTwin(w[h+1].getEdge(0));else for(w.push(new d(o,a,s),new d(u,o,s),new d(u,s,a),new d(u,a,o)),c=0;c<3;c++)h=(c+1)%3,w[c+1].getEdge(2).setTwin(w[0].getEdge((3-c)%3)),w[c+1].getEdge(0).setTwin(w[h+1].getEdge(1));for(c=0;c<4;c++)this.faces.push(w[c]);for(c=0,l=p.length;cy&&(y=f,_=this.faces[h]);null!==_&&this.addVertexToFace(i,_)}return this},reindexFaces:function(){for(var t=[],e=0;ee&&(e=i,t=r),r=r.next}while(null!==r&&r.face===n);return t}},computeHorizon:function(t,e,n,r){var i;this.deleteFaceVertices(n),n.mark=1,i=null===e?e=n.getEdge(0):e.next;do{var o=i.twin,s=o.face;0===s.mark&&(s.distanceToPoint(t)>this.tolerance?this.computeHorizon(t,o,s,r):r.push(i)),i=i.next}while(i!==e);return this},addAdjoiningFace:function(t,e){var n=new d(t,e.tail(),e.head());return this.faces.push(n),n.getEdge(-1).setTwin(e.twin),n.getEdge(0)},addNewFaces:function(t,e){this.newFaces=[];for(var n=null,r=null,i=0;i