@guihz/trading-vue-editor-tes 0.0.76 → 0.0.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,66 @@
1
+ var O2=Object.defineProperty;var T2=(Vt,Kt,Ce)=>Kt in Vt?O2(Vt,Kt,{enumerable:!0,configurable:!0,writable:!0,value:Ce}):Vt[Kt]=Ce;var z=(Vt,Kt,Ce)=>(T2(Vt,typeof Kt!="symbol"?Kt+"":Kt,Ce),Ce),xl=(Vt,Kt,Ce)=>{if(!Kt.has(Vt))throw TypeError("Cannot "+Ce)};var Jr=(Vt,Kt,Ce)=>(xl(Vt,Kt,"read from private field"),Ce?Ce.call(Vt):Kt.get(Vt)),Al=(Vt,Kt,Ce)=>{if(Kt.has(Vt))throw TypeError("Cannot add the same private member more than once");Kt instanceof WeakSet?Kt.add(Vt):Kt.set(Vt,Ce)},oa=(Vt,Kt,Ce,jn)=>(xl(Vt,Kt,"write to private field"),jn?jn.call(Vt,Ce):Kt.set(Vt,Ce),Ce);var Cl=(Vt,Kt,Ce)=>(xl(Vt,Kt,"access private method"),Ce);(function(){"use strict";var rs,Fl,Fi,Ke;var Vt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Kt(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}function Ce(i){if(i.__esModule)return i;var t=i.default;if(typeof t=="function"){var e=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(i).forEach(function(r){var n=Object.getOwnPropertyDescriptor(i,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return i[r]}})}),e}var jn={exports:{}};/**
2
+ * @license
3
+ * Lodash <https://lodash.com/>
4
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
5
+ * Released under MIT license <https://lodash.com/license>
6
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
7
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
8
+ */jn.exports,function(i,t){(function(){var e,r="4.17.21",n=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",l="Invalid `variable` option passed into `_.template`",f="__lodash_hash_undefined__",h=500,p="__lodash_placeholder__",c=1,d=2,g=4,w=1,m=2,D=1,v=2,E=4,b=8,N=16,x=32,F=64,M=128,S=256,I=512,C=30,O="...",L=800,U=16,k=1,W=2,P=3,G=1/0,Z=9007199254740991,X=17976931348623157e292,tt=NaN,ft=4294967295,vt=ft-1,lt=ft>>>1,yt=[["ary",M],["bind",D],["bindKey",v],["curry",b],["curryRight",N],["flip",I],["partial",x],["partialRight",F],["rearg",S]],bt="[object Arguments]",Bt="[object Array]",Et="[object AsyncFunction]",oe="[object Boolean]",Tt="[object Date]",Nt="[object DOMException]",ue="[object Error]",re="[object Function]",qt="[object GeneratorFunction]",Jt="[object Map]",Te="[object Number]",mr="[object Null]",Le="[object Object]",hn="[object Promise]",Bn="[object Proxy]",pn="[object RegExp]",gr="[object Set]",On="[object String]",$="[object Symbol]",V="[object Undefined]",K="[object WeakMap]",nt="[object WeakSet]",st="[object ArrayBuffer]",rt="[object DataView]",ct="[object Float32Array]",ut="[object Float64Array]",ht="[object Int8Array]",at="[object Int16Array]",Xt="[object Int32Array]",ne="[object Uint8Array]",ye="[object Uint8ClampedArray]",qe="[object Uint16Array]",Re="[object Uint32Array]",vr=/\b__p \+= '';/g,wr=/\b(__p \+=) '' \+/g,Tn=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ti=/&(?:amp|lt|gt|quot|#39);/g,mo=/[&<>"']/g,Ya=RegExp(ti.source),Va=RegExp(mo.source),Za=/<%-([\s\S]+?)%>/g,Ga=/<%([\s\S]+?)%>/g,go=/<%=([\s\S]+?)%>/g,Ka=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ha=/^\w*$/,Ja=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ns=/[\\^$.*+?()[\]{}|]/g,Xa=RegExp(ns.source),is=/^\s+/,Qa=/\s/,tu=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,eu=/\{\n\/\* \[wrapped with (.+)\] \*/,ru=/,? & /,nu=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,iu=/[()=,{}\[\]\/\s]/,su=/\\(\\)?/g,ou=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,vo=/\w*$/,au=/^[-+]0x[0-9a-f]+$/i,uu=/^0b[01]+$/i,lu=/^\[object .+?Constructor\]$/,fu=/^0o[0-7]+$/i,cu=/^(?:0|[1-9]\d*)$/,hu=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Mi=/($^)/,ei=/['\n\r\u2028\u2029\\]/g,Zt="\\ud800-\\udfff",He="\\u0300-\\u036f",pu="\\ufe20-\\ufe2f",Ni="\\u20d0-\\u20ff",In=He+pu+Ni,wo="\\u2700-\\u27bf",lh="a-z\\xdf-\\xf6\\xf8-\\xff",My="\\xac\\xb1\\xd7\\xf7",Ny="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Sy="\\u2000-\\u206f",By=" \\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",fh="A-Z\\xc0-\\xd6\\xd8-\\xde",ch="\\ufe0e\\ufe0f",hh=My+Ny+Sy+By,du="['’]",Oy="["+Zt+"]",ph="["+hh+"]",yo="["+In+"]",dh="\\d+",Ty="["+wo+"]",_h="["+lh+"]",mh="[^"+Zt+hh+dh+wo+lh+fh+"]",_u="\\ud83c[\\udffb-\\udfff]",Iy="(?:"+yo+"|"+_u+")",gh="[^"+Zt+"]",mu="(?:\\ud83c[\\udde6-\\uddff]){2}",gu="[\\ud800-\\udbff][\\udc00-\\udfff]",Si="["+fh+"]",vh="\\u200d",wh="(?:"+_h+"|"+mh+")",$y="(?:"+Si+"|"+mh+")",yh="(?:"+du+"(?:d|ll|m|re|s|t|ve))?",Dh="(?:"+du+"(?:D|LL|M|RE|S|T|VE))?",bh=Iy+"?",Eh="["+ch+"]?",Ly="(?:"+vh+"(?:"+[gh,mu,gu].join("|")+")"+Eh+bh+")*",Ry="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Py="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",xh=Eh+bh+Ly,zy="(?:"+[Ty,mu,gu].join("|")+")"+xh,qy="(?:"+[gh+yo+"?",yo,mu,gu,Oy].join("|")+")",ky=RegExp(du,"g"),Uy=RegExp(yo,"g"),vu=RegExp(_u+"(?="+_u+")|"+qy+xh,"g"),Wy=RegExp([Si+"?"+_h+"+"+yh+"(?="+[ph,Si,"$"].join("|")+")",$y+"+"+Dh+"(?="+[ph,Si+wh,"$"].join("|")+")",Si+"?"+wh+"+"+yh,Si+"+"+Dh,Py,Ry,dh,zy].join("|"),"g"),jy=RegExp("["+vh+Zt+In+ch+"]"),Yy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Vy=["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"],Zy=-1,ge={};ge[ct]=ge[ut]=ge[ht]=ge[at]=ge[Xt]=ge[ne]=ge[ye]=ge[qe]=ge[Re]=!0,ge[bt]=ge[Bt]=ge[st]=ge[oe]=ge[rt]=ge[Tt]=ge[ue]=ge[re]=ge[Jt]=ge[Te]=ge[Le]=ge[pn]=ge[gr]=ge[On]=ge[K]=!1;var pe={};pe[bt]=pe[Bt]=pe[st]=pe[rt]=pe[oe]=pe[Tt]=pe[ct]=pe[ut]=pe[ht]=pe[at]=pe[Xt]=pe[Jt]=pe[Te]=pe[Le]=pe[pn]=pe[gr]=pe[On]=pe[$]=pe[ne]=pe[ye]=pe[qe]=pe[Re]=!0,pe[ue]=pe[re]=pe[K]=!1;var Gy={À:"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"},Ky={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Hy={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Jy={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xy=parseFloat,Qy=parseInt,Ah=typeof Vt=="object"&&Vt&&Vt.Object===Object&&Vt,tD=typeof self=="object"&&self&&self.Object===Object&&self,Ve=Ah||tD||Function("return this")(),wu=t&&!t.nodeType&&t,ri=wu&&!0&&i&&!i.nodeType&&i,Ch=ri&&ri.exports===wu,yu=Ch&&Ah.process,Br=function(){try{var j=ri&&ri.require&&ri.require("util").types;return j||yu&&yu.binding&&yu.binding("util")}catch{}}(),Fh=Br&&Br.isArrayBuffer,Mh=Br&&Br.isDate,Nh=Br&&Br.isMap,Sh=Br&&Br.isRegExp,Bh=Br&&Br.isSet,Oh=Br&&Br.isTypedArray;function yr(j,J,H){switch(H.length){case 0:return j.call(J);case 1:return j.call(J,H[0]);case 2:return j.call(J,H[0],H[1]);case 3:return j.call(J,H[0],H[1],H[2])}return j.apply(J,H)}function eD(j,J,H,gt){for(var Ot=-1,te=j==null?0:j.length;++Ot<te;){var Pe=j[Ot];J(gt,Pe,H(Pe),j)}return gt}function Or(j,J){for(var H=-1,gt=j==null?0:j.length;++H<gt&&J(j[H],H,j)!==!1;);return j}function rD(j,J){for(var H=j==null?0:j.length;H--&&J(j[H],H,j)!==!1;);return j}function Th(j,J){for(var H=-1,gt=j==null?0:j.length;++H<gt;)if(!J(j[H],H,j))return!1;return!0}function $n(j,J){for(var H=-1,gt=j==null?0:j.length,Ot=0,te=[];++H<gt;){var Pe=j[H];J(Pe,H,j)&&(te[Ot++]=Pe)}return te}function Do(j,J){var H=j==null?0:j.length;return!!H&&Bi(j,J,0)>-1}function Du(j,J,H){for(var gt=-1,Ot=j==null?0:j.length;++gt<Ot;)if(H(J,j[gt]))return!0;return!1}function De(j,J){for(var H=-1,gt=j==null?0:j.length,Ot=Array(gt);++H<gt;)Ot[H]=J(j[H],H,j);return Ot}function Ln(j,J){for(var H=-1,gt=J.length,Ot=j.length;++H<gt;)j[Ot+H]=J[H];return j}function bu(j,J,H,gt){var Ot=-1,te=j==null?0:j.length;for(gt&&te&&(H=j[++Ot]);++Ot<te;)H=J(H,j[Ot],Ot,j);return H}function nD(j,J,H,gt){var Ot=j==null?0:j.length;for(gt&&Ot&&(H=j[--Ot]);Ot--;)H=J(H,j[Ot],Ot,j);return H}function Eu(j,J){for(var H=-1,gt=j==null?0:j.length;++H<gt;)if(J(j[H],H,j))return!0;return!1}var iD=xu("length");function sD(j){return j.split("")}function oD(j){return j.match(nu)||[]}function Ih(j,J,H){var gt;return H(j,function(Ot,te,Pe){if(J(Ot,te,Pe))return gt=te,!1}),gt}function bo(j,J,H,gt){for(var Ot=j.length,te=H+(gt?1:-1);gt?te--:++te<Ot;)if(J(j[te],te,j))return te;return-1}function Bi(j,J,H){return J===J?vD(j,J,H):bo(j,$h,H)}function aD(j,J,H,gt){for(var Ot=H-1,te=j.length;++Ot<te;)if(gt(j[Ot],J))return Ot;return-1}function $h(j){return j!==j}function Lh(j,J){var H=j==null?0:j.length;return H?Cu(j,J)/H:tt}function xu(j){return function(J){return J==null?e:J[j]}}function Au(j){return function(J){return j==null?e:j[J]}}function Rh(j,J,H,gt,Ot){return Ot(j,function(te,Pe,ce){H=gt?(gt=!1,te):J(H,te,Pe,ce)}),H}function uD(j,J){var H=j.length;for(j.sort(J);H--;)j[H]=j[H].value;return j}function Cu(j,J){for(var H,gt=-1,Ot=j.length;++gt<Ot;){var te=J(j[gt]);te!==e&&(H=H===e?te:H+te)}return H}function Fu(j,J){for(var H=-1,gt=Array(j);++H<j;)gt[H]=J(H);return gt}function lD(j,J){return De(J,function(H){return[H,j[H]]})}function Ph(j){return j&&j.slice(0,Uh(j)+1).replace(is,"")}function Dr(j){return function(J){return j(J)}}function Mu(j,J){return De(J,function(H){return j[H]})}function ss(j,J){return j.has(J)}function zh(j,J){for(var H=-1,gt=j.length;++H<gt&&Bi(J,j[H],0)>-1;);return H}function qh(j,J){for(var H=j.length;H--&&Bi(J,j[H],0)>-1;);return H}function fD(j,J){for(var H=j.length,gt=0;H--;)j[H]===J&&++gt;return gt}var cD=Au(Gy),hD=Au(Ky);function pD(j){return"\\"+Jy[j]}function dD(j,J){return j==null?e:j[J]}function Oi(j){return jy.test(j)}function _D(j){return Yy.test(j)}function mD(j){for(var J,H=[];!(J=j.next()).done;)H.push(J.value);return H}function Nu(j){var J=-1,H=Array(j.size);return j.forEach(function(gt,Ot){H[++J]=[Ot,gt]}),H}function kh(j,J){return function(H){return j(J(H))}}function Rn(j,J){for(var H=-1,gt=j.length,Ot=0,te=[];++H<gt;){var Pe=j[H];(Pe===J||Pe===p)&&(j[H]=p,te[Ot++]=H)}return te}function Eo(j){var J=-1,H=Array(j.size);return j.forEach(function(gt){H[++J]=gt}),H}function gD(j){var J=-1,H=Array(j.size);return j.forEach(function(gt){H[++J]=[gt,gt]}),H}function vD(j,J,H){for(var gt=H-1,Ot=j.length;++gt<Ot;)if(j[gt]===J)return gt;return-1}function wD(j,J,H){for(var gt=H+1;gt--;)if(j[gt]===J)return gt;return gt}function Ti(j){return Oi(j)?DD(j):iD(j)}function Zr(j){return Oi(j)?bD(j):sD(j)}function Uh(j){for(var J=j.length;J--&&Qa.test(j.charAt(J)););return J}var yD=Au(Hy);function DD(j){for(var J=vu.lastIndex=0;vu.test(j);)++J;return J}function bD(j){return j.match(vu)||[]}function ED(j){return j.match(Wy)||[]}var xD=function j(J){J=J==null?Ve:Ii.defaults(Ve.Object(),J,Ii.pick(Ve,Vy));var H=J.Array,gt=J.Date,Ot=J.Error,te=J.Function,Pe=J.Math,ce=J.Object,Su=J.RegExp,AD=J.String,Tr=J.TypeError,xo=H.prototype,CD=te.prototype,$i=ce.prototype,Ao=J["__core-js_shared__"],Co=CD.toString,ae=$i.hasOwnProperty,FD=0,Wh=function(){var o=/[^.]+$/.exec(Ao&&Ao.keys&&Ao.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}(),Fo=$i.toString,MD=Co.call(ce),ND=Ve._,SD=Su("^"+Co.call(ae).replace(ns,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Mo=Ch?J.Buffer:e,Pn=J.Symbol,No=J.Uint8Array,jh=Mo?Mo.allocUnsafe:e,So=kh(ce.getPrototypeOf,ce),Yh=ce.create,Vh=$i.propertyIsEnumerable,Bo=xo.splice,Zh=Pn?Pn.isConcatSpreadable:e,os=Pn?Pn.iterator:e,ni=Pn?Pn.toStringTag:e,Oo=function(){try{var o=ui(ce,"defineProperty");return o({},"",{}),o}catch{}}(),BD=J.clearTimeout!==Ve.clearTimeout&&J.clearTimeout,OD=gt&&gt.now!==Ve.Date.now&&gt.now,TD=J.setTimeout!==Ve.setTimeout&&J.setTimeout,To=Pe.ceil,Io=Pe.floor,Bu=ce.getOwnPropertySymbols,ID=Mo?Mo.isBuffer:e,Gh=J.isFinite,$D=xo.join,LD=kh(ce.keys,ce),ze=Pe.max,Je=Pe.min,RD=gt.now,PD=J.parseInt,Kh=Pe.random,zD=xo.reverse,Ou=ui(J,"DataView"),as=ui(J,"Map"),Tu=ui(J,"Promise"),Li=ui(J,"Set"),us=ui(J,"WeakMap"),ls=ui(ce,"create"),$o=us&&new us,Ri={},qD=li(Ou),kD=li(as),UD=li(Tu),WD=li(Li),jD=li(us),Lo=Pn?Pn.prototype:e,fs=Lo?Lo.valueOf:e,Hh=Lo?Lo.toString:e;function B(o){if(Ae(o)&&!It(o)&&!(o instanceof Wt)){if(o instanceof Ir)return o;if(ae.call(o,"__wrapped__"))return J0(o)}return new Ir(o)}var Pi=function(){function o(){}return function(u){if(!xe(u))return{};if(Yh)return Yh(u);o.prototype=u;var _=new o;return o.prototype=e,_}}();function Ro(){}function Ir(o,u){this.__wrapped__=o,this.__actions__=[],this.__chain__=!!u,this.__index__=0,this.__values__=e}B.templateSettings={escape:Za,evaluate:Ga,interpolate:go,variable:"",imports:{_:B}},B.prototype=Ro.prototype,B.prototype.constructor=B,Ir.prototype=Pi(Ro.prototype),Ir.prototype.constructor=Ir;function Wt(o){this.__wrapped__=o,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ft,this.__views__=[]}function YD(){var o=new Wt(this.__wrapped__);return o.__actions__=ur(this.__actions__),o.__dir__=this.__dir__,o.__filtered__=this.__filtered__,o.__iteratees__=ur(this.__iteratees__),o.__takeCount__=this.__takeCount__,o.__views__=ur(this.__views__),o}function VD(){if(this.__filtered__){var o=new Wt(this);o.__dir__=-1,o.__filtered__=!0}else o=this.clone(),o.__dir__*=-1;return o}function ZD(){var o=this.__wrapped__.value(),u=this.__dir__,_=It(o),y=u<0,A=_?o.length:0,T=sE(0,A,this.__views__),R=T.start,q=T.end,Y=q-R,Q=y?q:R-1,et=this.__iteratees__,ot=et.length,dt=0,wt=Je(Y,this.__takeCount__);if(!_||!y&&A==Y&&wt==Y)return y0(o,this.__actions__);var Ct=[];t:for(;Y--&&dt<wt;){Q+=u;for(var Rt=-1,Ft=o[Q];++Rt<ot;){var kt=et[Rt],Yt=kt.iteratee,xr=kt.type,nr=Yt(Ft);if(xr==W)Ft=nr;else if(!nr){if(xr==k)continue t;break t}}Ct[dt++]=Ft}return Ct}Wt.prototype=Pi(Ro.prototype),Wt.prototype.constructor=Wt;function ii(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function GD(){this.__data__=ls?ls(null):{},this.size=0}function KD(o){var u=this.has(o)&&delete this.__data__[o];return this.size-=u?1:0,u}function HD(o){var u=this.__data__;if(ls){var _=u[o];return _===f?e:_}return ae.call(u,o)?u[o]:e}function JD(o){var u=this.__data__;return ls?u[o]!==e:ae.call(u,o)}function XD(o,u){var _=this.__data__;return this.size+=this.has(o)?0:1,_[o]=ls&&u===e?f:u,this}ii.prototype.clear=GD,ii.prototype.delete=KD,ii.prototype.get=HD,ii.prototype.has=JD,ii.prototype.set=XD;function dn(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function QD(){this.__data__=[],this.size=0}function tb(o){var u=this.__data__,_=Po(u,o);if(_<0)return!1;var y=u.length-1;return _==y?u.pop():Bo.call(u,_,1),--this.size,!0}function eb(o){var u=this.__data__,_=Po(u,o);return _<0?e:u[_][1]}function rb(o){return Po(this.__data__,o)>-1}function nb(o,u){var _=this.__data__,y=Po(_,o);return y<0?(++this.size,_.push([o,u])):_[y][1]=u,this}dn.prototype.clear=QD,dn.prototype.delete=tb,dn.prototype.get=eb,dn.prototype.has=rb,dn.prototype.set=nb;function _n(o){var u=-1,_=o==null?0:o.length;for(this.clear();++u<_;){var y=o[u];this.set(y[0],y[1])}}function ib(){this.size=0,this.__data__={hash:new ii,map:new(as||dn),string:new ii}}function sb(o){var u=Ho(this,o).delete(o);return this.size-=u?1:0,u}function ob(o){return Ho(this,o).get(o)}function ab(o){return Ho(this,o).has(o)}function ub(o,u){var _=Ho(this,o),y=_.size;return _.set(o,u),this.size+=_.size==y?0:1,this}_n.prototype.clear=ib,_n.prototype.delete=sb,_n.prototype.get=ob,_n.prototype.has=ab,_n.prototype.set=ub;function si(o){var u=-1,_=o==null?0:o.length;for(this.__data__=new _n;++u<_;)this.add(o[u])}function lb(o){return this.__data__.set(o,f),this}function fb(o){return this.__data__.has(o)}si.prototype.add=si.prototype.push=lb,si.prototype.has=fb;function Gr(o){var u=this.__data__=new dn(o);this.size=u.size}function cb(){this.__data__=new dn,this.size=0}function hb(o){var u=this.__data__,_=u.delete(o);return this.size=u.size,_}function pb(o){return this.__data__.get(o)}function db(o){return this.__data__.has(o)}function _b(o,u){var _=this.__data__;if(_ instanceof dn){var y=_.__data__;if(!as||y.length<n-1)return y.push([o,u]),this.size=++_.size,this;_=this.__data__=new _n(y)}return _.set(o,u),this.size=_.size,this}Gr.prototype.clear=cb,Gr.prototype.delete=hb,Gr.prototype.get=pb,Gr.prototype.has=db,Gr.prototype.set=_b;function Jh(o,u){var _=It(o),y=!_&&fi(o),A=!_&&!y&&Wn(o),T=!_&&!y&&!A&&Ui(o),R=_||y||A||T,q=R?Fu(o.length,AD):[],Y=q.length;for(var Q in o)(u||ae.call(o,Q))&&!(R&&(Q=="length"||A&&(Q=="offset"||Q=="parent")||T&&(Q=="buffer"||Q=="byteLength"||Q=="byteOffset")||wn(Q,Y)))&&q.push(Q);return q}function Xh(o){var u=o.length;return u?o[ju(0,u-1)]:e}function mb(o,u){return Jo(ur(o),oi(u,0,o.length))}function gb(o){return Jo(ur(o))}function Iu(o,u,_){(_!==e&&!Kr(o[u],_)||_===e&&!(u in o))&&mn(o,u,_)}function cs(o,u,_){var y=o[u];(!(ae.call(o,u)&&Kr(y,_))||_===e&&!(u in o))&&mn(o,u,_)}function Po(o,u){for(var _=o.length;_--;)if(Kr(o[_][0],u))return _;return-1}function vb(o,u,_,y){return zn(o,function(A,T,R){u(y,A,_(A),R)}),y}function Qh(o,u){return o&&nn(u,ke(u),o)}function wb(o,u){return o&&nn(u,fr(u),o)}function mn(o,u,_){u=="__proto__"&&Oo?Oo(o,u,{configurable:!0,enumerable:!0,value:_,writable:!0}):o[u]=_}function $u(o,u){for(var _=-1,y=u.length,A=H(y),T=o==null;++_<y;)A[_]=T?e:_l(o,u[_]);return A}function oi(o,u,_){return o===o&&(_!==e&&(o=o<=_?o:_),u!==e&&(o=o>=u?o:u)),o}function $r(o,u,_,y,A,T){var R,q=u&c,Y=u&d,Q=u&g;if(_&&(R=A?_(o,y,A,T):_(o)),R!==e)return R;if(!xe(o))return o;var et=It(o);if(et){if(R=aE(o),!q)return ur(o,R)}else{var ot=Xe(o),dt=ot==re||ot==qt;if(Wn(o))return E0(o,q);if(ot==Le||ot==bt||dt&&!A){if(R=Y||dt?{}:U0(o),!q)return Y?Hb(o,wb(R,o)):Kb(o,Qh(R,o))}else{if(!pe[ot])return A?o:{};R=uE(o,ot,q)}}T||(T=new Gr);var wt=T.get(o);if(wt)return wt;T.set(o,R),gp(o)?o.forEach(function(Ft){R.add($r(Ft,u,_,Ft,o,T))}):_p(o)&&o.forEach(function(Ft,kt){R.set(kt,$r(Ft,u,_,kt,o,T))});var Ct=Q?Y?el:tl:Y?fr:ke,Rt=et?e:Ct(o);return Or(Rt||o,function(Ft,kt){Rt&&(kt=Ft,Ft=o[kt]),cs(R,kt,$r(Ft,u,_,kt,o,T))}),R}function yb(o){var u=ke(o);return function(_){return t0(_,o,u)}}function t0(o,u,_){var y=_.length;if(o==null)return!y;for(o=ce(o);y--;){var A=_[y],T=u[A],R=o[A];if(R===e&&!(A in o)||!T(R))return!1}return!0}function e0(o,u,_){if(typeof o!="function")throw new Tr(a);return vs(function(){o.apply(e,_)},u)}function hs(o,u,_,y){var A=-1,T=Do,R=!0,q=o.length,Y=[],Q=u.length;if(!q)return Y;_&&(u=De(u,Dr(_))),y?(T=Du,R=!1):u.length>=n&&(T=ss,R=!1,u=new si(u));t:for(;++A<q;){var et=o[A],ot=_==null?et:_(et);if(et=y||et!==0?et:0,R&&ot===ot){for(var dt=Q;dt--;)if(u[dt]===ot)continue t;Y.push(et)}else T(u,ot,y)||Y.push(et)}return Y}var zn=M0(rn),r0=M0(Ru,!0);function Db(o,u){var _=!0;return zn(o,function(y,A,T){return _=!!u(y,A,T),_}),_}function zo(o,u,_){for(var y=-1,A=o.length;++y<A;){var T=o[y],R=u(T);if(R!=null&&(q===e?R===R&&!Er(R):_(R,q)))var q=R,Y=T}return Y}function bb(o,u,_,y){var A=o.length;for(_=Lt(_),_<0&&(_=-_>A?0:A+_),y=y===e||y>A?A:Lt(y),y<0&&(y+=A),y=_>y?0:wp(y);_<y;)o[_++]=u;return o}function n0(o,u){var _=[];return zn(o,function(y,A,T){u(y,A,T)&&_.push(y)}),_}function Ze(o,u,_,y,A){var T=-1,R=o.length;for(_||(_=fE),A||(A=[]);++T<R;){var q=o[T];u>0&&_(q)?u>1?Ze(q,u-1,_,y,A):Ln(A,q):y||(A[A.length]=q)}return A}var Lu=N0(),i0=N0(!0);function rn(o,u){return o&&Lu(o,u,ke)}function Ru(o,u){return o&&i0(o,u,ke)}function qo(o,u){return $n(u,function(_){return yn(o[_])})}function ai(o,u){u=kn(u,o);for(var _=0,y=u.length;o!=null&&_<y;)o=o[sn(u[_++])];return _&&_==y?o:e}function s0(o,u,_){var y=u(o);return It(o)?y:Ln(y,_(o))}function er(o){return o==null?o===e?V:mr:ni&&ni in ce(o)?iE(o):gE(o)}function Pu(o,u){return o>u}function Eb(o,u){return o!=null&&ae.call(o,u)}function xb(o,u){return o!=null&&u in ce(o)}function Ab(o,u,_){return o>=Je(u,_)&&o<ze(u,_)}function zu(o,u,_){for(var y=_?Du:Do,A=o[0].length,T=o.length,R=T,q=H(T),Y=1/0,Q=[];R--;){var et=o[R];R&&u&&(et=De(et,Dr(u))),Y=Je(et.length,Y),q[R]=!_&&(u||A>=120&&et.length>=120)?new si(R&&et):e}et=o[0];var ot=-1,dt=q[0];t:for(;++ot<A&&Q.length<Y;){var wt=et[ot],Ct=u?u(wt):wt;if(wt=_||wt!==0?wt:0,!(dt?ss(dt,Ct):y(Q,Ct,_))){for(R=T;--R;){var Rt=q[R];if(!(Rt?ss(Rt,Ct):y(o[R],Ct,_)))continue t}dt&&dt.push(Ct),Q.push(wt)}}return Q}function Cb(o,u,_,y){return rn(o,function(A,T,R){u(y,_(A),T,R)}),y}function ps(o,u,_){u=kn(u,o),o=V0(o,u);var y=o==null?o:o[sn(Rr(u))];return y==null?e:yr(y,o,_)}function o0(o){return Ae(o)&&er(o)==bt}function Fb(o){return Ae(o)&&er(o)==st}function Mb(o){return Ae(o)&&er(o)==Tt}function ds(o,u,_,y,A){return o===u?!0:o==null||u==null||!Ae(o)&&!Ae(u)?o!==o&&u!==u:Nb(o,u,_,y,ds,A)}function Nb(o,u,_,y,A,T){var R=It(o),q=It(u),Y=R?Bt:Xe(o),Q=q?Bt:Xe(u);Y=Y==bt?Le:Y,Q=Q==bt?Le:Q;var et=Y==Le,ot=Q==Le,dt=Y==Q;if(dt&&Wn(o)){if(!Wn(u))return!1;R=!0,et=!1}if(dt&&!et)return T||(T=new Gr),R||Ui(o)?z0(o,u,_,y,A,T):rE(o,u,Y,_,y,A,T);if(!(_&w)){var wt=et&&ae.call(o,"__wrapped__"),Ct=ot&&ae.call(u,"__wrapped__");if(wt||Ct){var Rt=wt?o.value():o,Ft=Ct?u.value():u;return T||(T=new Gr),A(Rt,Ft,_,y,T)}}return dt?(T||(T=new Gr),nE(o,u,_,y,A,T)):!1}function Sb(o){return Ae(o)&&Xe(o)==Jt}function qu(o,u,_,y){var A=_.length,T=A,R=!y;if(o==null)return!T;for(o=ce(o);A--;){var q=_[A];if(R&&q[2]?q[1]!==o[q[0]]:!(q[0]in o))return!1}for(;++A<T;){q=_[A];var Y=q[0],Q=o[Y],et=q[1];if(R&&q[2]){if(Q===e&&!(Y in o))return!1}else{var ot=new Gr;if(y)var dt=y(Q,et,Y,o,u,ot);if(!(dt===e?ds(et,Q,w|m,y,ot):dt))return!1}}return!0}function a0(o){if(!xe(o)||hE(o))return!1;var u=yn(o)?SD:lu;return u.test(li(o))}function Bb(o){return Ae(o)&&er(o)==pn}function Ob(o){return Ae(o)&&Xe(o)==gr}function Tb(o){return Ae(o)&&na(o.length)&&!!ge[er(o)]}function u0(o){return typeof o=="function"?o:o==null?cr:typeof o=="object"?It(o)?c0(o[0],o[1]):f0(o):Sp(o)}function ku(o){if(!gs(o))return LD(o);var u=[];for(var _ in ce(o))ae.call(o,_)&&_!="constructor"&&u.push(_);return u}function Ib(o){if(!xe(o))return mE(o);var u=gs(o),_=[];for(var y in o)y=="constructor"&&(u||!ae.call(o,y))||_.push(y);return _}function Uu(o,u){return o<u}function l0(o,u){var _=-1,y=lr(o)?H(o.length):[];return zn(o,function(A,T,R){y[++_]=u(A,T,R)}),y}function f0(o){var u=nl(o);return u.length==1&&u[0][2]?j0(u[0][0],u[0][1]):function(_){return _===o||qu(_,o,u)}}function c0(o,u){return sl(o)&&W0(u)?j0(sn(o),u):function(_){var y=_l(_,o);return y===e&&y===u?ml(_,o):ds(u,y,w|m)}}function ko(o,u,_,y,A){o!==u&&Lu(u,function(T,R){if(A||(A=new Gr),xe(T))$b(o,u,R,_,ko,y,A);else{var q=y?y(al(o,R),T,R+"",o,u,A):e;q===e&&(q=T),Iu(o,R,q)}},fr)}function $b(o,u,_,y,A,T,R){var q=al(o,_),Y=al(u,_),Q=R.get(Y);if(Q){Iu(o,_,Q);return}var et=T?T(q,Y,_+"",o,u,R):e,ot=et===e;if(ot){var dt=It(Y),wt=!dt&&Wn(Y),Ct=!dt&&!wt&&Ui(Y);et=Y,dt||wt||Ct?It(q)?et=q:Me(q)?et=ur(q):wt?(ot=!1,et=E0(Y,!0)):Ct?(ot=!1,et=x0(Y,!0)):et=[]:ws(Y)||fi(Y)?(et=q,fi(q)?et=yp(q):(!xe(q)||yn(q))&&(et=U0(Y))):ot=!1}ot&&(R.set(Y,et),A(et,Y,y,T,R),R.delete(Y)),Iu(o,_,et)}function h0(o,u){var _=o.length;if(_)return u+=u<0?_:0,wn(u,_)?o[u]:e}function p0(o,u,_){u.length?u=De(u,function(T){return It(T)?function(R){return ai(R,T.length===1?T[0]:T)}:T}):u=[cr];var y=-1;u=De(u,Dr(At()));var A=l0(o,function(T,R,q){var Y=De(u,function(Q){return Q(T)});return{criteria:Y,index:++y,value:T}});return uD(A,function(T,R){return Gb(T,R,_)})}function Lb(o,u){return d0(o,u,function(_,y){return ml(o,y)})}function d0(o,u,_){for(var y=-1,A=u.length,T={};++y<A;){var R=u[y],q=ai(o,R);_(q,R)&&_s(T,kn(R,o),q)}return T}function Rb(o){return function(u){return ai(u,o)}}function Wu(o,u,_,y){var A=y?aD:Bi,T=-1,R=u.length,q=o;for(o===u&&(u=ur(u)),_&&(q=De(o,Dr(_)));++T<R;)for(var Y=0,Q=u[T],et=_?_(Q):Q;(Y=A(q,et,Y,y))>-1;)q!==o&&Bo.call(q,Y,1),Bo.call(o,Y,1);return o}function _0(o,u){for(var _=o?u.length:0,y=_-1;_--;){var A=u[_];if(_==y||A!==T){var T=A;wn(A)?Bo.call(o,A,1):Zu(o,A)}}return o}function ju(o,u){return o+Io(Kh()*(u-o+1))}function Pb(o,u,_,y){for(var A=-1,T=ze(To((u-o)/(_||1)),0),R=H(T);T--;)R[y?T:++A]=o,o+=_;return R}function Yu(o,u){var _="";if(!o||u<1||u>Z)return _;do u%2&&(_+=o),u=Io(u/2),u&&(o+=o);while(u);return _}function Pt(o,u){return ul(Y0(o,u,cr),o+"")}function zb(o){return Xh(Wi(o))}function qb(o,u){var _=Wi(o);return Jo(_,oi(u,0,_.length))}function _s(o,u,_,y){if(!xe(o))return o;u=kn(u,o);for(var A=-1,T=u.length,R=T-1,q=o;q!=null&&++A<T;){var Y=sn(u[A]),Q=_;if(Y==="__proto__"||Y==="constructor"||Y==="prototype")return o;if(A!=R){var et=q[Y];Q=y?y(et,Y,q):e,Q===e&&(Q=xe(et)?et:wn(u[A+1])?[]:{})}cs(q,Y,Q),q=q[Y]}return o}var m0=$o?function(o,u){return $o.set(o,u),o}:cr,kb=Oo?function(o,u){return Oo(o,"toString",{configurable:!0,enumerable:!1,value:vl(u),writable:!0})}:cr;function Ub(o){return Jo(Wi(o))}function Lr(o,u,_){var y=-1,A=o.length;u<0&&(u=-u>A?0:A+u),_=_>A?A:_,_<0&&(_+=A),A=u>_?0:_-u>>>0,u>>>=0;for(var T=H(A);++y<A;)T[y]=o[y+u];return T}function Wb(o,u){var _;return zn(o,function(y,A,T){return _=u(y,A,T),!_}),!!_}function Uo(o,u,_){var y=0,A=o==null?y:o.length;if(typeof u=="number"&&u===u&&A<=lt){for(;y<A;){var T=y+A>>>1,R=o[T];R!==null&&!Er(R)&&(_?R<=u:R<u)?y=T+1:A=T}return A}return Vu(o,u,cr,_)}function Vu(o,u,_,y){var A=0,T=o==null?0:o.length;if(T===0)return 0;u=_(u);for(var R=u!==u,q=u===null,Y=Er(u),Q=u===e;A<T;){var et=Io((A+T)/2),ot=_(o[et]),dt=ot!==e,wt=ot===null,Ct=ot===ot,Rt=Er(ot);if(R)var Ft=y||Ct;else Q?Ft=Ct&&(y||dt):q?Ft=Ct&&dt&&(y||!wt):Y?Ft=Ct&&dt&&!wt&&(y||!Rt):wt||Rt?Ft=!1:Ft=y?ot<=u:ot<u;Ft?A=et+1:T=et}return Je(T,vt)}function g0(o,u){for(var _=-1,y=o.length,A=0,T=[];++_<y;){var R=o[_],q=u?u(R):R;if(!_||!Kr(q,Y)){var Y=q;T[A++]=R===0?0:R}}return T}function v0(o){return typeof o=="number"?o:Er(o)?tt:+o}function br(o){if(typeof o=="string")return o;if(It(o))return De(o,br)+"";if(Er(o))return Hh?Hh.call(o):"";var u=o+"";return u=="0"&&1/o==-G?"-0":u}function qn(o,u,_){var y=-1,A=Do,T=o.length,R=!0,q=[],Y=q;if(_)R=!1,A=Du;else if(T>=n){var Q=u?null:tE(o);if(Q)return Eo(Q);R=!1,A=ss,Y=new si}else Y=u?[]:q;t:for(;++y<T;){var et=o[y],ot=u?u(et):et;if(et=_||et!==0?et:0,R&&ot===ot){for(var dt=Y.length;dt--;)if(Y[dt]===ot)continue t;u&&Y.push(ot),q.push(et)}else A(Y,ot,_)||(Y!==q&&Y.push(ot),q.push(et))}return q}function Zu(o,u){return u=kn(u,o),o=V0(o,u),o==null||delete o[sn(Rr(u))]}function w0(o,u,_,y){return _s(o,u,_(ai(o,u)),y)}function Wo(o,u,_,y){for(var A=o.length,T=y?A:-1;(y?T--:++T<A)&&u(o[T],T,o););return _?Lr(o,y?0:T,y?T+1:A):Lr(o,y?T+1:0,y?A:T)}function y0(o,u){var _=o;return _ instanceof Wt&&(_=_.value()),bu(u,function(y,A){return A.func.apply(A.thisArg,Ln([y],A.args))},_)}function Gu(o,u,_){var y=o.length;if(y<2)return y?qn(o[0]):[];for(var A=-1,T=H(y);++A<y;)for(var R=o[A],q=-1;++q<y;)q!=A&&(T[A]=hs(T[A]||R,o[q],u,_));return qn(Ze(T,1),u,_)}function D0(o,u,_){for(var y=-1,A=o.length,T=u.length,R={};++y<A;){var q=y<T?u[y]:e;_(R,o[y],q)}return R}function Ku(o){return Me(o)?o:[]}function Hu(o){return typeof o=="function"?o:cr}function kn(o,u){return It(o)?o:sl(o,u)?[o]:H0(ie(o))}var jb=Pt;function Un(o,u,_){var y=o.length;return _=_===e?y:_,!u&&_>=y?o:Lr(o,u,_)}var b0=BD||function(o){return Ve.clearTimeout(o)};function E0(o,u){if(u)return o.slice();var _=o.length,y=jh?jh(_):new o.constructor(_);return o.copy(y),y}function Ju(o){var u=new o.constructor(o.byteLength);return new No(u).set(new No(o)),u}function Yb(o,u){var _=u?Ju(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.byteLength)}function Vb(o){var u=new o.constructor(o.source,vo.exec(o));return u.lastIndex=o.lastIndex,u}function Zb(o){return fs?ce(fs.call(o)):{}}function x0(o,u){var _=u?Ju(o.buffer):o.buffer;return new o.constructor(_,o.byteOffset,o.length)}function A0(o,u){if(o!==u){var _=o!==e,y=o===null,A=o===o,T=Er(o),R=u!==e,q=u===null,Y=u===u,Q=Er(u);if(!q&&!Q&&!T&&o>u||T&&R&&Y&&!q&&!Q||y&&R&&Y||!_&&Y||!A)return 1;if(!y&&!T&&!Q&&o<u||Q&&_&&A&&!y&&!T||q&&_&&A||!R&&A||!Y)return-1}return 0}function Gb(o,u,_){for(var y=-1,A=o.criteria,T=u.criteria,R=A.length,q=_.length;++y<R;){var Y=A0(A[y],T[y]);if(Y){if(y>=q)return Y;var Q=_[y];return Y*(Q=="desc"?-1:1)}}return o.index-u.index}function C0(o,u,_,y){for(var A=-1,T=o.length,R=_.length,q=-1,Y=u.length,Q=ze(T-R,0),et=H(Y+Q),ot=!y;++q<Y;)et[q]=u[q];for(;++A<R;)(ot||A<T)&&(et[_[A]]=o[A]);for(;Q--;)et[q++]=o[A++];return et}function F0(o,u,_,y){for(var A=-1,T=o.length,R=-1,q=_.length,Y=-1,Q=u.length,et=ze(T-q,0),ot=H(et+Q),dt=!y;++A<et;)ot[A]=o[A];for(var wt=A;++Y<Q;)ot[wt+Y]=u[Y];for(;++R<q;)(dt||A<T)&&(ot[wt+_[R]]=o[A++]);return ot}function ur(o,u){var _=-1,y=o.length;for(u||(u=H(y));++_<y;)u[_]=o[_];return u}function nn(o,u,_,y){var A=!_;_||(_={});for(var T=-1,R=u.length;++T<R;){var q=u[T],Y=y?y(_[q],o[q],q,_,o):e;Y===e&&(Y=o[q]),A?mn(_,q,Y):cs(_,q,Y)}return _}function Kb(o,u){return nn(o,il(o),u)}function Hb(o,u){return nn(o,q0(o),u)}function jo(o,u){return function(_,y){var A=It(_)?eD:vb,T=u?u():{};return A(_,o,At(y,2),T)}}function zi(o){return Pt(function(u,_){var y=-1,A=_.length,T=A>1?_[A-1]:e,R=A>2?_[2]:e;for(T=o.length>3&&typeof T=="function"?(A--,T):e,R&&rr(_[0],_[1],R)&&(T=A<3?e:T,A=1),u=ce(u);++y<A;){var q=_[y];q&&o(u,q,y,T)}return u})}function M0(o,u){return function(_,y){if(_==null)return _;if(!lr(_))return o(_,y);for(var A=_.length,T=u?A:-1,R=ce(_);(u?T--:++T<A)&&y(R[T],T,R)!==!1;);return _}}function N0(o){return function(u,_,y){for(var A=-1,T=ce(u),R=y(u),q=R.length;q--;){var Y=R[o?q:++A];if(_(T[Y],Y,T)===!1)break}return u}}function Jb(o,u,_){var y=u&D,A=ms(o);function T(){var R=this&&this!==Ve&&this instanceof T?A:o;return R.apply(y?_:this,arguments)}return T}function S0(o){return function(u){u=ie(u);var _=Oi(u)?Zr(u):e,y=_?_[0]:u.charAt(0),A=_?Un(_,1).join(""):u.slice(1);return y[o]()+A}}function qi(o){return function(u){return bu(Mp(Fp(u).replace(ky,"")),o,"")}}function ms(o){return function(){var u=arguments;switch(u.length){case 0:return new o;case 1:return new o(u[0]);case 2:return new o(u[0],u[1]);case 3:return new o(u[0],u[1],u[2]);case 4:return new o(u[0],u[1],u[2],u[3]);case 5:return new o(u[0],u[1],u[2],u[3],u[4]);case 6:return new o(u[0],u[1],u[2],u[3],u[4],u[5]);case 7:return new o(u[0],u[1],u[2],u[3],u[4],u[5],u[6])}var _=Pi(o.prototype),y=o.apply(_,u);return xe(y)?y:_}}function Xb(o,u,_){var y=ms(o);function A(){for(var T=arguments.length,R=H(T),q=T,Y=ki(A);q--;)R[q]=arguments[q];var Q=T<3&&R[0]!==Y&&R[T-1]!==Y?[]:Rn(R,Y);if(T-=Q.length,T<_)return $0(o,u,Yo,A.placeholder,e,R,Q,e,e,_-T);var et=this&&this!==Ve&&this instanceof A?y:o;return yr(et,this,R)}return A}function B0(o){return function(u,_,y){var A=ce(u);if(!lr(u)){var T=At(_,3);u=ke(u),_=function(q){return T(A[q],q,A)}}var R=o(u,_,y);return R>-1?A[T?u[R]:R]:e}}function O0(o){return vn(function(u){var _=u.length,y=_,A=Ir.prototype.thru;for(o&&u.reverse();y--;){var T=u[y];if(typeof T!="function")throw new Tr(a);if(A&&!R&&Ko(T)=="wrapper")var R=new Ir([],!0)}for(y=R?y:_;++y<_;){T=u[y];var q=Ko(T),Y=q=="wrapper"?rl(T):e;Y&&ol(Y[0])&&Y[1]==(M|b|x|S)&&!Y[4].length&&Y[9]==1?R=R[Ko(Y[0])].apply(R,Y[3]):R=T.length==1&&ol(T)?R[q]():R.thru(T)}return function(){var Q=arguments,et=Q[0];if(R&&Q.length==1&&It(et))return R.plant(et).value();for(var ot=0,dt=_?u[ot].apply(this,Q):et;++ot<_;)dt=u[ot].call(this,dt);return dt}})}function Yo(o,u,_,y,A,T,R,q,Y,Q){var et=u&M,ot=u&D,dt=u&v,wt=u&(b|N),Ct=u&I,Rt=dt?e:ms(o);function Ft(){for(var kt=arguments.length,Yt=H(kt),xr=kt;xr--;)Yt[xr]=arguments[xr];if(wt)var nr=ki(Ft),Ar=fD(Yt,nr);if(y&&(Yt=C0(Yt,y,A,wt)),T&&(Yt=F0(Yt,T,R,wt)),kt-=Ar,wt&&kt<Q){var Ne=Rn(Yt,nr);return $0(o,u,Yo,Ft.placeholder,_,Yt,Ne,q,Y,Q-kt)}var Hr=ot?_:this,bn=dt?Hr[o]:o;return kt=Yt.length,q?Yt=vE(Yt,q):Ct&&kt>1&&Yt.reverse(),et&&Y<kt&&(Yt.length=Y),this&&this!==Ve&&this instanceof Ft&&(bn=Rt||ms(bn)),bn.apply(Hr,Yt)}return Ft}function T0(o,u){return function(_,y){return Cb(_,o,u(y),{})}}function Vo(o,u){return function(_,y){var A;if(_===e&&y===e)return u;if(_!==e&&(A=_),y!==e){if(A===e)return y;typeof _=="string"||typeof y=="string"?(_=br(_),y=br(y)):(_=v0(_),y=v0(y)),A=o(_,y)}return A}}function Xu(o){return vn(function(u){return u=De(u,Dr(At())),Pt(function(_){var y=this;return o(u,function(A){return yr(A,y,_)})})})}function Zo(o,u){u=u===e?" ":br(u);var _=u.length;if(_<2)return _?Yu(u,o):u;var y=Yu(u,To(o/Ti(u)));return Oi(u)?Un(Zr(y),0,o).join(""):y.slice(0,o)}function Qb(o,u,_,y){var A=u&D,T=ms(o);function R(){for(var q=-1,Y=arguments.length,Q=-1,et=y.length,ot=H(et+Y),dt=this&&this!==Ve&&this instanceof R?T:o;++Q<et;)ot[Q]=y[Q];for(;Y--;)ot[Q++]=arguments[++q];return yr(dt,A?_:this,ot)}return R}function I0(o){return function(u,_,y){return y&&typeof y!="number"&&rr(u,_,y)&&(_=y=e),u=Dn(u),_===e?(_=u,u=0):_=Dn(_),y=y===e?u<_?1:-1:Dn(y),Pb(u,_,y,o)}}function Go(o){return function(u,_){return typeof u=="string"&&typeof _=="string"||(u=Pr(u),_=Pr(_)),o(u,_)}}function $0(o,u,_,y,A,T,R,q,Y,Q){var et=u&b,ot=et?R:e,dt=et?e:R,wt=et?T:e,Ct=et?e:T;u|=et?x:F,u&=~(et?F:x),u&E||(u&=~(D|v));var Rt=[o,u,A,wt,ot,Ct,dt,q,Y,Q],Ft=_.apply(e,Rt);return ol(o)&&Z0(Ft,Rt),Ft.placeholder=y,G0(Ft,o,u)}function Qu(o){var u=Pe[o];return function(_,y){if(_=Pr(_),y=y==null?0:Je(Lt(y),292),y&&Gh(_)){var A=(ie(_)+"e").split("e"),T=u(A[0]+"e"+(+A[1]+y));return A=(ie(T)+"e").split("e"),+(A[0]+"e"+(+A[1]-y))}return u(_)}}var tE=Li&&1/Eo(new Li([,-0]))[1]==G?function(o){return new Li(o)}:Dl;function L0(o){return function(u){var _=Xe(u);return _==Jt?Nu(u):_==gr?gD(u):lD(u,o(u))}}function gn(o,u,_,y,A,T,R,q){var Y=u&v;if(!Y&&typeof o!="function")throw new Tr(a);var Q=y?y.length:0;if(Q||(u&=~(x|F),y=A=e),R=R===e?R:ze(Lt(R),0),q=q===e?q:Lt(q),Q-=A?A.length:0,u&F){var et=y,ot=A;y=A=e}var dt=Y?e:rl(o),wt=[o,u,_,y,A,et,ot,T,R,q];if(dt&&_E(wt,dt),o=wt[0],u=wt[1],_=wt[2],y=wt[3],A=wt[4],q=wt[9]=wt[9]===e?Y?0:o.length:ze(wt[9]-Q,0),!q&&u&(b|N)&&(u&=~(b|N)),!u||u==D)var Ct=Jb(o,u,_);else u==b||u==N?Ct=Xb(o,u,q):(u==x||u==(D|x))&&!A.length?Ct=Qb(o,u,_,y):Ct=Yo.apply(e,wt);var Rt=dt?m0:Z0;return G0(Rt(Ct,wt),o,u)}function R0(o,u,_,y){return o===e||Kr(o,$i[_])&&!ae.call(y,_)?u:o}function P0(o,u,_,y,A,T){return xe(o)&&xe(u)&&(T.set(u,o),ko(o,u,e,P0,T),T.delete(u)),o}function eE(o){return ws(o)?e:o}function z0(o,u,_,y,A,T){var R=_&w,q=o.length,Y=u.length;if(q!=Y&&!(R&&Y>q))return!1;var Q=T.get(o),et=T.get(u);if(Q&&et)return Q==u&&et==o;var ot=-1,dt=!0,wt=_&m?new si:e;for(T.set(o,u),T.set(u,o);++ot<q;){var Ct=o[ot],Rt=u[ot];if(y)var Ft=R?y(Rt,Ct,ot,u,o,T):y(Ct,Rt,ot,o,u,T);if(Ft!==e){if(Ft)continue;dt=!1;break}if(wt){if(!Eu(u,function(kt,Yt){if(!ss(wt,Yt)&&(Ct===kt||A(Ct,kt,_,y,T)))return wt.push(Yt)})){dt=!1;break}}else if(!(Ct===Rt||A(Ct,Rt,_,y,T))){dt=!1;break}}return T.delete(o),T.delete(u),dt}function rE(o,u,_,y,A,T,R){switch(_){case rt:if(o.byteLength!=u.byteLength||o.byteOffset!=u.byteOffset)return!1;o=o.buffer,u=u.buffer;case st:return!(o.byteLength!=u.byteLength||!T(new No(o),new No(u)));case oe:case Tt:case Te:return Kr(+o,+u);case ue:return o.name==u.name&&o.message==u.message;case pn:case On:return o==u+"";case Jt:var q=Nu;case gr:var Y=y&w;if(q||(q=Eo),o.size!=u.size&&!Y)return!1;var Q=R.get(o);if(Q)return Q==u;y|=m,R.set(o,u);var et=z0(q(o),q(u),y,A,T,R);return R.delete(o),et;case $:if(fs)return fs.call(o)==fs.call(u)}return!1}function nE(o,u,_,y,A,T){var R=_&w,q=tl(o),Y=q.length,Q=tl(u),et=Q.length;if(Y!=et&&!R)return!1;for(var ot=Y;ot--;){var dt=q[ot];if(!(R?dt in u:ae.call(u,dt)))return!1}var wt=T.get(o),Ct=T.get(u);if(wt&&Ct)return wt==u&&Ct==o;var Rt=!0;T.set(o,u),T.set(u,o);for(var Ft=R;++ot<Y;){dt=q[ot];var kt=o[dt],Yt=u[dt];if(y)var xr=R?y(Yt,kt,dt,u,o,T):y(kt,Yt,dt,o,u,T);if(!(xr===e?kt===Yt||A(kt,Yt,_,y,T):xr)){Rt=!1;break}Ft||(Ft=dt=="constructor")}if(Rt&&!Ft){var nr=o.constructor,Ar=u.constructor;nr!=Ar&&"constructor"in o&&"constructor"in u&&!(typeof nr=="function"&&nr instanceof nr&&typeof Ar=="function"&&Ar instanceof Ar)&&(Rt=!1)}return T.delete(o),T.delete(u),Rt}function vn(o){return ul(Y0(o,e,tp),o+"")}function tl(o){return s0(o,ke,il)}function el(o){return s0(o,fr,q0)}var rl=$o?function(o){return $o.get(o)}:Dl;function Ko(o){for(var u=o.name+"",_=Ri[u],y=ae.call(Ri,u)?_.length:0;y--;){var A=_[y],T=A.func;if(T==null||T==o)return A.name}return u}function ki(o){var u=ae.call(B,"placeholder")?B:o;return u.placeholder}function At(){var o=B.iteratee||wl;return o=o===wl?u0:o,arguments.length?o(arguments[0],arguments[1]):o}function Ho(o,u){var _=o.__data__;return cE(u)?_[typeof u=="string"?"string":"hash"]:_.map}function nl(o){for(var u=ke(o),_=u.length;_--;){var y=u[_],A=o[y];u[_]=[y,A,W0(A)]}return u}function ui(o,u){var _=dD(o,u);return a0(_)?_:e}function iE(o){var u=ae.call(o,ni),_=o[ni];try{o[ni]=e;var y=!0}catch{}var A=Fo.call(o);return y&&(u?o[ni]=_:delete o[ni]),A}var il=Bu?function(o){return o==null?[]:(o=ce(o),$n(Bu(o),function(u){return Vh.call(o,u)}))}:bl,q0=Bu?function(o){for(var u=[];o;)Ln(u,il(o)),o=So(o);return u}:bl,Xe=er;(Ou&&Xe(new Ou(new ArrayBuffer(1)))!=rt||as&&Xe(new as)!=Jt||Tu&&Xe(Tu.resolve())!=hn||Li&&Xe(new Li)!=gr||us&&Xe(new us)!=K)&&(Xe=function(o){var u=er(o),_=u==Le?o.constructor:e,y=_?li(_):"";if(y)switch(y){case qD:return rt;case kD:return Jt;case UD:return hn;case WD:return gr;case jD:return K}return u});function sE(o,u,_){for(var y=-1,A=_.length;++y<A;){var T=_[y],R=T.size;switch(T.type){case"drop":o+=R;break;case"dropRight":u-=R;break;case"take":u=Je(u,o+R);break;case"takeRight":o=ze(o,u-R);break}}return{start:o,end:u}}function oE(o){var u=o.match(eu);return u?u[1].split(ru):[]}function k0(o,u,_){u=kn(u,o);for(var y=-1,A=u.length,T=!1;++y<A;){var R=sn(u[y]);if(!(T=o!=null&&_(o,R)))break;o=o[R]}return T||++y!=A?T:(A=o==null?0:o.length,!!A&&na(A)&&wn(R,A)&&(It(o)||fi(o)))}function aE(o){var u=o.length,_=new o.constructor(u);return u&&typeof o[0]=="string"&&ae.call(o,"index")&&(_.index=o.index,_.input=o.input),_}function U0(o){return typeof o.constructor=="function"&&!gs(o)?Pi(So(o)):{}}function uE(o,u,_){var y=o.constructor;switch(u){case st:return Ju(o);case oe:case Tt:return new y(+o);case rt:return Yb(o,_);case ct:case ut:case ht:case at:case Xt:case ne:case ye:case qe:case Re:return x0(o,_);case Jt:return new y;case Te:case On:return new y(o);case pn:return Vb(o);case gr:return new y;case $:return Zb(o)}}function lE(o,u){var _=u.length;if(!_)return o;var y=_-1;return u[y]=(_>1?"& ":"")+u[y],u=u.join(_>2?", ":" "),o.replace(tu,`{
9
+ /* [wrapped with `+u+`] */
10
+ `)}function fE(o){return It(o)||fi(o)||!!(Zh&&o&&o[Zh])}function wn(o,u){var _=typeof o;return u=u??Z,!!u&&(_=="number"||_!="symbol"&&cu.test(o))&&o>-1&&o%1==0&&o<u}function rr(o,u,_){if(!xe(_))return!1;var y=typeof u;return(y=="number"?lr(_)&&wn(u,_.length):y=="string"&&u in _)?Kr(_[u],o):!1}function sl(o,u){if(It(o))return!1;var _=typeof o;return _=="number"||_=="symbol"||_=="boolean"||o==null||Er(o)?!0:Ha.test(o)||!Ka.test(o)||u!=null&&o in ce(u)}function cE(o){var u=typeof o;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?o!=="__proto__":o===null}function ol(o){var u=Ko(o),_=B[u];if(typeof _!="function"||!(u in Wt.prototype))return!1;if(o===_)return!0;var y=rl(_);return!!y&&o===y[0]}function hE(o){return!!Wh&&Wh in o}var pE=Ao?yn:El;function gs(o){var u=o&&o.constructor,_=typeof u=="function"&&u.prototype||$i;return o===_}function W0(o){return o===o&&!xe(o)}function j0(o,u){return function(_){return _==null?!1:_[o]===u&&(u!==e||o in ce(_))}}function dE(o){var u=ea(o,function(y){return _.size===h&&_.clear(),y}),_=u.cache;return u}function _E(o,u){var _=o[1],y=u[1],A=_|y,T=A<(D|v|M),R=y==M&&_==b||y==M&&_==S&&o[7].length<=u[8]||y==(M|S)&&u[7].length<=u[8]&&_==b;if(!(T||R))return o;y&D&&(o[2]=u[2],A|=_&D?0:E);var q=u[3];if(q){var Y=o[3];o[3]=Y?C0(Y,q,u[4]):q,o[4]=Y?Rn(o[3],p):u[4]}return q=u[5],q&&(Y=o[5],o[5]=Y?F0(Y,q,u[6]):q,o[6]=Y?Rn(o[5],p):u[6]),q=u[7],q&&(o[7]=q),y&M&&(o[8]=o[8]==null?u[8]:Je(o[8],u[8])),o[9]==null&&(o[9]=u[9]),o[0]=u[0],o[1]=A,o}function mE(o){var u=[];if(o!=null)for(var _ in ce(o))u.push(_);return u}function gE(o){return Fo.call(o)}function Y0(o,u,_){return u=ze(u===e?o.length-1:u,0),function(){for(var y=arguments,A=-1,T=ze(y.length-u,0),R=H(T);++A<T;)R[A]=y[u+A];A=-1;for(var q=H(u+1);++A<u;)q[A]=y[A];return q[u]=_(R),yr(o,this,q)}}function V0(o,u){return u.length<2?o:ai(o,Lr(u,0,-1))}function vE(o,u){for(var _=o.length,y=Je(u.length,_),A=ur(o);y--;){var T=u[y];o[y]=wn(T,_)?A[T]:e}return o}function al(o,u){if(!(u==="constructor"&&typeof o[u]=="function")&&u!="__proto__")return o[u]}var Z0=K0(m0),vs=TD||function(o,u){return Ve.setTimeout(o,u)},ul=K0(kb);function G0(o,u,_){var y=u+"";return ul(o,lE(y,wE(oE(y),_)))}function K0(o){var u=0,_=0;return function(){var y=RD(),A=U-(y-_);if(_=y,A>0){if(++u>=L)return arguments[0]}else u=0;return o.apply(e,arguments)}}function Jo(o,u){var _=-1,y=o.length,A=y-1;for(u=u===e?y:u;++_<u;){var T=ju(_,A),R=o[T];o[T]=o[_],o[_]=R}return o.length=u,o}var H0=dE(function(o){var u=[];return o.charCodeAt(0)===46&&u.push(""),o.replace(Ja,function(_,y,A,T){u.push(A?T.replace(su,"$1"):y||_)}),u});function sn(o){if(typeof o=="string"||Er(o))return o;var u=o+"";return u=="0"&&1/o==-G?"-0":u}function li(o){if(o!=null){try{return Co.call(o)}catch{}try{return o+""}catch{}}return""}function wE(o,u){return Or(yt,function(_){var y="_."+_[0];u&_[1]&&!Do(o,y)&&o.push(y)}),o.sort()}function J0(o){if(o instanceof Wt)return o.clone();var u=new Ir(o.__wrapped__,o.__chain__);return u.__actions__=ur(o.__actions__),u.__index__=o.__index__,u.__values__=o.__values__,u}function yE(o,u,_){(_?rr(o,u,_):u===e)?u=1:u=ze(Lt(u),0);var y=o==null?0:o.length;if(!y||u<1)return[];for(var A=0,T=0,R=H(To(y/u));A<y;)R[T++]=Lr(o,A,A+=u);return R}function DE(o){for(var u=-1,_=o==null?0:o.length,y=0,A=[];++u<_;){var T=o[u];T&&(A[y++]=T)}return A}function bE(){var o=arguments.length;if(!o)return[];for(var u=H(o-1),_=arguments[0],y=o;y--;)u[y-1]=arguments[y];return Ln(It(_)?ur(_):[_],Ze(u,1))}var EE=Pt(function(o,u){return Me(o)?hs(o,Ze(u,1,Me,!0)):[]}),xE=Pt(function(o,u){var _=Rr(u);return Me(_)&&(_=e),Me(o)?hs(o,Ze(u,1,Me,!0),At(_,2)):[]}),AE=Pt(function(o,u){var _=Rr(u);return Me(_)&&(_=e),Me(o)?hs(o,Ze(u,1,Me,!0),e,_):[]});function CE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:Lt(u),Lr(o,u<0?0:u,y)):[]}function FE(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:Lt(u),u=y-u,Lr(o,0,u<0?0:u)):[]}function ME(o,u){return o&&o.length?Wo(o,At(u,3),!0,!0):[]}function NE(o,u){return o&&o.length?Wo(o,At(u,3),!0):[]}function SE(o,u,_,y){var A=o==null?0:o.length;return A?(_&&typeof _!="number"&&rr(o,u,_)&&(_=0,y=A),bb(o,u,_,y)):[]}function X0(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=_==null?0:Lt(_);return A<0&&(A=ze(y+A,0)),bo(o,At(u,3),A)}function Q0(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=y-1;return _!==e&&(A=Lt(_),A=_<0?ze(y+A,0):Je(A,y-1)),bo(o,At(u,3),A,!0)}function tp(o){var u=o==null?0:o.length;return u?Ze(o,1):[]}function BE(o){var u=o==null?0:o.length;return u?Ze(o,G):[]}function OE(o,u){var _=o==null?0:o.length;return _?(u=u===e?1:Lt(u),Ze(o,u)):[]}function TE(o){for(var u=-1,_=o==null?0:o.length,y={};++u<_;){var A=o[u];y[A[0]]=A[1]}return y}function ep(o){return o&&o.length?o[0]:e}function IE(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=_==null?0:Lt(_);return A<0&&(A=ze(y+A,0)),Bi(o,u,A)}function $E(o){var u=o==null?0:o.length;return u?Lr(o,0,-1):[]}var LE=Pt(function(o){var u=De(o,Ku);return u.length&&u[0]===o[0]?zu(u):[]}),RE=Pt(function(o){var u=Rr(o),_=De(o,Ku);return u===Rr(_)?u=e:_.pop(),_.length&&_[0]===o[0]?zu(_,At(u,2)):[]}),PE=Pt(function(o){var u=Rr(o),_=De(o,Ku);return u=typeof u=="function"?u:e,u&&_.pop(),_.length&&_[0]===o[0]?zu(_,e,u):[]});function zE(o,u){return o==null?"":$D.call(o,u)}function Rr(o){var u=o==null?0:o.length;return u?o[u-1]:e}function qE(o,u,_){var y=o==null?0:o.length;if(!y)return-1;var A=y;return _!==e&&(A=Lt(_),A=A<0?ze(y+A,0):Je(A,y-1)),u===u?wD(o,u,A):bo(o,$h,A,!0)}function kE(o,u){return o&&o.length?h0(o,Lt(u)):e}var UE=Pt(rp);function rp(o,u){return o&&o.length&&u&&u.length?Wu(o,u):o}function WE(o,u,_){return o&&o.length&&u&&u.length?Wu(o,u,At(_,2)):o}function jE(o,u,_){return o&&o.length&&u&&u.length?Wu(o,u,e,_):o}var YE=vn(function(o,u){var _=o==null?0:o.length,y=$u(o,u);return _0(o,De(u,function(A){return wn(A,_)?+A:A}).sort(A0)),y});function VE(o,u){var _=[];if(!(o&&o.length))return _;var y=-1,A=[],T=o.length;for(u=At(u,3);++y<T;){var R=o[y];u(R,y,o)&&(_.push(R),A.push(y))}return _0(o,A),_}function ll(o){return o==null?o:zD.call(o)}function ZE(o,u,_){var y=o==null?0:o.length;return y?(_&&typeof _!="number"&&rr(o,u,_)?(u=0,_=y):(u=u==null?0:Lt(u),_=_===e?y:Lt(_)),Lr(o,u,_)):[]}function GE(o,u){return Uo(o,u)}function KE(o,u,_){return Vu(o,u,At(_,2))}function HE(o,u){var _=o==null?0:o.length;if(_){var y=Uo(o,u);if(y<_&&Kr(o[y],u))return y}return-1}function JE(o,u){return Uo(o,u,!0)}function XE(o,u,_){return Vu(o,u,At(_,2),!0)}function QE(o,u){var _=o==null?0:o.length;if(_){var y=Uo(o,u,!0)-1;if(Kr(o[y],u))return y}return-1}function tx(o){return o&&o.length?g0(o):[]}function ex(o,u){return o&&o.length?g0(o,At(u,2)):[]}function rx(o){var u=o==null?0:o.length;return u?Lr(o,1,u):[]}function nx(o,u,_){return o&&o.length?(u=_||u===e?1:Lt(u),Lr(o,0,u<0?0:u)):[]}function ix(o,u,_){var y=o==null?0:o.length;return y?(u=_||u===e?1:Lt(u),u=y-u,Lr(o,u<0?0:u,y)):[]}function sx(o,u){return o&&o.length?Wo(o,At(u,3),!1,!0):[]}function ox(o,u){return o&&o.length?Wo(o,At(u,3)):[]}var ax=Pt(function(o){return qn(Ze(o,1,Me,!0))}),ux=Pt(function(o){var u=Rr(o);return Me(u)&&(u=e),qn(Ze(o,1,Me,!0),At(u,2))}),lx=Pt(function(o){var u=Rr(o);return u=typeof u=="function"?u:e,qn(Ze(o,1,Me,!0),e,u)});function fx(o){return o&&o.length?qn(o):[]}function cx(o,u){return o&&o.length?qn(o,At(u,2)):[]}function hx(o,u){return u=typeof u=="function"?u:e,o&&o.length?qn(o,e,u):[]}function fl(o){if(!(o&&o.length))return[];var u=0;return o=$n(o,function(_){if(Me(_))return u=ze(_.length,u),!0}),Fu(u,function(_){return De(o,xu(_))})}function np(o,u){if(!(o&&o.length))return[];var _=fl(o);return u==null?_:De(_,function(y){return yr(u,e,y)})}var px=Pt(function(o,u){return Me(o)?hs(o,u):[]}),dx=Pt(function(o){return Gu($n(o,Me))}),_x=Pt(function(o){var u=Rr(o);return Me(u)&&(u=e),Gu($n(o,Me),At(u,2))}),mx=Pt(function(o){var u=Rr(o);return u=typeof u=="function"?u:e,Gu($n(o,Me),e,u)}),gx=Pt(fl);function vx(o,u){return D0(o||[],u||[],cs)}function wx(o,u){return D0(o||[],u||[],_s)}var yx=Pt(function(o){var u=o.length,_=u>1?o[u-1]:e;return _=typeof _=="function"?(o.pop(),_):e,np(o,_)});function ip(o){var u=B(o);return u.__chain__=!0,u}function Dx(o,u){return u(o),o}function Xo(o,u){return u(o)}var bx=vn(function(o){var u=o.length,_=u?o[0]:0,y=this.__wrapped__,A=function(T){return $u(T,o)};return u>1||this.__actions__.length||!(y instanceof Wt)||!wn(_)?this.thru(A):(y=y.slice(_,+_+(u?1:0)),y.__actions__.push({func:Xo,args:[A],thisArg:e}),new Ir(y,this.__chain__).thru(function(T){return u&&!T.length&&T.push(e),T}))});function Ex(){return ip(this)}function xx(){return new Ir(this.value(),this.__chain__)}function Ax(){this.__values__===e&&(this.__values__=vp(this.value()));var o=this.__index__>=this.__values__.length,u=o?e:this.__values__[this.__index__++];return{done:o,value:u}}function Cx(){return this}function Fx(o){for(var u,_=this;_ instanceof Ro;){var y=J0(_);y.__index__=0,y.__values__=e,u?A.__wrapped__=y:u=y;var A=y;_=_.__wrapped__}return A.__wrapped__=o,u}function Mx(){var o=this.__wrapped__;if(o instanceof Wt){var u=o;return this.__actions__.length&&(u=new Wt(this)),u=u.reverse(),u.__actions__.push({func:Xo,args:[ll],thisArg:e}),new Ir(u,this.__chain__)}return this.thru(ll)}function Nx(){return y0(this.__wrapped__,this.__actions__)}var Sx=jo(function(o,u,_){ae.call(o,_)?++o[_]:mn(o,_,1)});function Bx(o,u,_){var y=It(o)?Th:Db;return _&&rr(o,u,_)&&(u=e),y(o,At(u,3))}function Ox(o,u){var _=It(o)?$n:n0;return _(o,At(u,3))}var Tx=B0(X0),Ix=B0(Q0);function $x(o,u){return Ze(Qo(o,u),1)}function Lx(o,u){return Ze(Qo(o,u),G)}function Rx(o,u,_){return _=_===e?1:Lt(_),Ze(Qo(o,u),_)}function sp(o,u){var _=It(o)?Or:zn;return _(o,At(u,3))}function op(o,u){var _=It(o)?rD:r0;return _(o,At(u,3))}var Px=jo(function(o,u,_){ae.call(o,_)?o[_].push(u):mn(o,_,[u])});function zx(o,u,_,y){o=lr(o)?o:Wi(o),_=_&&!y?Lt(_):0;var A=o.length;return _<0&&(_=ze(A+_,0)),ia(o)?_<=A&&o.indexOf(u,_)>-1:!!A&&Bi(o,u,_)>-1}var qx=Pt(function(o,u,_){var y=-1,A=typeof u=="function",T=lr(o)?H(o.length):[];return zn(o,function(R){T[++y]=A?yr(u,R,_):ps(R,u,_)}),T}),kx=jo(function(o,u,_){mn(o,_,u)});function Qo(o,u){var _=It(o)?De:l0;return _(o,At(u,3))}function Ux(o,u,_,y){return o==null?[]:(It(u)||(u=u==null?[]:[u]),_=y?e:_,It(_)||(_=_==null?[]:[_]),p0(o,u,_))}var Wx=jo(function(o,u,_){o[_?0:1].push(u)},function(){return[[],[]]});function jx(o,u,_){var y=It(o)?bu:Rh,A=arguments.length<3;return y(o,At(u,4),_,A,zn)}function Yx(o,u,_){var y=It(o)?nD:Rh,A=arguments.length<3;return y(o,At(u,4),_,A,r0)}function Vx(o,u){var _=It(o)?$n:n0;return _(o,ra(At(u,3)))}function Zx(o){var u=It(o)?Xh:zb;return u(o)}function Gx(o,u,_){(_?rr(o,u,_):u===e)?u=1:u=Lt(u);var y=It(o)?mb:qb;return y(o,u)}function Kx(o){var u=It(o)?gb:Ub;return u(o)}function Hx(o){if(o==null)return 0;if(lr(o))return ia(o)?Ti(o):o.length;var u=Xe(o);return u==Jt||u==gr?o.size:ku(o).length}function Jx(o,u,_){var y=It(o)?Eu:Wb;return _&&rr(o,u,_)&&(u=e),y(o,At(u,3))}var Xx=Pt(function(o,u){if(o==null)return[];var _=u.length;return _>1&&rr(o,u[0],u[1])?u=[]:_>2&&rr(u[0],u[1],u[2])&&(u=[u[0]]),p0(o,Ze(u,1),[])}),ta=OD||function(){return Ve.Date.now()};function Qx(o,u){if(typeof u!="function")throw new Tr(a);return o=Lt(o),function(){if(--o<1)return u.apply(this,arguments)}}function ap(o,u,_){return u=_?e:u,u=o&&u==null?o.length:u,gn(o,M,e,e,e,e,u)}function up(o,u){var _;if(typeof u!="function")throw new Tr(a);return o=Lt(o),function(){return--o>0&&(_=u.apply(this,arguments)),o<=1&&(u=e),_}}var cl=Pt(function(o,u,_){var y=D;if(_.length){var A=Rn(_,ki(cl));y|=x}return gn(o,y,u,_,A)}),lp=Pt(function(o,u,_){var y=D|v;if(_.length){var A=Rn(_,ki(lp));y|=x}return gn(u,y,o,_,A)});function fp(o,u,_){u=_?e:u;var y=gn(o,b,e,e,e,e,e,u);return y.placeholder=fp.placeholder,y}function cp(o,u,_){u=_?e:u;var y=gn(o,N,e,e,e,e,e,u);return y.placeholder=cp.placeholder,y}function hp(o,u,_){var y,A,T,R,q,Y,Q=0,et=!1,ot=!1,dt=!0;if(typeof o!="function")throw new Tr(a);u=Pr(u)||0,xe(_)&&(et=!!_.leading,ot="maxWait"in _,T=ot?ze(Pr(_.maxWait)||0,u):T,dt="trailing"in _?!!_.trailing:dt);function wt(Ne){var Hr=y,bn=A;return y=A=e,Q=Ne,R=o.apply(bn,Hr),R}function Ct(Ne){return Q=Ne,q=vs(kt,u),et?wt(Ne):R}function Rt(Ne){var Hr=Ne-Y,bn=Ne-Q,Bp=u-Hr;return ot?Je(Bp,T-bn):Bp}function Ft(Ne){var Hr=Ne-Y,bn=Ne-Q;return Y===e||Hr>=u||Hr<0||ot&&bn>=T}function kt(){var Ne=ta();if(Ft(Ne))return Yt(Ne);q=vs(kt,Rt(Ne))}function Yt(Ne){return q=e,dt&&y?wt(Ne):(y=A=e,R)}function xr(){q!==e&&b0(q),Q=0,y=Y=A=q=e}function nr(){return q===e?R:Yt(ta())}function Ar(){var Ne=ta(),Hr=Ft(Ne);if(y=arguments,A=this,Y=Ne,Hr){if(q===e)return Ct(Y);if(ot)return b0(q),q=vs(kt,u),wt(Y)}return q===e&&(q=vs(kt,u)),R}return Ar.cancel=xr,Ar.flush=nr,Ar}var tA=Pt(function(o,u){return e0(o,1,u)}),eA=Pt(function(o,u,_){return e0(o,Pr(u)||0,_)});function rA(o){return gn(o,I)}function ea(o,u){if(typeof o!="function"||u!=null&&typeof u!="function")throw new Tr(a);var _=function(){var y=arguments,A=u?u.apply(this,y):y[0],T=_.cache;if(T.has(A))return T.get(A);var R=o.apply(this,y);return _.cache=T.set(A,R)||T,R};return _.cache=new(ea.Cache||_n),_}ea.Cache=_n;function ra(o){if(typeof o!="function")throw new Tr(a);return function(){var u=arguments;switch(u.length){case 0:return!o.call(this);case 1:return!o.call(this,u[0]);case 2:return!o.call(this,u[0],u[1]);case 3:return!o.call(this,u[0],u[1],u[2])}return!o.apply(this,u)}}function nA(o){return up(2,o)}var iA=jb(function(o,u){u=u.length==1&&It(u[0])?De(u[0],Dr(At())):De(Ze(u,1),Dr(At()));var _=u.length;return Pt(function(y){for(var A=-1,T=Je(y.length,_);++A<T;)y[A]=u[A].call(this,y[A]);return yr(o,this,y)})}),hl=Pt(function(o,u){var _=Rn(u,ki(hl));return gn(o,x,e,u,_)}),pp=Pt(function(o,u){var _=Rn(u,ki(pp));return gn(o,F,e,u,_)}),sA=vn(function(o,u){return gn(o,S,e,e,e,u)});function oA(o,u){if(typeof o!="function")throw new Tr(a);return u=u===e?u:Lt(u),Pt(o,u)}function aA(o,u){if(typeof o!="function")throw new Tr(a);return u=u==null?0:ze(Lt(u),0),Pt(function(_){var y=_[u],A=Un(_,0,u);return y&&Ln(A,y),yr(o,this,A)})}function uA(o,u,_){var y=!0,A=!0;if(typeof o!="function")throw new Tr(a);return xe(_)&&(y="leading"in _?!!_.leading:y,A="trailing"in _?!!_.trailing:A),hp(o,u,{leading:y,maxWait:u,trailing:A})}function lA(o){return ap(o,1)}function fA(o,u){return hl(Hu(u),o)}function cA(){if(!arguments.length)return[];var o=arguments[0];return It(o)?o:[o]}function hA(o){return $r(o,g)}function pA(o,u){return u=typeof u=="function"?u:e,$r(o,g,u)}function dA(o){return $r(o,c|g)}function _A(o,u){return u=typeof u=="function"?u:e,$r(o,c|g,u)}function mA(o,u){return u==null||t0(o,u,ke(u))}function Kr(o,u){return o===u||o!==o&&u!==u}var gA=Go(Pu),vA=Go(function(o,u){return o>=u}),fi=o0(function(){return arguments}())?o0:function(o){return Ae(o)&&ae.call(o,"callee")&&!Vh.call(o,"callee")},It=H.isArray,wA=Fh?Dr(Fh):Fb;function lr(o){return o!=null&&na(o.length)&&!yn(o)}function Me(o){return Ae(o)&&lr(o)}function yA(o){return o===!0||o===!1||Ae(o)&&er(o)==oe}var Wn=ID||El,DA=Mh?Dr(Mh):Mb;function bA(o){return Ae(o)&&o.nodeType===1&&!ws(o)}function EA(o){if(o==null)return!0;if(lr(o)&&(It(o)||typeof o=="string"||typeof o.splice=="function"||Wn(o)||Ui(o)||fi(o)))return!o.length;var u=Xe(o);if(u==Jt||u==gr)return!o.size;if(gs(o))return!ku(o).length;for(var _ in o)if(ae.call(o,_))return!1;return!0}function xA(o,u){return ds(o,u)}function AA(o,u,_){_=typeof _=="function"?_:e;var y=_?_(o,u):e;return y===e?ds(o,u,e,_):!!y}function pl(o){if(!Ae(o))return!1;var u=er(o);return u==ue||u==Nt||typeof o.message=="string"&&typeof o.name=="string"&&!ws(o)}function CA(o){return typeof o=="number"&&Gh(o)}function yn(o){if(!xe(o))return!1;var u=er(o);return u==re||u==qt||u==Et||u==Bn}function dp(o){return typeof o=="number"&&o==Lt(o)}function na(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=Z}function xe(o){var u=typeof o;return o!=null&&(u=="object"||u=="function")}function Ae(o){return o!=null&&typeof o=="object"}var _p=Nh?Dr(Nh):Sb;function FA(o,u){return o===u||qu(o,u,nl(u))}function MA(o,u,_){return _=typeof _=="function"?_:e,qu(o,u,nl(u),_)}function NA(o){return mp(o)&&o!=+o}function SA(o){if(pE(o))throw new Ot(s);return a0(o)}function BA(o){return o===null}function OA(o){return o==null}function mp(o){return typeof o=="number"||Ae(o)&&er(o)==Te}function ws(o){if(!Ae(o)||er(o)!=Le)return!1;var u=So(o);if(u===null)return!0;var _=ae.call(u,"constructor")&&u.constructor;return typeof _=="function"&&_ instanceof _&&Co.call(_)==MD}var dl=Sh?Dr(Sh):Bb;function TA(o){return dp(o)&&o>=-Z&&o<=Z}var gp=Bh?Dr(Bh):Ob;function ia(o){return typeof o=="string"||!It(o)&&Ae(o)&&er(o)==On}function Er(o){return typeof o=="symbol"||Ae(o)&&er(o)==$}var Ui=Oh?Dr(Oh):Tb;function IA(o){return o===e}function $A(o){return Ae(o)&&Xe(o)==K}function LA(o){return Ae(o)&&er(o)==nt}var RA=Go(Uu),PA=Go(function(o,u){return o<=u});function vp(o){if(!o)return[];if(lr(o))return ia(o)?Zr(o):ur(o);if(os&&o[os])return mD(o[os]());var u=Xe(o),_=u==Jt?Nu:u==gr?Eo:Wi;return _(o)}function Dn(o){if(!o)return o===0?o:0;if(o=Pr(o),o===G||o===-G){var u=o<0?-1:1;return u*X}return o===o?o:0}function Lt(o){var u=Dn(o),_=u%1;return u===u?_?u-_:u:0}function wp(o){return o?oi(Lt(o),0,ft):0}function Pr(o){if(typeof o=="number")return o;if(Er(o))return tt;if(xe(o)){var u=typeof o.valueOf=="function"?o.valueOf():o;o=xe(u)?u+"":u}if(typeof o!="string")return o===0?o:+o;o=Ph(o);var _=uu.test(o);return _||fu.test(o)?Qy(o.slice(2),_?2:8):au.test(o)?tt:+o}function yp(o){return nn(o,fr(o))}function zA(o){return o?oi(Lt(o),-Z,Z):o===0?o:0}function ie(o){return o==null?"":br(o)}var qA=zi(function(o,u){if(gs(u)||lr(u)){nn(u,ke(u),o);return}for(var _ in u)ae.call(u,_)&&cs(o,_,u[_])}),Dp=zi(function(o,u){nn(u,fr(u),o)}),sa=zi(function(o,u,_,y){nn(u,fr(u),o,y)}),kA=zi(function(o,u,_,y){nn(u,ke(u),o,y)}),UA=vn($u);function WA(o,u){var _=Pi(o);return u==null?_:Qh(_,u)}var jA=Pt(function(o,u){o=ce(o);var _=-1,y=u.length,A=y>2?u[2]:e;for(A&&rr(u[0],u[1],A)&&(y=1);++_<y;)for(var T=u[_],R=fr(T),q=-1,Y=R.length;++q<Y;){var Q=R[q],et=o[Q];(et===e||Kr(et,$i[Q])&&!ae.call(o,Q))&&(o[Q]=T[Q])}return o}),YA=Pt(function(o){return o.push(e,P0),yr(bp,e,o)});function VA(o,u){return Ih(o,At(u,3),rn)}function ZA(o,u){return Ih(o,At(u,3),Ru)}function GA(o,u){return o==null?o:Lu(o,At(u,3),fr)}function KA(o,u){return o==null?o:i0(o,At(u,3),fr)}function HA(o,u){return o&&rn(o,At(u,3))}function JA(o,u){return o&&Ru(o,At(u,3))}function XA(o){return o==null?[]:qo(o,ke(o))}function QA(o){return o==null?[]:qo(o,fr(o))}function _l(o,u,_){var y=o==null?e:ai(o,u);return y===e?_:y}function tC(o,u){return o!=null&&k0(o,u,Eb)}function ml(o,u){return o!=null&&k0(o,u,xb)}var eC=T0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=Fo.call(u)),o[u]=_},vl(cr)),rC=T0(function(o,u,_){u!=null&&typeof u.toString!="function"&&(u=Fo.call(u)),ae.call(o,u)?o[u].push(_):o[u]=[_]},At),nC=Pt(ps);function ke(o){return lr(o)?Jh(o):ku(o)}function fr(o){return lr(o)?Jh(o,!0):Ib(o)}function iC(o,u){var _={};return u=At(u,3),rn(o,function(y,A,T){mn(_,u(y,A,T),y)}),_}function sC(o,u){var _={};return u=At(u,3),rn(o,function(y,A,T){mn(_,A,u(y,A,T))}),_}var oC=zi(function(o,u,_){ko(o,u,_)}),bp=zi(function(o,u,_,y){ko(o,u,_,y)}),aC=vn(function(o,u){var _={};if(o==null)return _;var y=!1;u=De(u,function(T){return T=kn(T,o),y||(y=T.length>1),T}),nn(o,el(o),_),y&&(_=$r(_,c|d|g,eE));for(var A=u.length;A--;)Zu(_,u[A]);return _});function uC(o,u){return Ep(o,ra(At(u)))}var lC=vn(function(o,u){return o==null?{}:Lb(o,u)});function Ep(o,u){if(o==null)return{};var _=De(el(o),function(y){return[y]});return u=At(u),d0(o,_,function(y,A){return u(y,A[0])})}function fC(o,u,_){u=kn(u,o);var y=-1,A=u.length;for(A||(A=1,o=e);++y<A;){var T=o==null?e:o[sn(u[y])];T===e&&(y=A,T=_),o=yn(T)?T.call(o):T}return o}function cC(o,u,_){return o==null?o:_s(o,u,_)}function hC(o,u,_,y){return y=typeof y=="function"?y:e,o==null?o:_s(o,u,_,y)}var xp=L0(ke),Ap=L0(fr);function pC(o,u,_){var y=It(o),A=y||Wn(o)||Ui(o);if(u=At(u,4),_==null){var T=o&&o.constructor;A?_=y?new T:[]:xe(o)?_=yn(T)?Pi(So(o)):{}:_={}}return(A?Or:rn)(o,function(R,q,Y){return u(_,R,q,Y)}),_}function dC(o,u){return o==null?!0:Zu(o,u)}function _C(o,u,_){return o==null?o:w0(o,u,Hu(_))}function mC(o,u,_,y){return y=typeof y=="function"?y:e,o==null?o:w0(o,u,Hu(_),y)}function Wi(o){return o==null?[]:Mu(o,ke(o))}function gC(o){return o==null?[]:Mu(o,fr(o))}function vC(o,u,_){return _===e&&(_=u,u=e),_!==e&&(_=Pr(_),_=_===_?_:0),u!==e&&(u=Pr(u),u=u===u?u:0),oi(Pr(o),u,_)}function wC(o,u,_){return u=Dn(u),_===e?(_=u,u=0):_=Dn(_),o=Pr(o),Ab(o,u,_)}function yC(o,u,_){if(_&&typeof _!="boolean"&&rr(o,u,_)&&(u=_=e),_===e&&(typeof u=="boolean"?(_=u,u=e):typeof o=="boolean"&&(_=o,o=e)),o===e&&u===e?(o=0,u=1):(o=Dn(o),u===e?(u=o,o=0):u=Dn(u)),o>u){var y=o;o=u,u=y}if(_||o%1||u%1){var A=Kh();return Je(o+A*(u-o+Xy("1e-"+((A+"").length-1))),u)}return ju(o,u)}var DC=qi(function(o,u,_){return u=u.toLowerCase(),o+(_?Cp(u):u)});function Cp(o){return gl(ie(o).toLowerCase())}function Fp(o){return o=ie(o),o&&o.replace(hu,cD).replace(Uy,"")}function bC(o,u,_){o=ie(o),u=br(u);var y=o.length;_=_===e?y:oi(Lt(_),0,y);var A=_;return _-=u.length,_>=0&&o.slice(_,A)==u}function EC(o){return o=ie(o),o&&Va.test(o)?o.replace(mo,hD):o}function xC(o){return o=ie(o),o&&Xa.test(o)?o.replace(ns,"\\$&"):o}var AC=qi(function(o,u,_){return o+(_?"-":"")+u.toLowerCase()}),CC=qi(function(o,u,_){return o+(_?" ":"")+u.toLowerCase()}),FC=S0("toLowerCase");function MC(o,u,_){o=ie(o),u=Lt(u);var y=u?Ti(o):0;if(!u||y>=u)return o;var A=(u-y)/2;return Zo(Io(A),_)+o+Zo(To(A),_)}function NC(o,u,_){o=ie(o),u=Lt(u);var y=u?Ti(o):0;return u&&y<u?o+Zo(u-y,_):o}function SC(o,u,_){o=ie(o),u=Lt(u);var y=u?Ti(o):0;return u&&y<u?Zo(u-y,_)+o:o}function BC(o,u,_){return _||u==null?u=0:u&&(u=+u),PD(ie(o).replace(is,""),u||0)}function OC(o,u,_){return(_?rr(o,u,_):u===e)?u=1:u=Lt(u),Yu(ie(o),u)}function TC(){var o=arguments,u=ie(o[0]);return o.length<3?u:u.replace(o[1],o[2])}var IC=qi(function(o,u,_){return o+(_?"_":"")+u.toLowerCase()});function $C(o,u,_){return _&&typeof _!="number"&&rr(o,u,_)&&(u=_=e),_=_===e?ft:_>>>0,_?(o=ie(o),o&&(typeof u=="string"||u!=null&&!dl(u))&&(u=br(u),!u&&Oi(o))?Un(Zr(o),0,_):o.split(u,_)):[]}var LC=qi(function(o,u,_){return o+(_?" ":"")+gl(u)});function RC(o,u,_){return o=ie(o),_=_==null?0:oi(Lt(_),0,o.length),u=br(u),o.slice(_,_+u.length)==u}function PC(o,u,_){var y=B.templateSettings;_&&rr(o,u,_)&&(u=e),o=ie(o),u=sa({},u,y,R0);var A=sa({},u.imports,y.imports,R0),T=ke(A),R=Mu(A,T),q,Y,Q=0,et=u.interpolate||Mi,ot="__p += '",dt=Su((u.escape||Mi).source+"|"+et.source+"|"+(et===go?ou:Mi).source+"|"+(u.evaluate||Mi).source+"|$","g"),wt="//# sourceURL="+(ae.call(u,"sourceURL")?(u.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Zy+"]")+`
11
+ `;o.replace(dt,function(Ft,kt,Yt,xr,nr,Ar){return Yt||(Yt=xr),ot+=o.slice(Q,Ar).replace(ei,pD),kt&&(q=!0,ot+=`' +
12
+ __e(`+kt+`) +
13
+ '`),nr&&(Y=!0,ot+=`';
14
+ `+nr+`;
15
+ __p += '`),Yt&&(ot+=`' +
16
+ ((__t = (`+Yt+`)) == null ? '' : __t) +
17
+ '`),Q=Ar+Ft.length,Ft}),ot+=`';
18
+ `;var Ct=ae.call(u,"variable")&&u.variable;if(!Ct)ot=`with (obj) {
19
+ `+ot+`
20
+ }
21
+ `;else if(iu.test(Ct))throw new Ot(l);ot=(Y?ot.replace(vr,""):ot).replace(wr,"$1").replace(Tn,"$1;"),ot="function("+(Ct||"obj")+`) {
22
+ `+(Ct?"":`obj || (obj = {});
23
+ `)+"var __t, __p = ''"+(q?", __e = _.escape":"")+(Y?`, __j = Array.prototype.join;
24
+ function print() { __p += __j.call(arguments, '') }
25
+ `:`;
26
+ `)+ot+`return __p
27
+ }`;var Rt=Np(function(){return te(T,wt+"return "+ot).apply(e,R)});if(Rt.source=ot,pl(Rt))throw Rt;return Rt}function zC(o){return ie(o).toLowerCase()}function qC(o){return ie(o).toUpperCase()}function kC(o,u,_){if(o=ie(o),o&&(_||u===e))return Ph(o);if(!o||!(u=br(u)))return o;var y=Zr(o),A=Zr(u),T=zh(y,A),R=qh(y,A)+1;return Un(y,T,R).join("")}function UC(o,u,_){if(o=ie(o),o&&(_||u===e))return o.slice(0,Uh(o)+1);if(!o||!(u=br(u)))return o;var y=Zr(o),A=qh(y,Zr(u))+1;return Un(y,0,A).join("")}function WC(o,u,_){if(o=ie(o),o&&(_||u===e))return o.replace(is,"");if(!o||!(u=br(u)))return o;var y=Zr(o),A=zh(y,Zr(u));return Un(y,A).join("")}function jC(o,u){var _=C,y=O;if(xe(u)){var A="separator"in u?u.separator:A;_="length"in u?Lt(u.length):_,y="omission"in u?br(u.omission):y}o=ie(o);var T=o.length;if(Oi(o)){var R=Zr(o);T=R.length}if(_>=T)return o;var q=_-Ti(y);if(q<1)return y;var Y=R?Un(R,0,q).join(""):o.slice(0,q);if(A===e)return Y+y;if(R&&(q+=Y.length-q),dl(A)){if(o.slice(q).search(A)){var Q,et=Y;for(A.global||(A=Su(A.source,ie(vo.exec(A))+"g")),A.lastIndex=0;Q=A.exec(et);)var ot=Q.index;Y=Y.slice(0,ot===e?q:ot)}}else if(o.indexOf(br(A),q)!=q){var dt=Y.lastIndexOf(A);dt>-1&&(Y=Y.slice(0,dt))}return Y+y}function YC(o){return o=ie(o),o&&Ya.test(o)?o.replace(ti,yD):o}var VC=qi(function(o,u,_){return o+(_?" ":"")+u.toUpperCase()}),gl=S0("toUpperCase");function Mp(o,u,_){return o=ie(o),u=_?e:u,u===e?_D(o)?ED(o):oD(o):o.match(u)||[]}var Np=Pt(function(o,u){try{return yr(o,e,u)}catch(_){return pl(_)?_:new Ot(_)}}),ZC=vn(function(o,u){return Or(u,function(_){_=sn(_),mn(o,_,cl(o[_],o))}),o});function GC(o){var u=o==null?0:o.length,_=At();return o=u?De(o,function(y){if(typeof y[1]!="function")throw new Tr(a);return[_(y[0]),y[1]]}):[],Pt(function(y){for(var A=-1;++A<u;){var T=o[A];if(yr(T[0],this,y))return yr(T[1],this,y)}})}function KC(o){return yb($r(o,c))}function vl(o){return function(){return o}}function HC(o,u){return o==null||o!==o?u:o}var JC=O0(),XC=O0(!0);function cr(o){return o}function wl(o){return u0(typeof o=="function"?o:$r(o,c))}function QC(o){return f0($r(o,c))}function t2(o,u){return c0(o,$r(u,c))}var e2=Pt(function(o,u){return function(_){return ps(_,o,u)}}),r2=Pt(function(o,u){return function(_){return ps(o,_,u)}});function yl(o,u,_){var y=ke(u),A=qo(u,y);_==null&&!(xe(u)&&(A.length||!y.length))&&(_=u,u=o,o=this,A=qo(u,ke(u)));var T=!(xe(_)&&"chain"in _)||!!_.chain,R=yn(o);return Or(A,function(q){var Y=u[q];o[q]=Y,R&&(o.prototype[q]=function(){var Q=this.__chain__;if(T||Q){var et=o(this.__wrapped__),ot=et.__actions__=ur(this.__actions__);return ot.push({func:Y,args:arguments,thisArg:o}),et.__chain__=Q,et}return Y.apply(o,Ln([this.value()],arguments))})}),o}function n2(){return Ve._===this&&(Ve._=ND),this}function Dl(){}function i2(o){return o=Lt(o),Pt(function(u){return h0(u,o)})}var s2=Xu(De),o2=Xu(Th),a2=Xu(Eu);function Sp(o){return sl(o)?xu(sn(o)):Rb(o)}function u2(o){return function(u){return o==null?e:ai(o,u)}}var l2=I0(),f2=I0(!0);function bl(){return[]}function El(){return!1}function c2(){return{}}function h2(){return""}function p2(){return!0}function d2(o,u){if(o=Lt(o),o<1||o>Z)return[];var _=ft,y=Je(o,ft);u=At(u),o-=ft;for(var A=Fu(y,u);++_<o;)u(_);return A}function _2(o){return It(o)?De(o,sn):Er(o)?[o]:ur(H0(ie(o)))}function m2(o){var u=++FD;return ie(o)+u}var g2=Vo(function(o,u){return o+u},0),v2=Qu("ceil"),w2=Vo(function(o,u){return o/u},1),y2=Qu("floor");function D2(o){return o&&o.length?zo(o,cr,Pu):e}function b2(o,u){return o&&o.length?zo(o,At(u,2),Pu):e}function E2(o){return Lh(o,cr)}function x2(o,u){return Lh(o,At(u,2))}function A2(o){return o&&o.length?zo(o,cr,Uu):e}function C2(o,u){return o&&o.length?zo(o,At(u,2),Uu):e}var F2=Vo(function(o,u){return o*u},1),M2=Qu("round"),N2=Vo(function(o,u){return o-u},0);function S2(o){return o&&o.length?Cu(o,cr):0}function B2(o,u){return o&&o.length?Cu(o,At(u,2)):0}return B.after=Qx,B.ary=ap,B.assign=qA,B.assignIn=Dp,B.assignInWith=sa,B.assignWith=kA,B.at=UA,B.before=up,B.bind=cl,B.bindAll=ZC,B.bindKey=lp,B.castArray=cA,B.chain=ip,B.chunk=yE,B.compact=DE,B.concat=bE,B.cond=GC,B.conforms=KC,B.constant=vl,B.countBy=Sx,B.create=WA,B.curry=fp,B.curryRight=cp,B.debounce=hp,B.defaults=jA,B.defaultsDeep=YA,B.defer=tA,B.delay=eA,B.difference=EE,B.differenceBy=xE,B.differenceWith=AE,B.drop=CE,B.dropRight=FE,B.dropRightWhile=ME,B.dropWhile=NE,B.fill=SE,B.filter=Ox,B.flatMap=$x,B.flatMapDeep=Lx,B.flatMapDepth=Rx,B.flatten=tp,B.flattenDeep=BE,B.flattenDepth=OE,B.flip=rA,B.flow=JC,B.flowRight=XC,B.fromPairs=TE,B.functions=XA,B.functionsIn=QA,B.groupBy=Px,B.initial=$E,B.intersection=LE,B.intersectionBy=RE,B.intersectionWith=PE,B.invert=eC,B.invertBy=rC,B.invokeMap=qx,B.iteratee=wl,B.keyBy=kx,B.keys=ke,B.keysIn=fr,B.map=Qo,B.mapKeys=iC,B.mapValues=sC,B.matches=QC,B.matchesProperty=t2,B.memoize=ea,B.merge=oC,B.mergeWith=bp,B.method=e2,B.methodOf=r2,B.mixin=yl,B.negate=ra,B.nthArg=i2,B.omit=aC,B.omitBy=uC,B.once=nA,B.orderBy=Ux,B.over=s2,B.overArgs=iA,B.overEvery=o2,B.overSome=a2,B.partial=hl,B.partialRight=pp,B.partition=Wx,B.pick=lC,B.pickBy=Ep,B.property=Sp,B.propertyOf=u2,B.pull=UE,B.pullAll=rp,B.pullAllBy=WE,B.pullAllWith=jE,B.pullAt=YE,B.range=l2,B.rangeRight=f2,B.rearg=sA,B.reject=Vx,B.remove=VE,B.rest=oA,B.reverse=ll,B.sampleSize=Gx,B.set=cC,B.setWith=hC,B.shuffle=Kx,B.slice=ZE,B.sortBy=Xx,B.sortedUniq=tx,B.sortedUniqBy=ex,B.split=$C,B.spread=aA,B.tail=rx,B.take=nx,B.takeRight=ix,B.takeRightWhile=sx,B.takeWhile=ox,B.tap=Dx,B.throttle=uA,B.thru=Xo,B.toArray=vp,B.toPairs=xp,B.toPairsIn=Ap,B.toPath=_2,B.toPlainObject=yp,B.transform=pC,B.unary=lA,B.union=ax,B.unionBy=ux,B.unionWith=lx,B.uniq=fx,B.uniqBy=cx,B.uniqWith=hx,B.unset=dC,B.unzip=fl,B.unzipWith=np,B.update=_C,B.updateWith=mC,B.values=Wi,B.valuesIn=gC,B.without=px,B.words=Mp,B.wrap=fA,B.xor=dx,B.xorBy=_x,B.xorWith=mx,B.zip=gx,B.zipObject=vx,B.zipObjectDeep=wx,B.zipWith=yx,B.entries=xp,B.entriesIn=Ap,B.extend=Dp,B.extendWith=sa,yl(B,B),B.add=g2,B.attempt=Np,B.camelCase=DC,B.capitalize=Cp,B.ceil=v2,B.clamp=vC,B.clone=hA,B.cloneDeep=dA,B.cloneDeepWith=_A,B.cloneWith=pA,B.conformsTo=mA,B.deburr=Fp,B.defaultTo=HC,B.divide=w2,B.endsWith=bC,B.eq=Kr,B.escape=EC,B.escapeRegExp=xC,B.every=Bx,B.find=Tx,B.findIndex=X0,B.findKey=VA,B.findLast=Ix,B.findLastIndex=Q0,B.findLastKey=ZA,B.floor=y2,B.forEach=sp,B.forEachRight=op,B.forIn=GA,B.forInRight=KA,B.forOwn=HA,B.forOwnRight=JA,B.get=_l,B.gt=gA,B.gte=vA,B.has=tC,B.hasIn=ml,B.head=ep,B.identity=cr,B.includes=zx,B.indexOf=IE,B.inRange=wC,B.invoke=nC,B.isArguments=fi,B.isArray=It,B.isArrayBuffer=wA,B.isArrayLike=lr,B.isArrayLikeObject=Me,B.isBoolean=yA,B.isBuffer=Wn,B.isDate=DA,B.isElement=bA,B.isEmpty=EA,B.isEqual=xA,B.isEqualWith=AA,B.isError=pl,B.isFinite=CA,B.isFunction=yn,B.isInteger=dp,B.isLength=na,B.isMap=_p,B.isMatch=FA,B.isMatchWith=MA,B.isNaN=NA,B.isNative=SA,B.isNil=OA,B.isNull=BA,B.isNumber=mp,B.isObject=xe,B.isObjectLike=Ae,B.isPlainObject=ws,B.isRegExp=dl,B.isSafeInteger=TA,B.isSet=gp,B.isString=ia,B.isSymbol=Er,B.isTypedArray=Ui,B.isUndefined=IA,B.isWeakMap=$A,B.isWeakSet=LA,B.join=zE,B.kebabCase=AC,B.last=Rr,B.lastIndexOf=qE,B.lowerCase=CC,B.lowerFirst=FC,B.lt=RA,B.lte=PA,B.max=D2,B.maxBy=b2,B.mean=E2,B.meanBy=x2,B.min=A2,B.minBy=C2,B.stubArray=bl,B.stubFalse=El,B.stubObject=c2,B.stubString=h2,B.stubTrue=p2,B.multiply=F2,B.nth=kE,B.noConflict=n2,B.noop=Dl,B.now=ta,B.pad=MC,B.padEnd=NC,B.padStart=SC,B.parseInt=BC,B.random=yC,B.reduce=jx,B.reduceRight=Yx,B.repeat=OC,B.replace=TC,B.result=fC,B.round=M2,B.runInContext=j,B.sample=Zx,B.size=Hx,B.snakeCase=IC,B.some=Jx,B.sortedIndex=GE,B.sortedIndexBy=KE,B.sortedIndexOf=HE,B.sortedLastIndex=JE,B.sortedLastIndexBy=XE,B.sortedLastIndexOf=QE,B.startCase=LC,B.startsWith=RC,B.subtract=N2,B.sum=S2,B.sumBy=B2,B.template=PC,B.times=d2,B.toFinite=Dn,B.toInteger=Lt,B.toLength=wp,B.toLower=zC,B.toNumber=Pr,B.toSafeInteger=zA,B.toString=ie,B.toUpper=qC,B.trim=kC,B.trimEnd=UC,B.trimStart=WC,B.truncate=jC,B.unescape=YC,B.uniqueId=m2,B.upperCase=VC,B.upperFirst=gl,B.each=sp,B.eachRight=op,B.first=ep,yl(B,function(){var o={};return rn(B,function(u,_){ae.call(B.prototype,_)||(o[_]=u)}),o}(),{chain:!1}),B.VERSION=r,Or(["bind","bindKey","curry","curryRight","partial","partialRight"],function(o){B[o].placeholder=B}),Or(["drop","take"],function(o,u){Wt.prototype[o]=function(_){_=_===e?1:ze(Lt(_),0);var y=this.__filtered__&&!u?new Wt(this):this.clone();return y.__filtered__?y.__takeCount__=Je(_,y.__takeCount__):y.__views__.push({size:Je(_,ft),type:o+(y.__dir__<0?"Right":"")}),y},Wt.prototype[o+"Right"]=function(_){return this.reverse()[o](_).reverse()}}),Or(["filter","map","takeWhile"],function(o,u){var _=u+1,y=_==k||_==P;Wt.prototype[o]=function(A){var T=this.clone();return T.__iteratees__.push({iteratee:At(A,3),type:_}),T.__filtered__=T.__filtered__||y,T}}),Or(["head","last"],function(o,u){var _="take"+(u?"Right":"");Wt.prototype[o]=function(){return this[_](1).value()[0]}}),Or(["initial","tail"],function(o,u){var _="drop"+(u?"":"Right");Wt.prototype[o]=function(){return this.__filtered__?new Wt(this):this[_](1)}}),Wt.prototype.compact=function(){return this.filter(cr)},Wt.prototype.find=function(o){return this.filter(o).head()},Wt.prototype.findLast=function(o){return this.reverse().find(o)},Wt.prototype.invokeMap=Pt(function(o,u){return typeof o=="function"?new Wt(this):this.map(function(_){return ps(_,o,u)})}),Wt.prototype.reject=function(o){return this.filter(ra(At(o)))},Wt.prototype.slice=function(o,u){o=Lt(o);var _=this;return _.__filtered__&&(o>0||u<0)?new Wt(_):(o<0?_=_.takeRight(-o):o&&(_=_.drop(o)),u!==e&&(u=Lt(u),_=u<0?_.dropRight(-u):_.take(u-o)),_)},Wt.prototype.takeRightWhile=function(o){return this.reverse().takeWhile(o).reverse()},Wt.prototype.toArray=function(){return this.take(ft)},rn(Wt.prototype,function(o,u){var _=/^(?:filter|find|map|reject)|While$/.test(u),y=/^(?:head|last)$/.test(u),A=B[y?"take"+(u=="last"?"Right":""):u],T=y||/^find/.test(u);A&&(B.prototype[u]=function(){var R=this.__wrapped__,q=y?[1]:arguments,Y=R instanceof Wt,Q=q[0],et=Y||It(R),ot=function(kt){var Yt=A.apply(B,Ln([kt],q));return y&&dt?Yt[0]:Yt};et&&_&&typeof Q=="function"&&Q.length!=1&&(Y=et=!1);var dt=this.__chain__,wt=!!this.__actions__.length,Ct=T&&!dt,Rt=Y&&!wt;if(!T&&et){R=Rt?R:new Wt(this);var Ft=o.apply(R,q);return Ft.__actions__.push({func:Xo,args:[ot],thisArg:e}),new Ir(Ft,dt)}return Ct&&Rt?o.apply(this,q):(Ft=this.thru(ot),Ct?y?Ft.value()[0]:Ft.value():Ft)})}),Or(["pop","push","shift","sort","splice","unshift"],function(o){var u=xo[o],_=/^(?:push|sort|unshift)$/.test(o)?"tap":"thru",y=/^(?:pop|shift)$/.test(o);B.prototype[o]=function(){var A=arguments;if(y&&!this.__chain__){var T=this.value();return u.apply(It(T)?T:[],A)}return this[_](function(R){return u.apply(It(R)?R:[],A)})}}),rn(Wt.prototype,function(o,u){var _=B[u];if(_){var y=_.name+"";ae.call(Ri,y)||(Ri[y]=[]),Ri[y].push({name:u,func:_})}}),Ri[Yo(e,v).name]=[{name:"wrapper",func:e}],Wt.prototype.clone=YD,Wt.prototype.reverse=VD,Wt.prototype.value=ZD,B.prototype.at=bx,B.prototype.chain=Ex,B.prototype.commit=xx,B.prototype.next=Ax,B.prototype.plant=Fx,B.prototype.reverse=Mx,B.prototype.toJSON=B.prototype.valueOf=B.prototype.value=Nx,B.prototype.first=B.prototype.head,os&&(B.prototype[os]=Cx),B},Ii=xD();ri?((ri.exports=Ii)._=Ii,wu._=Ii):Ve._=Ii}).call(Vt)}(jn,jn.exports);var zr=jn.exports;class Op{constructor(t,e){z(this,"_defaultParams");z(this,"_UserTypeFileds");z(this,"_varipKeys");this._defaultParams=t,this._UserTypeFileds=this._createDynamicClass(),this._varipKeys=e}copy(t){return zr.cloneDeep(t)}new(t={}){return new this._UserTypeFileds(Object.assign(zr.cloneDeep(this._defaultParams),t),this._varipKeys)}addNewMethod(t,e){this._UserTypeFileds.prototype[t]=e}_createDynamicClass(){return class{constructor(t,e){z(this,"_varipKeys");Object.assign(this,t),this._varipKeys=e}get varipKeys(){return[...this._varipKeys]}copy(){return zr.cloneDeep(this)}}}}var Ml={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e=1e3,r=6e4,n=36e5,s="millisecond",a="second",l="minute",f="hour",h="day",p="week",c="month",d="quarter",g="year",w="date",m="Invalid Date",D=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,v=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,E={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(k){var W=["th","st","nd","rd"],P=k%100;return"["+k+(W[(P-20)%10]||W[P]||W[0])+"]"}},b=function(k,W,P){var G=String(k);return!G||G.length>=W?k:""+Array(W+1-G.length).join(P)+k},N={s:b,z:function(k){var W=-k.utcOffset(),P=Math.abs(W),G=Math.floor(P/60),Z=P%60;return(W<=0?"+":"-")+b(G,2,"0")+":"+b(Z,2,"0")},m:function k(W,P){if(W.date()<P.date())return-k(P,W);var G=12*(P.year()-W.year())+(P.month()-W.month()),Z=W.clone().add(G,c),X=P-Z<0,tt=W.clone().add(G+(X?-1:1),c);return+(-(G+(P-Z)/(X?Z-tt:tt-Z))||0)},a:function(k){return k<0?Math.ceil(k)||0:Math.floor(k)},p:function(k){return{M:c,y:g,w:p,d:h,D:w,h:f,m:l,s:a,ms:s,Q:d}[k]||String(k||"").toLowerCase().replace(/s$/,"")},u:function(k){return k===void 0}},x="en",F={};F[x]=E;var M="$isDayjsObject",S=function(k){return k instanceof L||!(!k||!k[M])},I=function k(W,P,G){var Z;if(!W)return x;if(typeof W=="string"){var X=W.toLowerCase();F[X]&&(Z=X),P&&(F[X]=P,Z=X);var tt=W.split("-");if(!Z&&tt.length>1)return k(tt[0])}else{var ft=W.name;F[ft]=W,Z=ft}return!G&&Z&&(x=Z),Z||!G&&x},C=function(k,W){if(S(k))return k.clone();var P=typeof W=="object"?W:{};return P.date=k,P.args=arguments,new L(P)},O=N;O.l=I,O.i=S,O.w=function(k,W){return C(k,{locale:W.$L,utc:W.$u,x:W.$x,$offset:W.$offset})};var L=function(){function k(P){this.$L=I(P.locale,null,!0),this.parse(P),this.$x=this.$x||P.x||{},this[M]=!0}var W=k.prototype;return W.parse=function(P){this.$d=function(G){var Z=G.date,X=G.utc;if(Z===null)return new Date(NaN);if(O.u(Z))return new Date;if(Z instanceof Date)return new Date(Z);if(typeof Z=="string"&&!/Z$/i.test(Z)){var tt=Z.match(D);if(tt){var ft=tt[2]-1||0,vt=(tt[7]||"0").substring(0,3);return X?new Date(Date.UTC(tt[1],ft,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,vt)):new Date(tt[1],ft,tt[3]||1,tt[4]||0,tt[5]||0,tt[6]||0,vt)}}return new Date(Z)}(P),this.init()},W.init=function(){var P=this.$d;this.$y=P.getFullYear(),this.$M=P.getMonth(),this.$D=P.getDate(),this.$W=P.getDay(),this.$H=P.getHours(),this.$m=P.getMinutes(),this.$s=P.getSeconds(),this.$ms=P.getMilliseconds()},W.$utils=function(){return O},W.isValid=function(){return this.$d.toString()!==m},W.isSame=function(P,G){var Z=C(P);return this.startOf(G)<=Z&&Z<=this.endOf(G)},W.isAfter=function(P,G){return C(P)<this.startOf(G)},W.isBefore=function(P,G){return this.endOf(G)<C(P)},W.$g=function(P,G,Z){return O.u(P)?this[G]:this.set(Z,P)},W.unix=function(){return Math.floor(this.valueOf()/1e3)},W.valueOf=function(){return this.$d.getTime()},W.startOf=function(P,G){var Z=this,X=!!O.u(G)||G,tt=O.p(P),ft=function(Tt,Nt){var ue=O.w(Z.$u?Date.UTC(Z.$y,Nt,Tt):new Date(Z.$y,Nt,Tt),Z);return X?ue:ue.endOf(h)},vt=function(Tt,Nt){return O.w(Z.toDate()[Tt].apply(Z.toDate("s"),(X?[0,0,0,0]:[23,59,59,999]).slice(Nt)),Z)},lt=this.$W,yt=this.$M,bt=this.$D,Bt="set"+(this.$u?"UTC":"");switch(tt){case g:return X?ft(1,0):ft(31,11);case c:return X?ft(1,yt):ft(0,yt+1);case p:var Et=this.$locale().weekStart||0,oe=(lt<Et?lt+7:lt)-Et;return ft(X?bt-oe:bt+(6-oe),yt);case h:case w:return vt(Bt+"Hours",0);case f:return vt(Bt+"Minutes",1);case l:return vt(Bt+"Seconds",2);case a:return vt(Bt+"Milliseconds",3);default:return this.clone()}},W.endOf=function(P){return this.startOf(P,!1)},W.$set=function(P,G){var Z,X=O.p(P),tt="set"+(this.$u?"UTC":""),ft=(Z={},Z[h]=tt+"Date",Z[w]=tt+"Date",Z[c]=tt+"Month",Z[g]=tt+"FullYear",Z[f]=tt+"Hours",Z[l]=tt+"Minutes",Z[a]=tt+"Seconds",Z[s]=tt+"Milliseconds",Z)[X],vt=X===h?this.$D+(G-this.$W):G;if(X===c||X===g){var lt=this.clone().set(w,1);lt.$d[ft](vt),lt.init(),this.$d=lt.set(w,Math.min(this.$D,lt.daysInMonth())).$d}else ft&&this.$d[ft](vt);return this.init(),this},W.set=function(P,G){return this.clone().$set(P,G)},W.get=function(P){return this[O.p(P)]()},W.add=function(P,G){var Z,X=this;P=Number(P);var tt=O.p(G),ft=function(yt){var bt=C(X);return O.w(bt.date(bt.date()+Math.round(yt*P)),X)};if(tt===c)return this.set(c,this.$M+P);if(tt===g)return this.set(g,this.$y+P);if(tt===h)return ft(1);if(tt===p)return ft(7);var vt=(Z={},Z[l]=r,Z[f]=n,Z[a]=e,Z)[tt]||1,lt=this.$d.getTime()+P*vt;return O.w(lt,this)},W.subtract=function(P,G){return this.add(-1*P,G)},W.format=function(P){var G=this,Z=this.$locale();if(!this.isValid())return Z.invalidDate||m;var X=P||"YYYY-MM-DDTHH:mm:ssZ",tt=O.z(this),ft=this.$H,vt=this.$m,lt=this.$M,yt=Z.weekdays,bt=Z.months,Bt=Z.meridiem,Et=function(Nt,ue,re,qt){return Nt&&(Nt[ue]||Nt(G,X))||re[ue].slice(0,qt)},oe=function(Nt){return O.s(ft%12||12,Nt,"0")},Tt=Bt||function(Nt,ue,re){var qt=Nt<12?"AM":"PM";return re?qt.toLowerCase():qt};return X.replace(v,function(Nt,ue){return ue||function(re){switch(re){case"YY":return String(G.$y).slice(-2);case"YYYY":return O.s(G.$y,4,"0");case"M":return lt+1;case"MM":return O.s(lt+1,2,"0");case"MMM":return Et(Z.monthsShort,lt,bt,3);case"MMMM":return Et(bt,lt);case"D":return G.$D;case"DD":return O.s(G.$D,2,"0");case"d":return String(G.$W);case"dd":return Et(Z.weekdaysMin,G.$W,yt,2);case"ddd":return Et(Z.weekdaysShort,G.$W,yt,3);case"dddd":return yt[G.$W];case"H":return String(ft);case"HH":return O.s(ft,2,"0");case"h":return oe(1);case"hh":return oe(2);case"a":return Tt(ft,vt,!0);case"A":return Tt(ft,vt,!1);case"m":return String(vt);case"mm":return O.s(vt,2,"0");case"s":return String(G.$s);case"ss":return O.s(G.$s,2,"0");case"SSS":return O.s(G.$ms,3,"0");case"Z":return tt}return null}(Nt)||tt.replace(":","")})},W.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},W.diff=function(P,G,Z){var X,tt=this,ft=O.p(G),vt=C(P),lt=(vt.utcOffset()-this.utcOffset())*r,yt=this-vt,bt=function(){return O.m(tt,vt)};switch(ft){case g:X=bt()/12;break;case c:X=bt();break;case d:X=bt()/3;break;case p:X=(yt-lt)/6048e5;break;case h:X=(yt-lt)/864e5;break;case f:X=yt/n;break;case l:X=yt/r;break;case a:X=yt/e;break;default:X=yt}return Z?X:O.a(X)},W.daysInMonth=function(){return this.endOf(c).$D},W.$locale=function(){return F[this.$L]},W.locale=function(P,G){if(!P)return this.$L;var Z=this.clone(),X=I(P,G,!0);return X&&(Z.$L=X),Z},W.clone=function(){return O.w(this.$d,this)},W.toDate=function(){return new Date(this.valueOf())},W.toJSON=function(){return this.isValid()?this.toISOString():null},W.toISOString=function(){return this.$d.toISOString()},W.toString=function(){return this.$d.toUTCString()},k}(),U=L.prototype;return C.prototype=U,[["$ms",s],["$s",a],["$m",l],["$H",f],["$W",h],["$M",c],["$y",g],["$D",w]].forEach(function(k){U[k[1]]=function(W){return this.$g(W,k[0],k[1])}}),C.extend=function(k,W){return k.$i||(k(W,L,C),k.$i=!0),C},C.locale=I,C.isDayjs=S,C.unix=function(k){return C(1e3*k)},C.en=F[x],C.Ls=F,C.p={},C})})(Ml);var Tp=Ml.exports,ee=Kt(Tp),Nl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e="minute",r=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(s,a,l){var f=a.prototype;l.utc=function(m){var D={date:m,utc:!0,args:arguments};return new a(D)},f.utc=function(m){var D=l(this.toDate(),{locale:this.$L,utc:!0});return m?D.add(this.utcOffset(),e):D},f.local=function(){return l(this.toDate(),{locale:this.$L,utc:!1})};var h=f.parse;f.parse=function(m){m.utc&&(this.$u=!0),this.$utils().u(m.$offset)||(this.$offset=m.$offset),h.call(this,m)};var p=f.init;f.init=function(){if(this.$u){var m=this.$d;this.$y=m.getUTCFullYear(),this.$M=m.getUTCMonth(),this.$D=m.getUTCDate(),this.$W=m.getUTCDay(),this.$H=m.getUTCHours(),this.$m=m.getUTCMinutes(),this.$s=m.getUTCSeconds(),this.$ms=m.getUTCMilliseconds()}else p.call(this)};var c=f.utcOffset;f.utcOffset=function(m,D){var v=this.$utils().u;if(v(m))return this.$u?0:v(this.$offset)?c.call(this):this.$offset;if(typeof m=="string"&&(m=function(x){x===void 0&&(x="");var F=x.match(r);if(!F)return null;var M=(""+F[0]).match(n)||["-",0,0],S=M[0],I=60*+M[1]+ +M[2];return I===0?0:S==="+"?I:-I}(m),m===null))return this;var E=Math.abs(m)<=16?60*m:m,b=this;if(D)return b.$offset=E,b.$u=m===0,b;if(m!==0){var N=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(b=this.local().add(E+N,e)).$offset=E,b.$x.$localOffset=N}else b=this.utc();return b};var d=f.format;f.format=function(m){var D=m||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return d.call(this,D)},f.valueOf=function(){var m=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*m},f.isUTC=function(){return!!this.$u},f.toISOString=function(){return this.toDate().toISOString()},f.toString=function(){return this.toDate().toUTCString()};var g=f.toDate;f.toDate=function(m){return m==="s"&&this.$offset?l(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():g.call(this)};var w=f.diff;f.diff=function(m,D,v){if(m&&this.$u===m.$u)return w.call(this,m,D,v);var E=this.local(),b=l(m).local();return w.call(E,b,D,v)}}})})(Nl);var Ip=Nl.exports,Sl=Kt(Ip),Bl={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(n,s,a){var l,f=function(d,g,w){w===void 0&&(w={});var m=new Date(d),D=function(v,E){E===void 0&&(E={});var b=E.timeZoneName||"short",N=v+"|"+b,x=r[N];return x||(x=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:v,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:b}),r[N]=x),x}(g,w);return D.formatToParts(m)},h=function(d,g){for(var w=f(d,g),m=[],D=0;D<w.length;D+=1){var v=w[D],E=v.type,b=v.value,N=e[E];N>=0&&(m[N]=parseInt(b,10))}var x=m[3],F=x===24?0:x,M=m[0]+"-"+m[1]+"-"+m[2]+" "+F+":"+m[4]+":"+m[5]+":000",S=+d;return(a.utc(M).valueOf()-(S-=S%1e3))/6e4},p=s.prototype;p.tz=function(d,g){d===void 0&&(d=l);var w=this.utcOffset(),m=this.toDate(),D=m.toLocaleString("en-US",{timeZone:d}),v=Math.round((m-new Date(D))/1e3/60),E=a(D,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(m.getTimezoneOffset()/15)-v,!0);if(g){var b=E.utcOffset();E=E.add(w-b,"minute")}return E.$x.$timezone=d,E},p.offsetName=function(d){var g=this.$x.$timezone||a.tz.guess(),w=f(this.valueOf(),g,{timeZoneName:d}).find(function(m){return m.type.toLowerCase()==="timezonename"});return w&&w.value};var c=p.startOf;p.startOf=function(d,g){if(!this.$x||!this.$x.$timezone)return c.call(this,d,g);var w=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return c.call(w,d,g).tz(this.$x.$timezone,!0)},a.tz=function(d,g,w){var m=w&&g,D=w||g||l,v=h(+a(),D);if(typeof d!="string")return a(d).tz(D);var E=function(F,M,S){var I=F-60*M*1e3,C=h(I,S);if(M===C)return[I,M];var O=h(I-=60*(C-M)*1e3,S);return C===O?[I,C]:[F-60*Math.min(C,O)*1e3,Math.max(C,O)]}(a.utc(d,m).valueOf(),v,D),b=E[0],N=E[1],x=a(b).utcOffset(N);return x.$x.$timezone=D,x},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(d){l=d}}})})(Bl);var $p=Bl.exports,Lp=Kt($p),Ol={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e="week",r="year";return function(n,s,a){var l=s.prototype;l.week=function(f){if(f===void 0&&(f=null),f!==null)return this.add(7*(f-this.week()),"day");var h=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var p=a(this).startOf(r).add(1,r).date(h),c=a(this).endOf(e);if(p.isBefore(c))return 1}var d=a(this).startOf(r).date(h).startOf(e).subtract(1,"millisecond"),g=this.diff(d,e,!0);return g<0?a(this).startOf("week").week():Math.ceil(g)},l.weeks=function(f){return f===void 0&&(f=null),this.week(f)}}})})(Ol);var Rp=Ol.exports,Pp=Kt(Rp);function Qe(i,t){return i.replace(/\$(\w+)/g,(e,r)=>String(t[r])||e)}function ys(i){const t=parseInt(i)||1;let e=i.replace(/\d+/,"");return e==="m"||e==="M"?e="M":e?e=e.toLocaleLowerCase():e="m",[t,e]}function zp(i){const t=/([+-])(\d{1,2})(\d{0,2})/,e=i.replace(/GMT|UTC/,"").match(t);if(!e)throw new Error("Invalid timezone string");const[,r,n,s]=e,a=parseInt(n,10)*60||0,l=parseInt(s,10)||0;return(r==="+"?-1:1)*(a+l)}function qr(i,t){return t&&(t.startsWith("UTC")||t.startsWith("GMT"))?ee(i).utcOffset(zp(t)):ee(i).tz(t)}function on(i){const[t,e]=ys(i);let r=0;switch(e){case"m":r=60;break;case"s":r=1;break;case"M":r=31*24*60*60;break;case"d":r=24*60*60;break;case"w":r=7*24*60*60;break;default:r=60*60;break}return Math.round(Number(t)*r)}function _t(i){return typeof i!="number"||isNaN(i)}var Xr=(i=>(i.BOOL="bool",i.INT="int",i.FLOAT="float",i.ARRAY="array",i.BOX="box",i.CHART_POINT="chart.point",i.COLOR="color",i.CONST="const",i.LABEL="label",i.LINE="line",i.LINEFILL="linefill",i.MAP="map",i.MATRIX="matrix",i.POLYLINE="polyline",i.SERIES="series",i.SIMPLE="simple",i.STRING="string",i.TABLE="table",i.UNDETERMINED="undetermined type",i.INPUT="input",i.NA="na",i.VOID="void",i))(Xr||{}),Ds=(i=>(i.dividends="dividends",i.none="none",i.splits="splits",i))(Ds||{}),kr=(i=>(i.freqAll="freq_all",i.freqOncePerBar="freq_once_per_bar",i.freqOncePerBarClose="freq_once_per_bar_close",i))(kr||{}),ji=(i=>(i.gapsOff="gaps_off",i.gapsOn="gaps_on",i.lookaheadOff="lookahead_off",i.lookaheadOn="lookahead_on",i))(ji||{}),Ue=(i=>(i.all="all",i.dataWindow="data_window",i.none="none",i.pane="pane",i.priceScale="price_scale",i.statusLine="status_line",i))(Ue||{}),Ur=(i=>(i.both="both",i.left="left",i.none="none",i.right="right",i))(Ur||{}),Gt=(i=>(i.inherit="inherit",i.mintick="mintick",i.percent="percent",i.price="price",i.volume="volume",i))(Gt||{}),bs=(i=>(i.styleDashed="style_dashed",i.styleDotted="style_dotted",i.styleSolid="style_solid",i))(bs||{}),de=(i=>(i.styleArrowdown="style_arrowdown",i.styleArrowup="style_arrowup",i.styleCircle="style_circle",i.styleCross="style_cross",i.styleDiamond="style_diamond",i.styleFlag="style_flag",i.styleLabelCenter="style_label_center",i.styleLabelDown="style_label_down",i.styleLabelLeft="style_label_left",i.styleLabelLowerLeft="style_label_lower_left",i.styleLabelLowerRight="style_label_lower_right",i.styleLabelRight="style_label_right",i.styleLabelUp="style_label_up",i.styleLabelUpperLeft="style_label_upper_left",i.styleLabelUpperRight="style_label_upper_right",i.styleNone="style_none",i.styleSquare="style_square",i.styleTextOutline="style_text_outline",i.styleTriangledown="style_triangledown",i.styleTriangleup="style_triangleup",i.styleXcross="style_xcross",i))(de||{}),Ie=(i=>(i.styleArrowBoth="style_arrow_both",i.styleArrowLeft="style_arrow_left",i.styleArrowRight="style_arrow_right",i.styleDashed="style_dashed",i.styleDotted="style_dotted",i.styleSolid="style_solid",i))(Ie||{}),hr=(i=>(i.abovebar="abovebar",i.absolute="absolute",i.belowbar="belowbar",i.bottom="bottom",i.top="top",i))(hr||{}),Yn=(i=>(i.ascending="ascending",i.descending="descending",i))(Yn||{}),Cr=(i=>(i.styleArea="Area",i.styleAreabr="Area With Breaks",i.styleCircles="Circles",i.styleColumns="Columns",i.styleCross="Cross",i.styleHistogram="Histogram",i.styleLine="Line",i.styleLinebr="Line With Breaks",i.styleStepline="Step Line",i.styleSteplineDiamond="Step Line With Diamonds",i.styleSteplinebr="Step line with Breaks",i))(Cr||{}),pr=(i=>(i.bottomCenter="bottom_center",i.bottomLeft="bottom_left",i.bottomRight="bottom_right",i.middleCenter="middle_center",i.middleLeft="middle_left",i.middleRight="middle_right",i.topCenter="top_center",i.topLeft="top_left",i.topRight="top_right",i))(pr||{}),Es=(i=>(i.left="left",i.none="none",i.right="right",i))(Es||{}),aa=(i=>(i.extended="extended",i.regular="regular",i))(aa||{}),ir=(i=>(i.arrowdown="arrowdown",i.arrowup="arrowup",i.circle="circle",i.cross="cross",i.diamond="diamond",i.flag="flag",i.labeldown="labeldown",i.labelup="labelup",i.square="square",i.triangledown="triangledown",i.triangleup="triangleup",i.xcross="xcross",i))(ir||{}),tr=(i=>(i.auto="auto",i.huge="huge",i.large="large",i.normal="normal",i.small="small",i.tiny="tiny",i))(tr||{}),Vn=(i=>(i.familyDefault="default",i.familyMonospace="monospace",i))(Vn||{}),Se=(i=>(i.cash="cash",i.fixed="fixed",i.percentOfEquity="percent_of_equity",i))(Se||{}),Fr=(i=>(i.cashPerContract="cash_per_contract",i.cashPerOrder="cash_per_order",i.percent="percent",i))(Fr||{}),_e=(i=>(i.all="all",i.long="long",i.short="short",i))(_e||{}),an=(i=>(i.cancel="cancel",i.none="none",i.reduce="reduce",i))(an||{}),Ut=(i=>(i.alignBottom="align_bottom",i.alignCenter="align_center",i.alignLeft="align_left",i.alignRight="align_right",i.alignTop="align_top",i.wrapAuto="wrap_auto",i.wrapNone="wrap_none",i))(Ut||{}),ve=(i=>(i.bar_index="bar_index",i.bar_time="bar_time",i))(ve||{}),Wr=(i=>(i.abovebar="abovebar",i.belowbar="belowbar",i.price="price",i))(Wr||{}),xs=(i=>(i.actual="actual",i.estimate="estimate",i.standardized="standardized",i))(xs||{}),Zn=(i=>(i.traditional="Traditional",i.fibonacci="Fibonacci",i.woodie="Woodie",i.classic="Classic",i.dm="DM",i.camarilla="Camarilla",i))(Zn||{}),sr=(i=>(i.INT="int",i.BOOL="bool",i.TIME="time",i.COLOR="color",i.FLOAT="float",i.PRICE="price",i.SOURCE="source",i.STRING="string",i.SYMBOL="symbol",i.SESSION="session",i.TEXT_AREA="text_area",i.TIMEFRAME="timeframe",i))(sr||{}),jt=(i=>(i[i.Hint=1]="Hint",i[i.Info=2]="Info",i[i.Warning=4]="Warning",i[i.Error=8]="Error",i))(jt||{});class qp{constructor(t){z(this,"_errorListener");this._errorListener=t}new({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_float({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_int({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_color({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_bool({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_string({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_line({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_box({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_table({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_linefill({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}new_label({size:t,initial_value:e}={}){return new Qt(t,e,this._errorListener)}copy({id:t}){return t==null?void 0:t.copy()}slice({id:t,index_from:e,index_to:r}){return t==null?void 0:t.slice({index_from:e,index_to:r})}size({id:t}){return t==null?void 0:t.size()}first({id:t}){return t==null?void 0:t.first()}abs({id:t},e){return t==null?void 0:t.abs(e)}avg({id:t},e){return t==null?void 0:t.avg(e)}binary_search({id:t,val:e},r){return t==null?void 0:t.binary_search({val:e},r)}binary_search_leftmost({id:t,val:e},r){return t==null?void 0:t.binary_search_leftmost({val:e},r)}binary_search_rightmost({id:t,val:e},r){return t==null?void 0:t.binary_search_rightmost({val:e},r)}clear({id:t}){t==null||t.clear()}concat({id1:t,id2:e}){return t==null?void 0:t.concat({id2:e})}covariance({id1:t,id2:e,biased:r},n){return t==null?void 0:t.covariance({id2:e,biased:r},n)}every({id:t},e){return t==null?void 0:t.every(e)}from(t,e){const r=new Qt(0,void 0,this._errorListener);return r._value=e,r}fill({id:t,value:e,index_from:r,index_to:n}){t==null||t.fill({value:e,index_from:r,index_to:n})}get({id:t,index:e}){return t==null?void 0:t.get({index:e})}includes({id:t,value:e}){return t==null?void 0:t.includes({value:e})}indexof({id:t,value:e}){return t==null?void 0:t.indexof({value:e})}insert({id:t,index:e,value:r}){t==null||t.insert({index:e,value:r})}join({id:t,separator:e},r){return t==null?void 0:t.join({separator:e},r)}last({id:t}){return t==null?void 0:t.last()}lastindexof({id:t,value:e}){return t==null?void 0:t.lastindexof({value:e})}max({id:t,nth:e},r){return t==null?void 0:t.max({nth:e},r)}median({id:t},e){return t==null?void 0:t.median(e)}min({id:t,nth:e},r){return t==null?void 0:t.min({nth:e},r)}mode({id:t},e){return t==null?void 0:t.mode(e)}percentile_linear_interpolation({id:t,percentage:e},r){return t==null?void 0:t.percentile_linear_interpolation({percentage:e},r)}percentile_nearest_rank({id:t,percentage:e},r){return t==null?void 0:t.percentile_nearest_rank({percentage:e},r)}percentrank({id:t,index:e},r){return t==null?void 0:t.percentrank({index:e},r)}pop({id:t}){return t==null?void 0:t.pop()}push({id:t,value:e}){t==null||t.push({value:e})}range({id:t},e){return t==null?void 0:t.range(e)}remove({id:t,index:e}){return t==null?void 0:t.remove({index:e})}reverse({id:t}){return t==null?void 0:t.reverse()}set({id:t,index:e,value:r}){t==null||t.set({index:e,value:r})}shift({id:t}){return t==null?void 0:t.shift()}some({id:t},e){return t==null?void 0:t.some(e)}sort({id:t,order:e},r){t==null||t.sort({order:e},r)}sort_indices({id:t,order:e},r){return t==null?void 0:t.sort_indices({order:e},r)}standardize({id:t},e){return t==null?void 0:t.standardize(e)}stdev({id:t,biased:e},r){return t==null?void 0:t.stdev({biased:e},r)}sum({id:t},e){return t==null?void 0:t.sum(e)}unshift({id:t,value:e}){t==null||t.unshift({value:e})}variance({id:t,biased:e},r){return t==null?void 0:t.variance({biased:e},r)}}class Qt{constructor(t=0,e,r){z(this,"_arrInstance");z(this,"_errorListener");this._errorListener=r,this._arrInstance=Array.from(new Array(t||0),()=>zr.cloneDeep(e))}get isArray(){return!0}get _value(){return[...this._arrInstance]}set _value(t){this._arrInstance=[...t]}_deepCopyData(t){this._arrInstance=zr.cloneDeep(t)}_copyData(t){this._arrInstance=t}copy(){const t=new Qt(0,void 0,this._errorListener);return t._deepCopyData(this._arrInstance),t}slice({index_from:t,index_to:e}){const r=new Qt(0,void 0,this._errorListener);return r._copyData(this._arrInstance.slice(t,e)),r}size(){return this._arrInstance.length}first(){return this._arrInstance[0]}abs(t){const e=new Qt(0,void 0,this._errorListener);this._verifySimpleType("number","abs","int/float",t);const r=this._arrInstance.map(n=>Math.abs(n));return e._copyData(r),e}avg(t){return this._verifySimpleType("number","avg","int/float",t),zr.mean(this._arrInstance)}binary_search({val:t},e){return this._verifySimpleType("number","binary_search","int/float",e),_t(t)?-1:this._binarySearch(this._arrInstance,t)}binary_search_leftmost({val:t},e){return this._verifySimpleType("number","binary_search_leftmost","int/float",e),_t(t)?this._arrInstance.length-1:this._binarySearchLeftMost(this._arrInstance,t)}binary_search_rightmost({val:t},e){return this._verifySimpleType("number","binary_search_rightmost","int/float",e),_t(t)?this._arrInstance.length:this._binarySearchRightMost(this._arrInstance,t)}clear(){this._arrInstance=[]}concat({id2:t}){return this._arrInstance=this._arrInstance.concat(t==null?void 0:t._value),this}covariance({id2:t,biased:e},r){return this._verifySimpleType("number","covariance","int/float",r),this._verifySimpleType("number","covariance","int/float",r,t==null?void 0:t._value),this._covariance(this._arrInstance,t._value,e,r)}every(t){return this._verifySimpleType("number|boolean","every","int/float/bool",t),this._arrInstance.every(e=>!!e)}fill({value:t,index_from:e=0,index_to:r}){this._arrInstance=this._setElements(this._arrInstance,t,e,r)}get({index:t}){if(!_t(t))return this._arrInstance[t]}includes({value:t}){return this._arrInstance.includes(t)}indexof({value:t}){return this._arrInstance.indexOf(t)}insert({index:t,value:e}){_t(t)||this._arrInstance.splice(t,0,e)}join({separator:t}={},e){return this._verifySimpleType("number|string","join","int/float/string",e),this._arrInstance.join(t)}last(){return this._arrInstance[this._arrInstance.length-1]}lastindexof({value:t}){return this._arrInstance.lastIndexOf(t)}max({nth:t}={},e){return this._verifySimpleType("number","max","int/float",e),this._maxNth([...this._arrInstance],t)}median(t){return this._verifySimpleType("number","median","int/float",t),this._median([...this._arrInstance])}min({nth:t}={},e){return this._verifySimpleType("number","min","int/float",e),this._minNth([...this._arrInstance],t)}mode(t){return this._verifySimpleType("number","mode","int/float",t),this._mode([...this._arrInstance])}percentile_linear_interpolation({percentage:t},e){return this._verifySimpleType("number","percentile_linear_interpolation","int/float",e),this._percentileLinearInterpolation([...this._arrInstance],t)}percentile_nearest_rank({percentage:t=0},e){var r;if(this._arrInstance.length===0||t<0||t>100||_t(t)){(r=this._errorListener)==null||r.addError("Invalid percentile or empty array",e,jt.Error);return}return this._verifySimpleType("number","percentile_nearest_rank","int/float",e),this._getNearestRankPercentile([...this._arrInstance],t)}percentrank({index:t},e){return this._verifySimpleType("number","percentrank","int/float",e),this._getPercentileRank([...this._arrInstance],t)}pop(){return this._arrInstance.pop()}push({value:t}){this._arrInstance.push(t)}range(t){var s;if(this._arrInstance.length===0){(s=this._errorListener)==null||s.addError("Array must not be empty",t,jt.Error);return}this._verifySimpleType("number","range","int/float",t);const e=Math.min(...this._arrInstance);return Math.max(...this._arrInstance)-e}remove({index:t}){if(!_t(t))return this._arrInstance.splice(t,1)[0]}reverse(){this._arrInstance.reverse()}set({index:t,value:e}){_t(t)||(this._arrInstance[t]=e)}shift(){return this._arrInstance.shift()}some(t){return this._verifySimpleType("number|boolean","some","int/float/bool",t),this._arrInstance.some(e=>!!e)}sort({order:t}={},e){this._verifySimpleType("number","sort","int/float",e),this._arrInstance.sort((r,n)=>t!==Yn.descending?r-n:n-r)}sort_indices({order:t}={},e){this._verifySimpleType("number","sort_indices","int/float",e);const r=this._arrInstance.map((s,a)=>a);r.sort((s,a)=>t!==Yn.descending?this._arrInstance[s]-this._arrInstance[a]:this._arrInstance[a]-this._arrInstance[s]);const n=new Qt(0,void 0,this._errorListener);return n._copyData(r),n}standardize(t){this._verifySimpleType("number","standardize","int/float",t);const e=new Qt(0,void 0,this._errorListener);return e._copyData(this._standardizeArray([...this._arrInstance])),e}stdev({biased:t}={},e){var r;if(this._arrInstance.length===0){(r=this._errorListener)==null||r.addError("Array must not be empty",e,jt.Error);return}return this._verifySimpleType("number","stdev","int/float",e),this._calculateStandardDeviations([...this._arrInstance],t)}sum(t){return this._verifySimpleType("number","sum","int/float",t),this._arrInstance.reduce((r,n)=>r+(n||0),0)}unshift({value:t}){this._arrInstance.unshift(t)}variance({biased:t}={},e){var r;if(this._arrInstance.length===0){(r=this._errorListener)==null||r.addError("Array must not be empty",e,jt.Error);return}return this._verifySimpleType("number","variance","int/float",e),this._calculateVariances([...this._arrInstance],t)}_calculateVariances(t,e=!0){const r=t.reduce((a,l)=>a+(l||0),0)/t.length,n=t.reduce((a,l)=>a+((l||0)-r)**2,0),s=n/t.length;return e?s:t.length>1?n/(t.length-1):s}_calculateStandardDeviations(t,e=!0){const r=t.reduce((a,l)=>a+(l||0),0)/t.length,n=t.reduce((a,l)=>{const f=(l||0)-r;return a+f*f},0),s=Math.sqrt(n/t.length);return e?s:t.length>1?Math.sqrt(n/(t.length-1)):s}_standardizeArray(t){const e=t.reduce((s,a)=>s+(a||0),0)/t.length,r=Math.sqrt(t.reduce((s,a)=>s+Math.pow((a||0)-e,2),0)/t.length);return t.map(s=>((s||0)-e)/r)}_getPercentileRank(t,e=0){if(_t(e))return;const r=t[e];let n=0;for(let a=0;a<t.length;a++)(t[a]<r||t[a]===r&&a!=e)&&n++;return n/(t.length-1)*100}_getNearestRankPercentile(t,e=0){const r=t.slice().sort((a,l)=>a-l),n=e/100*r.length,s=Math.ceil(n)-1;return r[s>=r.length?r.length-1:s]}_percentileLinearInterpolation(t,e=0){if(e<0||e>100||_t(e))return;t.sort(function(s,a){return s-a});const r=t.length;e/=100;const n=1/(r*2);if(e<=n)return t[0];if(e>=1-1/(r*2))return t[r-1];for(const[s,a]of t.entries()){const l=t[s-1];if(e<(s+.5)/r)return l+(a-l)*(e-(s-.5)/r)/(1/r)}}_mode(t){const e={};let r=0;const n=[];for(const s of t)e[s]=(e[s]||0)+1,r=Math.max(r,e[s]);for(const s in e)e[s]===r&&n.push(Number(s));return Math.min(...r===1?t:n)}_median(t){t.sort(function(r,n){return r-n});const e=Math.floor(t.length/2);return t.length%2?t[e]:(t[e-1]+t[e])/2}_minNth(t,e=0){return t.sort(function(r,n){return r-n}),t[e]}_maxNth(t,e=0){return t.sort(function(r,n){return n-r}),t[e]}_setElements(t,e,r=0,n){n===void 0&&(n=t.length);for(let s=r;s<n;s++)t[s]=e;return t}_covariance(t,e,r=!0,n){var f;if(t.length!=e.length){(f=this._errorListener)==null||f.addError("Arrays have different lengths",n,jt.Error);return}t=t.filter(h=>h!==void 0),e=e.filter(h=>h!==void 0);const s=t.reduce((h,p)=>h+p,0)/t.length,a=e.reduce((h,p)=>h+p,0)/e.length;let l=0;for(let h=0;h<t.length;h++)l+=(t[h]-s)*(e[h]-a);return r?l/t.length:l/(t.length-1)}_verifySimpleType(t,e,r,n,s=this._arrInstance){var l;s.filter(f=>f!==void 0).some(f=>!t.split("|").includes(typeof f))&&((l=this._errorListener)==null||l.addError(`数组类型错误,array.${e}方法只能使用${r}类型数组!`,n,jt.Error))}_binarySearch(t,e){let r=0,n=t.length-1;for(;r<=n;){const s=Math.floor((r+n)/2);if(t[s]===e)return s;t[s]<e?r=s+1:n=s-1}return-1}_binarySearchLeftMost(t,e){let r=0,n=t.length-1;const s=[];for(;r<=n;){const a=Math.floor((r+n)/2);t[a]===e&&s.push(a),t[a]<e?r=a+1:n=a-1}return s.length?Math.min(...s):r-1}_binarySearchRightMost(t,e){let r=0,n=t.length-1;const s=[];for(;r<=n;){const a=Math.floor((r+n)/2);t[a]===e&&s.push(a),t[a]<=e?r=a+1:n=a-1}return s.length?Math.max(...s):r}}class kp{constructor(t,e){z(this,"_randomNums");z(this,"_mintick");z(this,"_cacheData");z(this,"_barIndex");z(this,"_errorListener");this._mintick=t,this._randomNums={},this._cacheData={},this._barIndex=0,this._errorListener=e}update(t){this._barIndex=t,this._randomNums={}}abs({number:t}){if(!_t(t))return Math.abs(t)}acos({angle:t}){if(_t(t))return;const e=Math.acos(t);return isNaN(e)?void 0:e}asin({angle:t}){if(_t(t))return;const e=Math.asin(t);return isNaN(e)?void 0:e}atan({angle:t}){if(_t(t))return;const e=Math.atan(t);return isNaN(e)?void 0:e}avg(t,e){return zr.mean(e)}ceil({number:t}){if(!_t(t))return Math.ceil(t)}floor({number:t}){if(!_t(t))return Math.floor(t)}cos({angle:t}){if(_t(t))return;const e=Math.cos(t);return isNaN(e)?void 0:e}sin({angle:t}){if(_t(t))return;const e=Math.sin(t);return isNaN(e)?void 0:e}tan({angle:t}){if(_t(t))return;const e=Math.tan(t);return isNaN(e)?void 0:e}exp({number:t}){if(!_t(t))return Math.exp(t)}log({number:t}){if(!_t(t))return Math.log(t)}log10({number:t}){if(!_t(t))return Math.log10(t)}max(t,e){return e=e.filter(r=>!_t(r)),Math.max(...e)}min(t,e){return e=e.filter(r=>!_t(r)),Math.min(...e)}pow({base:t,exponent:e}){if(!(_t(t)||_t(e)))return Math.pow(t,e)}random({min:t=0,max:e=1,seed:r},n){if(_t(t)&&(t=0),_t(e)&&(e=1),r&&this._randomNums[r])return this._randomNums[r];if(t>=e){this._errorListener.addError("min must be less than max",n,jt.Error);return}let s;do s=Math.random()*(e-t)+t;while(s===t||s===e);return r&&(this._randomNums[r]=s),s}round({number:t,precision:e}){if(!_t(t))return _t(e)?Math.round(t):Number(t==null?void 0:t.toFixed(e))}round_to_mintick({number:t}){if(!_t(t))return Number(t==null?void 0:t.toFixed(this._mintick))}sign({number:t}){if(!_t(t))return t&&Math.sign(t)}sqrt({number:t}){if(!_t(t))return Math.sqrt(t)}sum({source:t,length:e=1},r){let n=this._cacheData[`sum_${r}`];n||(n=[]),n[this._barIndex]=t,this._cacheData[`sum_${r}`]=n;const s=n.filter(a=>!_t(a));if(!(s.length<e))return zr.sum(s.slice(-e))}todegrees({radians:t}){if(!_t(t))return t*(180/Math.PI)}toradians({degrees:t}){if(!_t(t))return t*(Math.PI/180)}}function As(){return As=Object.assign?Object.assign.bind():function(i){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(i[r]=e[r])}return i},As.apply(this,arguments)}var Tl={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function he(i){return typeof i=="number"}function Fe(i){return!i||typeof i!="object"||typeof i.constructor!="function"?!1:i.isBigNumber===!0&&typeof i.constructor.prototype=="object"&&i.constructor.prototype.isBigNumber===!0||typeof i.constructor.isDecimal=="function"&&i.constructor.isDecimal(i)===!0}function Il(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isComplex===!0||!1}function $l(i){return i&&typeof i=="object"&&Object.getPrototypeOf(i).isFraction===!0||!1}function Ll(i){return i&&i.constructor.prototype.isUnit===!0||!1}function Qr(i){return typeof i=="string"}var be=Array.isArray;function me(i){return i&&i.constructor.prototype.isMatrix===!0||!1}function Yi(i){return Array.isArray(i)||me(i)}function Up(i){return i&&i.isDenseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function Wp(i){return i&&i.isSparseMatrix&&i.constructor.prototype.isMatrix===!0||!1}function jp(i){return i&&i.constructor.prototype.isRange===!0||!1}function ua(i){return i&&i.constructor.prototype.isIndex===!0||!1}function Yp(i){return typeof i=="boolean"}function Vp(i){return i&&i.constructor.prototype.isResultSet===!0||!1}function Zp(i){return i&&i.constructor.prototype.isHelp===!0||!1}function Gp(i){return typeof i=="function"}function Kp(i){return i instanceof Date}function Hp(i){return i instanceof RegExp}function la(i){return!!(i&&typeof i=="object"&&i.constructor===Object&&!Il(i)&&!$l(i))}function Jp(i){return i===null}function Xp(i){return i===void 0}function Qp(i){return i&&i.isAccessorNode===!0&&i.constructor.prototype.isNode===!0||!1}function td(i){return i&&i.isArrayNode===!0&&i.constructor.prototype.isNode===!0||!1}function ed(i){return i&&i.isAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function rd(i){return i&&i.isBlockNode===!0&&i.constructor.prototype.isNode===!0||!1}function nd(i){return i&&i.isConditionalNode===!0&&i.constructor.prototype.isNode===!0||!1}function id(i){return i&&i.isConstantNode===!0&&i.constructor.prototype.isNode===!0||!1}function sd(i){return i&&i.isFunctionAssignmentNode===!0&&i.constructor.prototype.isNode===!0||!1}function od(i){return i&&i.isFunctionNode===!0&&i.constructor.prototype.isNode===!0||!1}function ad(i){return i&&i.isIndexNode===!0&&i.constructor.prototype.isNode===!0||!1}function ud(i){return i&&i.isNode===!0&&i.constructor.prototype.isNode===!0||!1}function ld(i){return i&&i.isObjectNode===!0&&i.constructor.prototype.isNode===!0||!1}function fd(i){return i&&i.isOperatorNode===!0&&i.constructor.prototype.isNode===!0||!1}function cd(i){return i&&i.isParenthesisNode===!0&&i.constructor.prototype.isNode===!0||!1}function hd(i){return i&&i.isRangeNode===!0&&i.constructor.prototype.isNode===!0||!1}function pd(i){return i&&i.isRelationalNode===!0&&i.constructor.prototype.isNode===!0||!1}function dd(i){return i&&i.isSymbolNode===!0&&i.constructor.prototype.isNode===!0||!1}function _d(i){return i&&i.constructor.prototype.isChain===!0||!1}function En(i){var t=typeof i;return t==="object"?i===null?"null":Fe(i)?"BigNumber":i.constructor&&i.constructor.name?i.constructor.name:"Object":t}function se(i){var t=typeof i;if(t==="number"||t==="string"||t==="boolean"||i===null||i===void 0)return i;if(typeof i.clone=="function")return i.clone();if(Array.isArray(i))return i.map(function(e){return se(e)});if(i instanceof Date)return new Date(i.valueOf());if(Fe(i))return i;if(la(i))return md(i,se);throw new TypeError("Cannot clone: unknown type of value (value: ".concat(i,")"))}function md(i,t){var e={};for(var r in i)Vi(i,r)&&(e[r]=t(i[r]));return e}function Rl(i,t){for(var e in t)Vi(t,e)&&(i[e]=t[e]);return i}function ci(i,t){var e,r,n;if(Array.isArray(i)){if(!Array.isArray(t)||i.length!==t.length)return!1;for(r=0,n=i.length;r<n;r++)if(!ci(i[r],t[r]))return!1;return!0}else{if(typeof i=="function")return i===t;if(i instanceof Object){if(Array.isArray(t)||!(t instanceof Object))return!1;for(e in i)if(!(e in t)||!ci(i[e],t[e]))return!1;for(e in t)if(!(e in i))return!1;return!0}else return i===t}}function Vi(i,t){return i&&Object.hasOwnProperty.call(i,t)}function gd(i,t){for(var e={},r=0;r<t.length;r++){var n=t[r],s=i[n];s!==void 0&&(e[n]=s)}return e}var vd=["Matrix","Array"],wd=["number","BigNumber","Fraction"],dr=function(t){if(t)throw new Error(`The global config is readonly.
28
+ Please create a mathjs instance if you want to change the default configuration.
29
+ Example:
30
+
31
+ import { create, all } from 'mathjs';
32
+ const mathjs = create(all);
33
+ mathjs.config({ number: 'BigNumber' });
34
+ `);return Object.freeze(Tl)};As(dr,Tl,{MATRIX_OPTIONS:vd,NUMBER_OPTIONS:wd});function Pl(){return!0}function Mr(){return!1}function hi(){}const zl="Argument is not a typed-function.";function ql(){function i($){return typeof $=="object"&&$!==null&&$.constructor===Object}const t=[{name:"number",test:function($){return typeof $=="number"}},{name:"string",test:function($){return typeof $=="string"}},{name:"boolean",test:function($){return typeof $=="boolean"}},{name:"Function",test:function($){return typeof $=="function"}},{name:"Array",test:Array.isArray},{name:"Date",test:function($){return $ instanceof Date}},{name:"RegExp",test:function($){return $ instanceof RegExp}},{name:"Object",test:i},{name:"null",test:function($){return $===null}},{name:"undefined",test:function($){return $===void 0}}],e={name:"any",test:Pl,isAny:!0};let r,n,s=0,a={createCount:0};function l($){const V=r.get($);if(V)return V;let K='Unknown type "'+$+'"';const nt=$.toLowerCase();let st;for(st of n)if(st.toLowerCase()===nt){K+='. Did you mean "'+st+'" ?';break}throw new TypeError(K)}function f($){let V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"any";const K=V?l(V).index:n.length,nt=[];for(let rt=0;rt<$.length;++rt){if(!$[rt]||typeof $[rt].name!="string"||typeof $[rt].test!="function")throw new TypeError("Object with properties {name: string, test: function} expected");const ct=$[rt].name;if(r.has(ct))throw new TypeError('Duplicate type name "'+ct+'"');nt.push(ct),r.set(ct,{name:ct,test:$[rt].test,isAny:$[rt].isAny,index:K+rt,conversionsTo:[]})}const st=n.slice(K);n=n.slice(0,K).concat(nt).concat(st);for(let rt=K+nt.length;rt<n.length;++rt)r.get(n[rt]).index=rt}function h(){r=new Map,n=[],s=0,f([e],!1)}h(),f(t);function p(){let $;for($ of n)r.get($).conversionsTo=[];s=0}function c($){const V=n.filter(K=>{const nt=r.get(K);return!nt.isAny&&nt.test($)});return V.length?V:["any"]}function d($){return $&&typeof $=="function"&&"_typedFunctionData"in $}function g($,V,K){if(!d($))throw new TypeError(zl);const nt=K&&K.exact,st=Array.isArray(V)?V.join(","):V,rt=N(st),ct=D(rt);if(!nt||ct in $.signatures){const Xt=$._typedFunctionData.signatureMap.get(ct);if(Xt)return Xt}const ut=rt.length;let ht;if(nt){ht=[];let Xt;for(Xt in $.signatures)ht.push($._typedFunctionData.signatureMap.get(Xt))}else ht=$._typedFunctionData.signatures;for(let Xt=0;Xt<ut;++Xt){const ne=rt[Xt],ye=[];let qe;for(qe of ht){const Re=S(qe.params,Xt);if(!(!Re||ne.restParam&&!Re.restParam)){if(!Re.hasAny){const vr=b(Re);if(ne.types.some(wr=>!vr.has(wr.name)))continue}ye.push(qe)}}if(ht=ye,ht.length===0)break}let at;for(at of ht)if(at.params.length<=ut)return at;throw new TypeError("Signature not found (signature: "+($.name||"unnamed")+"("+D(rt,", ")+"))")}function w($,V,K){return g($,V,K).implementation}function m($,V){const K=l(V);if(K.test($))return $;const nt=K.conversionsTo;if(nt.length===0)throw new Error("There are no conversions to "+V+" defined.");for(let st=0;st<nt.length;st++)if(l(nt[st].from).test($))return nt[st].convert($);throw new Error("Cannot convert "+$+" to "+V)}function D($){let V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return $.map(K=>K.name).join(V)}function v($){const V=$.indexOf("...")===0,nt=(V?$.length>3?$.slice(3):"any":$).split("|").map(ut=>l(ut.trim()));let st=!1,rt=V?"...":"";return{types:nt.map(function(ut){return st=ut.isAny||st,rt+=ut.name+"|",{name:ut.name,typeIndex:ut.index,test:ut.test,isAny:ut.isAny,conversion:null,conversionIndex:-1}}),name:rt.slice(0,-1),hasAny:st,hasConversion:!1,restParam:V}}function E($){const V=$.types.map(ct=>ct.name),K=G(V);let nt=$.hasAny,st=$.name;const rt=K.map(function(ct){const ut=l(ct.from);return nt=ut.isAny||nt,st+="|"+ct.from,{name:ct.from,typeIndex:ut.index,test:ut.test,isAny:ut.isAny,conversion:ct,conversionIndex:ct.index}});return{types:$.types.concat(rt),name:st,hasAny:nt,hasConversion:rt.length>0,restParam:$.restParam}}function b($){return $.typeSet||($.typeSet=new Set,$.types.forEach(V=>$.typeSet.add(V.name))),$.typeSet}function N($){const V=[];if(typeof $!="string")throw new TypeError("Signatures must be strings");const K=$.trim();if(K==="")return V;const nt=K.split(",");for(let st=0;st<nt.length;++st){const rt=v(nt[st].trim());if(rt.restParam&&st!==nt.length-1)throw new SyntaxError('Unexpected rest parameter "'+nt[st]+'": only allowed for the last parameter');if(rt.types.length===0)return null;V.push(rt)}return V}function x($){const V=Tt($);return V?V.restParam:!1}function F($){if(!$||$.types.length===0)return Pl;if($.types.length===1)return l($.types[0].name).test;if($.types.length===2){const V=l($.types[0].name).test,K=l($.types[1].name).test;return function(st){return V(st)||K(st)}}else{const V=$.types.map(function(K){return l(K.name).test});return function(nt){for(let st=0;st<V.length;st++)if(V[st](nt))return!0;return!1}}}function M($){let V,K,nt;if(x($)){V=oe($).map(F);const st=V.length,rt=F(Tt($)),ct=function(ut){for(let ht=st;ht<ut.length;ht++)if(!rt(ut[ht]))return!1;return!0};return function(ht){for(let at=0;at<V.length;at++)if(!V[at](ht[at]))return!1;return ct(ht)&&ht.length>=st+1}}else return $.length===0?function(rt){return rt.length===0}:$.length===1?(K=F($[0]),function(rt){return K(rt[0])&&rt.length===1}):$.length===2?(K=F($[0]),nt=F($[1]),function(rt){return K(rt[0])&&nt(rt[1])&&rt.length===2}):(V=$.map(F),function(rt){for(let ct=0;ct<V.length;ct++)if(!V[ct](rt[ct]))return!1;return rt.length===V.length})}function S($,V){return V<$.length?$[V]:x($)?Tt($):null}function I($,V){const K=S($,V);return K?b(K):new Set}function C($){return $.conversion===null||$.conversion===void 0}function O($,V){const K=new Set;return $.forEach(nt=>{const st=I(nt.params,V);let rt;for(rt of st)K.add(rt)}),K.has("any")?["any"]:Array.from(K)}function L($,V,K){let nt,st;const rt=$||"unnamed";let ct=K,ut;for(ut=0;ut<V.length;ut++){const ne=[];if(ct.forEach(ye=>{const qe=S(ye.params,ut),Re=F(qe);(ut<ye.params.length||x(ye.params))&&Re(V[ut])&&ne.push(ye)}),ne.length===0){if(st=O(ct,ut),st.length>0){const ye=c(V[ut]);return nt=new TypeError("Unexpected type of argument in function "+rt+" (expected: "+st.join(" or ")+", actual: "+ye.join(" | ")+", index: "+ut+")"),nt.data={category:"wrongType",fn:rt,index:ut,actual:ye,expected:st},nt}}else ct=ne}const ht=ct.map(function(ne){return x(ne.params)?1/0:ne.params.length});if(V.length<Math.min.apply(null,ht))return st=O(ct,ut),nt=new TypeError("Too few arguments in function "+rt+" (expected: "+st.join(" or ")+", index: "+V.length+")"),nt.data={category:"tooFewArgs",fn:rt,index:V.length,expected:st},nt;const at=Math.max.apply(null,ht);if(V.length>at)return nt=new TypeError("Too many arguments in function "+rt+" (expected: "+at+", actual: "+V.length+")"),nt.data={category:"tooManyArgs",fn:rt,index:V.length,expectedLength:at},nt;const Xt=[];for(let ne=0;ne<V.length;++ne)Xt.push(c(V[ne]).join("|"));return nt=new TypeError('Arguments of type "'+Xt.join(", ")+'" do not match any of the defined signatures of function '+rt+"."),nt.data={category:"mismatch",actual:Xt},nt}function U($){let V=n.length+1;for(let K=0;K<$.types.length;K++)C($.types[K])&&(V=Math.min(V,$.types[K].typeIndex));return V}function k($){let V=s+1;for(let K=0;K<$.types.length;K++)C($.types[K])||(V=Math.min(V,$.types[K].conversionIndex));return V}function W($,V){if($.hasAny){if(!V.hasAny)return 1}else if(V.hasAny)return-1;if($.restParam){if(!V.restParam)return 1}else if(V.restParam)return-1;if($.hasConversion){if(!V.hasConversion)return 1}else if(V.hasConversion)return-1;const K=U($)-U(V);if(K<0)return-1;if(K>0)return 1;const nt=k($)-k(V);return nt<0?-1:nt>0?1:0}function P($,V){const K=$.params,nt=V.params,st=Tt(K),rt=Tt(nt),ct=x(K),ut=x(nt);if(ct&&st.hasAny){if(!ut||!rt.hasAny)return 1}else if(ut&&rt.hasAny)return-1;let ht=0,at=0,Xt;for(Xt of K)Xt.hasAny&&++ht,Xt.hasConversion&&++at;let ne=0,ye=0;for(Xt of nt)Xt.hasAny&&++ne,Xt.hasConversion&&++ye;if(ht!==ne)return ht-ne;if(ct&&st.hasConversion){if(!ut||!rt.hasConversion)return 1}else if(ut&&rt.hasConversion)return-1;if(at!==ye)return at-ye;if(ct){if(!ut)return 1}else if(ut)return-1;const qe=(K.length-nt.length)*(ct?-1:1);if(qe!==0)return qe;const Re=[];let vr=0;for(let Tn=0;Tn<K.length;++Tn){const ti=W(K[Tn],nt[Tn]);Re.push(ti),vr+=ti}if(vr!==0)return vr;let wr;for(wr of Re)if(wr!==0)return wr;return 0}function G($){if($.length===0)return[];const V=$.map(l);$.length>1&&V.sort((st,rt)=>st.index-rt.index);let K=V[0].conversionsTo;if($.length===1)return K;K=K.concat([]);const nt=new Set($);for(let st=1;st<V.length;++st){let rt;for(rt of V[st].conversionsTo)nt.has(rt.from)||(K.push(rt),nt.add(rt.from))}return K}function Z($,V){let K=V;if($.some(st=>st.hasConversion)){const st=x($),rt=$.map(X);K=function(){const ut=[],ht=st?arguments.length-1:arguments.length;for(let at=0;at<ht;at++)ut[at]=rt[at](arguments[at]);return st&&(ut[ht]=arguments[ht].map(rt[ht])),V.apply(this,ut)}}let nt=K;if(x($)){const st=$.length-1;nt=function(){return K.apply(this,Nt(arguments,0,st).concat([Nt(arguments,st)]))}}return nt}function X($){let V,K,nt,st;const rt=[],ct=[];switch($.types.forEach(function(ut){ut.conversion&&(rt.push(l(ut.conversion.from).test),ct.push(ut.conversion.convert))}),ct.length){case 0:return function(ht){return ht};case 1:return V=rt[0],nt=ct[0],function(ht){return V(ht)?nt(ht):ht};case 2:return V=rt[0],K=rt[1],nt=ct[0],st=ct[1],function(ht){return V(ht)?nt(ht):K(ht)?st(ht):ht};default:return function(ht){for(let at=0;at<ct.length;at++)if(rt[at](ht))return ct[at](ht);return ht}}}function tt($){function V(K,nt,st){if(nt<K.length){const rt=K[nt];let ct=[];if(rt.restParam){const ut=rt.types.filter(C);ut.length<rt.types.length&&ct.push({types:ut,name:"..."+ut.map(ht=>ht.name).join("|"),hasAny:ut.some(ht=>ht.isAny),hasConversion:!1,restParam:!0}),ct.push(rt)}else ct=rt.types.map(function(ut){return{types:[ut],name:ut.name,hasAny:ut.isAny,hasConversion:ut.conversion,restParam:!1}});return re(ct,function(ut){return V(K,nt+1,st.concat([ut]))})}else return[st]}return V($,0,[])}function ft($,V){const K=Math.max($.length,V.length);for(let ut=0;ut<K;ut++){const ht=I($,ut),at=I(V,ut);let Xt=!1,ne;for(ne of at)if(ht.has(ne)){Xt=!0;break}if(!Xt)return!1}const nt=$.length,st=V.length,rt=x($),ct=x(V);return rt?ct?nt===st:st>=nt:ct?nt>=st:nt===st}function vt($){return $.map(V=>Le(V)?Te(V.referToSelf.callback):mr(V)?Jt(V.referTo.references,V.referTo.callback):V)}function lt($,V,K){const nt=[];let st;for(st of $){let rt=K[st];if(typeof rt!="number")throw new TypeError('No definition for referenced signature "'+st+'"');if(rt=V[rt],typeof rt!="function")return!1;nt.push(rt)}return nt}function yt($,V,K){const nt=vt($),st=new Array(nt.length).fill(!1);let rt=!0;for(;rt;){rt=!1;let ct=!0;for(let ut=0;ut<nt.length;++ut){if(st[ut])continue;const ht=nt[ut];if(Le(ht))nt[ut]=ht.referToSelf.callback(K),nt[ut].referToSelf=ht.referToSelf,st[ut]=!0,ct=!1;else if(mr(ht)){const at=lt(ht.referTo.references,nt,V);at?(nt[ut]=ht.referTo.callback.apply(this,at),nt[ut].referTo=ht.referTo,st[ut]=!0,ct=!1):rt=!0}}if(ct&&rt)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return nt}function bt($){const V=/\bthis(\(|\.signatures\b)/;Object.keys($).forEach(K=>{const nt=$[K];if(V.test(nt.toString()))throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}function Bt($,V){if(a.createCount++,Object.keys(V).length===0)throw new SyntaxError("No signatures provided");a.warnAgainstDeprecatedThis&&bt(V);const K=[],nt=[],st={},rt=[];let ct;for(ct in V){if(!Object.prototype.hasOwnProperty.call(V,ct))continue;const Zt=N(ct);if(!Zt)continue;K.forEach(function(In){if(ft(In,Zt))throw new TypeError('Conflicting signatures "'+D(In)+'" and "'+D(Zt)+'".')}),K.push(Zt);const He=nt.length;nt.push(V[ct]);const pu=Zt.map(E);let Ni;for(Ni of tt(pu)){const In=D(Ni);rt.push({params:Ni,name:In,fn:He}),Ni.every(wo=>!wo.hasConversion)&&(st[In]=He)}}rt.sort(P);const ut=yt(nt,st,ei);let ht;for(ht in st)Object.prototype.hasOwnProperty.call(st,ht)&&(st[ht]=ut[st[ht]]);const at=[],Xt=new Map;for(ht of rt)Xt.has(ht.name)||(ht.fn=ut[ht.fn],at.push(ht),Xt.set(ht.name,ht));const ne=at[0]&&at[0].params.length<=2&&!x(at[0].params),ye=at[1]&&at[1].params.length<=2&&!x(at[1].params),qe=at[2]&&at[2].params.length<=2&&!x(at[2].params),Re=at[3]&&at[3].params.length<=2&&!x(at[3].params),vr=at[4]&&at[4].params.length<=2&&!x(at[4].params),wr=at[5]&&at[5].params.length<=2&&!x(at[5].params),Tn=ne&&ye&&qe&&Re&&vr&&wr;for(let Zt=0;Zt<at.length;++Zt)at[Zt].test=M(at[Zt].params);const ti=ne?F(at[0].params[0]):Mr,mo=ye?F(at[1].params[0]):Mr,Ya=qe?F(at[2].params[0]):Mr,Va=Re?F(at[3].params[0]):Mr,Za=vr?F(at[4].params[0]):Mr,Ga=wr?F(at[5].params[0]):Mr,go=ne?F(at[0].params[1]):Mr,Ka=ye?F(at[1].params[1]):Mr,Ha=qe?F(at[2].params[1]):Mr,Ja=Re?F(at[3].params[1]):Mr,ns=vr?F(at[4].params[1]):Mr,Xa=wr?F(at[5].params[1]):Mr;for(let Zt=0;Zt<at.length;++Zt)at[Zt].implementation=Z(at[Zt].params,at[Zt].fn);const is=ne?at[0].implementation:hi,Qa=ye?at[1].implementation:hi,tu=qe?at[2].implementation:hi,eu=Re?at[3].implementation:hi,ru=vr?at[4].implementation:hi,nu=wr?at[5].implementation:hi,iu=ne?at[0].params.length:-1,su=ye?at[1].params.length:-1,ou=qe?at[2].params.length:-1,vo=Re?at[3].params.length:-1,au=vr?at[4].params.length:-1,uu=wr?at[5].params.length:-1,lu=Tn?6:0,fu=at.length,cu=at.map(Zt=>Zt.test),hu=at.map(Zt=>Zt.implementation),Mi=function(){for(let He=lu;He<fu;He++)if(cu[He](arguments))return hu[He].apply(this,arguments);return a.onMismatch($,arguments,at)};function ei(Zt,He){return arguments.length===iu&&ti(Zt)&&go(He)?is.apply(this,arguments):arguments.length===su&&mo(Zt)&&Ka(He)?Qa.apply(this,arguments):arguments.length===ou&&Ya(Zt)&&Ha(He)?tu.apply(this,arguments):arguments.length===vo&&Va(Zt)&&Ja(He)?eu.apply(this,arguments):arguments.length===au&&Za(Zt)&&ns(He)?ru.apply(this,arguments):arguments.length===uu&&Ga(Zt)&&Xa(He)?nu.apply(this,arguments):Mi.apply(this,arguments)}try{Object.defineProperty(ei,"name",{value:$})}catch{}return ei.signatures=st,ei._typedFunctionData={signatures:at,signatureMap:Xt},ei}function Et($,V,K){throw L($,V,K)}function oe($){return Nt($,0,$.length-1)}function Tt($){return $[$.length-1]}function Nt($,V,K){return Array.prototype.slice.call($,V,K)}function ue($,V){for(let K=0;K<$.length;K++)if(V($[K]))return $[K]}function re($,V){return Array.prototype.concat.apply([],$.map(V))}function qt(){const $=oe(arguments).map(K=>D(N(K))),V=Tt(arguments);if(typeof V!="function")throw new TypeError("Callback function expected as last argument");return Jt($,V)}function Jt($,V){return{referTo:{references:$,callback:V}}}function Te($){if(typeof $!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:$}}}function mr($){return $&&typeof $.referTo=="object"&&Array.isArray($.referTo.references)&&typeof $.referTo.callback=="function"}function Le($){return $&&typeof $.referToSelf=="object"&&typeof $.referToSelf.callback=="function"}function hn($,V){if(!$)return V;if(V&&V!==$){const K=new Error("Function names do not match (expected: "+$+", actual: "+V+")");throw K.data={actual:V,expected:$},K}return $}function Bn($){let V;for(const K in $)Object.prototype.hasOwnProperty.call($,K)&&(d($[K])||typeof $[K].signature=="string")&&(V=hn(V,$[K].name));return V}function pn($,V){let K;for(K in V)if(Object.prototype.hasOwnProperty.call(V,K)){if(K in $&&V[K]!==$[K]){const nt=new Error('Signature "'+K+'" is defined twice');throw nt.data={signature:K,sourceFunction:V[K],destFunction:$[K]},nt}$[K]=V[K]}}const gr=a;a=function($){const V=typeof $=="string",K=V?1:0;let nt=V?$:"";const st={};for(let rt=K;rt<arguments.length;++rt){const ct=arguments[rt];let ut={},ht;if(typeof ct=="function"?(ht=ct.name,typeof ct.signature=="string"?ut[ct.signature]=ct:d(ct)&&(ut=ct.signatures)):i(ct)&&(ut=ct,V||(ht=Bn(ct))),Object.keys(ut).length===0){const at=new TypeError("Argument to 'typed' at index "+rt+" is not a (typed) function, nor an object with signatures as keys and functions as values.");throw at.data={index:rt,argument:ct},at}V||(nt=hn(nt,ht)),pn(st,ut)}return Bt(nt||"",st)},a.create=ql,a.createCount=gr.createCount,a.onMismatch=Et,a.throwMismatchError=Et,a.createError=L,a.clear=h,a.clearConversions=p,a.addTypes=f,a._findType=l,a.referTo=qt,a.referToSelf=Te,a.convert=m,a.findSignature=g,a.find=w,a.isTypedFunction=d,a.warnAgainstDeprecatedThis=!0,a.addType=function($,V){let K="any";V!==!1&&r.has("Object")&&(K="Object"),a.addTypes([$],K)};function On($){if(!$||typeof $.from!="string"||typeof $.to!="string"||typeof $.convert!="function")throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");if($.to===$.from)throw new SyntaxError('Illegal to define conversion from "'+$.from+'" to itself.')}return a.addConversion=function($){On($);const V=l($.to);if(V.conversionsTo.every(function(K){return K.from!==$.from}))V.conversionsTo.push({from:$.from,convert:$.convert,index:s++});else throw new Error('There is already a conversion from "'+$.from+'" to "'+V.name+'"')},a.addConversions=function($){$.forEach(a.addConversion)},a.removeConversion=function($){On($);const V=l($.to),K=ue(V.conversionsTo,st=>st.from===$.from);if(!K)throw new Error("Attempt to remove nonexistent conversion from "+$.from+" to "+$.to);if(K.convert!==$.convert)throw new Error("Conversion to remove does not match existing conversion");const nt=V.conversionsTo.indexOf(K);V.conversionsTo.splice(nt,1)},a.resolve=function($,V){if(!d($))throw new TypeError(zl);const K=$._typedFunctionData.signatures;for(let nt=0;nt<K.length;++nt)if(K[nt].test(V))return K[nt];return null},a}var kl=ql();function we(i){return typeof i=="boolean"?!0:isFinite(i)?i===Math.round(i):!1}function fa(i,t,e){var r={2:"0b",8:"0o",16:"0x"},n=r[t],s="";if(e){if(e<1)throw new Error("size must be in greater than 0");if(!we(e))throw new Error("size must be an integer");if(i>2**(e-1)-1||i<-(2**(e-1)))throw new Error("Value must be in range [-2^".concat(e-1,", 2^").concat(e-1,"-1]"));if(!we(i))throw new Error("Value must be an integer");i<0&&(i=i+2**e),s="i".concat(e)}var a="";return i<0&&(i=-i,a="-"),"".concat(a).concat(n).concat(i.toString(t)).concat(s)}function ca(i,t){if(typeof t=="function")return t(i);if(i===1/0)return"Infinity";if(i===-1/0)return"-Infinity";if(isNaN(i))return"NaN";var{notation:e,precision:r,wordSize:n}=Ul(t);switch(e){case"fixed":return Dd(i,r);case"exponential":return Wl(i,r);case"engineering":return yd(i,r);case"bin":return fa(i,2,n);case"oct":return fa(i,8,n);case"hex":return fa(i,16,n);case"auto":return bd(i,r,t).replace(/((\.\d*?)(0+))($|e)/,function(){var s=arguments[2],a=arguments[4];return s!=="."?s+a:a});default:throw new Error('Unknown notation "'+e+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Ul(i){var t="auto",e,r;if(i!==void 0)if(he(i))e=i;else if(Fe(i))e=i.toNumber();else if(la(i))i.precision!==void 0&&(e=jl(i.precision,()=>{throw new Error('Option "precision" must be a number or BigNumber')})),i.wordSize!==void 0&&(r=jl(i.wordSize,()=>{throw new Error('Option "wordSize" must be a number or BigNumber')})),i.notation&&(t=i.notation);else throw new Error("Unsupported type of options, number, BigNumber, or object expected");return{notation:t,precision:e,wordSize:r}}function Cs(i){var t=String(i).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!t)throw new SyntaxError("Invalid number "+i);var e=t[1],r=t[2],n=parseFloat(t[4]||"0"),s=r.indexOf(".");n+=s!==-1?s-1:r.length-1;var a=r.replace(".","").replace(/^0*/,function(l){return n-=l.length,""}).replace(/0*$/,"").split("").map(function(l){return parseInt(l)});return a.length===0&&(a.push(0),n++),{sign:e,coefficients:a,exponent:n}}function yd(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Cs(i),r=Fs(e,t),n=r.exponent,s=r.coefficients,a=n%3===0?n:n<0?n-3-n%3:n-n%3;if(he(t))for(;t>s.length||n-a+1>s.length;)s.push(0);else for(var l=Math.abs(n-a)-(s.length-1),f=0;f<l;f++)s.push(0);for(var h=Math.abs(n-a),p=1;h>0;)p++,h--;var c=s.slice(p).join(""),d=he(t)&&c.length||c.match(/[1-9]/)?"."+c:"",g=s.slice(0,p).join("")+d+"e"+(n>=0?"+":"")+a.toString();return r.sign+g}function Dd(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Cs(i),r=typeof t=="number"?Fs(e,e.exponent+1+t):e,n=r.coefficients,s=r.exponent+1,a=s+(t||0);return n.length<a&&(n=n.concat(pi(a-n.length))),s<0&&(n=pi(-s+1).concat(n),s=1),s<n.length&&n.splice(s,0,s===0?"0.":"."),r.sign+n.join("")}function Wl(i,t){if(isNaN(i)||!isFinite(i))return String(i);var e=Cs(i),r=t?Fs(e,t):e,n=r.coefficients,s=r.exponent;n.length<t&&(n=n.concat(pi(t-n.length)));var a=n.shift();return r.sign+a+(n.length>0?"."+n.join(""):"")+"e"+(s>=0?"+":"")+s}function bd(i,t,e){if(isNaN(i)||!isFinite(i))return String(i);var r=Yl(e==null?void 0:e.lowerExp,-3),n=Yl(e==null?void 0:e.upperExp,5),s=Cs(i),a=t?Fs(s,t):s;if(a.exponent<r||a.exponent>=n)return Wl(i,t);var l=a.coefficients,f=a.exponent;l.length<t&&(l=l.concat(pi(t-l.length))),l=l.concat(pi(f-l.length+1+(l.length<t?t-l.length:0))),l=pi(-f).concat(l);var h=f>0?f:0;return h<l.length-1&&l.splice(h+1,0,"."),a.sign+l.join("")}function Fs(i,t){for(var e={sign:i.sign,coefficients:i.coefficients,exponent:i.exponent},r=e.coefficients;t<=0;)r.unshift(0),e.exponent++,t++;if(r.length>t){var n=r.splice(t,r.length-t);if(n[0]>=5){var s=t-1;for(r[s]++;r[s]===10;)r.pop(),s===0&&(r.unshift(0),e.exponent++,s++),s--,r[s]++}}return e}function pi(i){for(var t=[],e=0;e<i;e++)t.push(0);return t}function Ed(i){return i.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length}var xd=Number.EPSILON||2220446049250313e-31;function Gn(i,t,e){if(e==null)return i===t;if(i===t)return!0;if(isNaN(i)||isNaN(t))return!1;if(isFinite(i)&&isFinite(t)){var r=Math.abs(i-t);return r<=xd?!0:r<=Math.max(Math.abs(i),Math.abs(t))*e}return!1}function jl(i,t){if(he(i))return i;if(Fe(i))return i.toNumber();t()}function Yl(i,t){return he(i)?i:Fe(i)?i.toNumber():t}function ha(i,t,e){var r=i.constructor,n=new r(2),s="";if(e){if(e<1)throw new Error("size must be in greater than 0");if(!we(e))throw new Error("size must be an integer");if(i.greaterThan(n.pow(e-1).sub(1))||i.lessThan(n.pow(e-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(e-1,", 2^").concat(e-1,"-1]"));if(!i.isInteger())throw new Error("Value must be an integer");i.lessThan(0)&&(i=i.add(n.pow(e))),s="i".concat(e)}switch(t){case 2:return"".concat(i.toBinary()).concat(s);case 8:return"".concat(i.toOctal()).concat(s);case 16:return"".concat(i.toHexadecimal()).concat(s);default:throw new Error("Base ".concat(t," not supported "))}}function Ad(i,t){if(typeof t=="function")return t(i);if(!i.isFinite())return i.isNaN()?"NaN":i.gt(0)?"Infinity":"-Infinity";var{notation:e,precision:r,wordSize:n}=Ul(t);switch(e){case"fixed":return Fd(i,r);case"exponential":return Vl(i,r);case"engineering":return Cd(i,r);case"bin":return ha(i,2,n);case"oct":return ha(i,8,n);case"hex":return ha(i,16,n);case"auto":{var s=Zl(t==null?void 0:t.lowerExp,-3),a=Zl(t==null?void 0:t.upperExp,5);if(i.isZero())return"0";var l,f=i.toSignificantDigits(r),h=f.e;return h>=s&&h<a?l=f.toFixed():l=Vl(i,r),l.replace(/((\.\d*?)(0+))($|e)/,function(){var p=arguments[2],c=arguments[4];return p!=="."?p+c:c})}default:throw new Error('Unknown notation "'+e+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Cd(i,t){var e=i.e,r=e%3===0?e:e<0?e-3-e%3:e-e%3,n=i.mul(Math.pow(10,-r)),s=n.toPrecision(t);if(s.indexOf("e")!==-1){var a=i.constructor;s=new a(s).toFixed()}return s+"e"+(e>=0?"+":"")+r.toString()}function Vl(i,t){return t!==void 0?i.toExponential(t-1):i.toExponential()}function Fd(i,t){return i.toFixed(t)}function Zl(i,t){return he(i)?i:Fe(i)?i.toNumber():t}function le(i,t){var e=Md(i,t);return t&&typeof t=="object"&&"truncate"in t&&e.length>t.truncate?e.substring(0,t.truncate-3)+"...":e}function Md(i,t){if(typeof i=="number")return ca(i,t);if(Fe(i))return Ad(i,t);if(Nd(i))return!t||t.fraction!=="decimal"?i.s*i.n+"/"+i.d:i.toString();if(Array.isArray(i))return Hl(i,t);if(Qr(i))return Gl(i);if(typeof i=="function")return i.syntax?String(i.syntax):"function";if(i&&typeof i=="object"){if(typeof i.format=="function")return i.format(t);if(i&&i.toString(t)!=={}.toString())return i.toString(t);var e=Object.keys(i).map(r=>Gl(r)+": "+le(i[r],t));return"{"+e.join(", ")+"}"}return String(i)}function Gl(i){for(var t=String(i),e="",r=0;r<t.length;){var n=t.charAt(r);e+=n in Kl?Kl[n]:n,r++}return'"'+e+'"'}var Kl={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"};function Hl(i,t){if(Array.isArray(i)){for(var e="[",r=i.length,n=0;n<r;n++)n!==0&&(e+=", "),e+=Hl(i[n],t);return e+="]",e}else return le(i,t)}function Nd(i){return i&&typeof i=="object"&&typeof i.s=="number"&&typeof i.n=="number"&&typeof i.d=="number"||!1}function Ht(i,t,e){if(!(this instanceof Ht))throw new SyntaxError("Constructor must be called with the new operator");this.actual=i,this.expected=t,this.relation=e,this.message="Dimension mismatch ("+(Array.isArray(i)?"["+i.join(", ")+"]":i)+" "+(this.relation||"!=")+" "+(Array.isArray(t)?"["+t.join(", ")+"]":t)+")",this.stack=new Error().stack}Ht.prototype=new RangeError,Ht.prototype.constructor=RangeError,Ht.prototype.name="DimensionError",Ht.prototype.isDimensionError=!0;function xn(i,t,e){if(!(this instanceof xn))throw new SyntaxError("Constructor must be called with the new operator");this.index=i,arguments.length<3?(this.min=0,this.max=t):(this.min=t,this.max=e),this.min!==void 0&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":this.max!==void 0&&this.index>=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=new Error().stack}xn.prototype=new RangeError,xn.prototype.constructor=RangeError,xn.prototype.name="IndexError",xn.prototype.isIndexError=!0;function Be(i){for(var t=[];Array.isArray(i);)t.push(i.length),i=i[0];return t}function Jl(i,t,e){var r,n=i.length;if(n!==t[e])throw new Ht(n,t[e]);if(e<t.length-1){var s=e+1;for(r=0;r<n;r++){var a=i[r];if(!Array.isArray(a))throw new Ht(t.length-1,t.length,"<");Jl(i[r],t,s)}}else for(r=0;r<n;r++)if(Array.isArray(i[r]))throw new Ht(t.length+1,t.length,">")}function Xl(i,t){var e=t.length===0;if(e){if(Array.isArray(i))throw new Ht(i.length,0)}else Jl(i,t,0)}function Ee(i,t){if(i!==void 0){if(!he(i)||!we(i))throw new TypeError("Index must be an integer (value: "+i+")");if(i<0||typeof t=="number"&&i>=t)throw new xn(i,t)}}function pa(i,t,e){if(!Array.isArray(t))throw new TypeError("Array expected");if(t.length===0)throw new Error("Resizing to scalar is not supported");t.forEach(function(n){if(!he(n)||!we(n)||n<0)throw new TypeError("Invalid size, must contain positive integers (size: "+le(t)+")")}),(he(i)||Fe(i))&&(i=[i]);var r=e!==void 0?e:0;return da(i,t,0,r),i}function da(i,t,e,r){var n,s,a=i.length,l=t[e],f=Math.min(a,l);if(i.length=l,e<t.length-1){var h=e+1;for(n=0;n<f;n++)s=i[n],Array.isArray(s)||(s=[s],i[n]=s),da(s,t,h,r);for(n=f;n<l;n++)s=[],i[n]=s,da(s,t,h,r)}else{for(n=0;n<f;n++)for(;Array.isArray(i[n]);)i[n]=i[n][0];for(n=f;n<l;n++)i[n]=r}}function _a(i,t){var e=ga(i),r=e.length;if(!Array.isArray(i)||!Array.isArray(t))throw new TypeError("Array expected");if(t.length===0)throw new Ht(0,r,"!=");t=ma(t,r);var n=Ql(t);if(r!==n)throw new Ht(n,r,"!=");try{return Sd(e,t)}catch(s){throw s instanceof Ht?new Ht(n,r,"!="):s}}function ma(i,t){var e=Ql(i),r=i.slice(),n=-1,s=i.indexOf(n),a=i.indexOf(n,s+1)>=0;if(a)throw new Error("More than one wildcard in sizes");var l=s>=0,f=t%e===0;if(l)if(f)r[s]=-t/e;else throw new Error("Could not replace wildcard, since "+t+" is no multiple of "+-e);return r}function Ql(i){return i.reduce((t,e)=>t*e,1)}function Sd(i,t){for(var e=i,r,n=t.length-1;n>0;n--){var s=t[n];r=[];for(var a=e.length/s,l=0;l<a;l++)r.push(e.slice(l*s,(l+1)*s));e=r}return e}function tf(i,t,e,r){var n=r||Be(i);if(e)for(var s=0;s<e;s++)i=[i],n.unshift(1);for(i=ef(i,t,0);n.length<t;)n.push(1);return i}function ef(i,t,e){var r,n;if(Array.isArray(i)){var s=e+1;for(r=0,n=i.length;r<n;r++)i[r]=ef(i[r],t,s)}else for(var a=e;a<t;a++)i=[i];return i}function ga(i){if(!Array.isArray(i))return i;var t=[];return i.forEach(function e(r){Array.isArray(r)?r.forEach(e):t.push(r)}),t}function Ms(i,t){for(var e,r=0,n=0;n<i.length;n++){var s=i[n],a=Array.isArray(s);if(n===0&&a&&(r=s.length),a&&s.length!==r)return;var l=a?Ms(s,t):t(s);if(e===void 0)e=l;else if(e!==l)return"mixed"}return e}function rf(i,t,e,r){if(r<e){if(i.length!==t.length)throw new Ht(i.length,t.length);for(var n=[],s=0;s<i.length;s++)n[s]=rf(i[s],t[s],e,r+1);return n}else return i.concat(t)}function nf(){var i=Array.prototype.slice.call(arguments,0,-1),t=Array.prototype.slice.call(arguments,-1);if(i.length===1)return i[0];if(i.length>1)return i.slice(1).reduce(function(e,r){return rf(e,r,t,0)},i[0]);throw new Error("Wrong number of arguments in function concat")}function Bd(){for(var i=arguments.length,t=new Array(i),e=0;e<i;e++)t[e]=arguments[e];for(var r=t.map(d=>d.length),n=Math.max(...r),s=new Array(n).fill(null),a=0;a<t.length;a++)for(var l=t[a],f=r[a],h=0;h<f;h++){var p=n-f+h;l[h]>s[p]&&(s[p]=l[h])}for(var c=0;c<t.length;c++)Ns(t[c],s);return s}function Ns(i,t){for(var e=t.length,r=i.length,n=0;n<r;n++){var s=e-r+n;if(i[n]<t[s]&&i[n]>1||i[n]>t[s])throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(i,") not possible to broadcast dimension ").concat(r," with size ").concat(i[n]," to size ").concat(t[s]))}}function sf(i,t){var e=Be(i);if(ci(e,t))return i;Ns(e,t);var r=Bd(e,t),n=r.length,s=[...Array(n-e.length).fill(1),...e],a=Td(i);e.length<n&&(a=_a(a,s),e=Be(a));for(var l=0;l<n;l++)e[l]<r[l]&&(a=Od(a,r[l],l),e=Be(a));return a}function Od(i,t,e){return nf(...Array(t).fill(i),e)}function Td(i){return As([],i)}function mt(i,t,e,r){function n(s){var a=gd(s,t.map(Ld));return Id(i,t,s),e(a)}return n.isFactory=!0,n.fn=i,n.dependencies=t.slice().sort(),r&&(n.meta=r),n}function Id(i,t,e){var r=t.filter(s=>!$d(s)).every(s=>e[s]!==void 0);if(!r){var n=t.filter(s=>e[s]===void 0);throw new Error('Cannot create function "'.concat(i,'", ')+"some dependencies are missing: ".concat(n.map(s=>'"'.concat(s,'"')).join(", "),"."))}}function $d(i){return i&&i[0]==="?"}function Ld(i){return i&&i[0]==="?"?i.slice(1):i}function Rd(i,t){if(af(i)&&of(i,t))return i[t];throw typeof i[t]=="function"&&qd(i,t)?new Error('Cannot access method "'+t+'" as a property'):new Error('No access to property "'+t+'"')}function Pd(i,t,e){if(af(i)&&of(i,t))return i[t]=e,e;throw new Error('No access to property "'+t+'"')}function zd(i,t){return t in i}function of(i,t){return!i||typeof i!="object"?!1:Vi(kd,t)?!0:!(t in Object.prototype||t in Function.prototype)}function qd(i,t){return i==null||typeof i[t]!="function"||Vi(i,t)&&Object.getPrototypeOf&&t in Object.getPrototypeOf(i)?!1:Vi(Ud,t)?!0:!(t in Object.prototype||t in Function.prototype)}function af(i){return typeof i=="object"&&i&&i.constructor===Object}var kd={length:!0,name:!0},Ud={toString:!0,valueOf:!0,toLocaleString:!0};class Wd{constructor(t){this.wrappedObject=t,this[Symbol.iterator]=this.entries}keys(){return Object.keys(this.wrappedObject).values()}get(t){return Rd(this.wrappedObject,t)}set(t,e){return Pd(this.wrappedObject,t,e),this}has(t){return zd(this.wrappedObject,t)}entries(){return jd(this.keys(),t=>[t,this.get(t)])}forEach(t){for(var e of this.keys())t(this.get(e),e,this)}delete(t){delete this.wrappedObject[t]}clear(){for(var t of this.keys())this.delete(t)}get size(){return Object.keys(this.wrappedObject).length}}function jd(i,t){return{next:()=>{var e=i.next();return e.done?e:{value:t(e.value),done:!1}}}}function Yd(i){return i?i instanceof Map||i instanceof Wd||typeof i.set=="function"&&typeof i.get=="function"&&typeof i.keys=="function"&&typeof i.has=="function":!1}var uf=function(){return uf=kl.create,kl},Vd=["?BigNumber","?Complex","?DenseMatrix","?Fraction"],Zd=mt("typed",Vd,function(t){var{BigNumber:e,Complex:r,DenseMatrix:n,Fraction:s}=t,a=uf();return a.clear(),a.addTypes([{name:"number",test:he},{name:"Complex",test:Il},{name:"BigNumber",test:Fe},{name:"Fraction",test:$l},{name:"Unit",test:Ll},{name:"identifier",test:l=>Qr&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(l)},{name:"string",test:Qr},{name:"Chain",test:_d},{name:"Array",test:be},{name:"Matrix",test:me},{name:"DenseMatrix",test:Up},{name:"SparseMatrix",test:Wp},{name:"Range",test:jp},{name:"Index",test:ua},{name:"boolean",test:Yp},{name:"ResultSet",test:Vp},{name:"Help",test:Zp},{name:"function",test:Gp},{name:"Date",test:Kp},{name:"RegExp",test:Hp},{name:"null",test:Jp},{name:"undefined",test:Xp},{name:"AccessorNode",test:Qp},{name:"ArrayNode",test:td},{name:"AssignmentNode",test:ed},{name:"BlockNode",test:rd},{name:"ConditionalNode",test:nd},{name:"ConstantNode",test:id},{name:"FunctionNode",test:od},{name:"FunctionAssignmentNode",test:sd},{name:"IndexNode",test:ad},{name:"Node",test:ud},{name:"ObjectNode",test:ld},{name:"OperatorNode",test:fd},{name:"ParenthesisNode",test:cd},{name:"RangeNode",test:hd},{name:"RelationalNode",test:pd},{name:"SymbolNode",test:dd},{name:"Map",test:Yd},{name:"Object",test:la}]),a.addConversions([{from:"number",to:"BigNumber",convert:function(f){if(e||va(f),Ed(f)>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+f+"). Use function bignumber(x) to convert to BigNumber.");return new e(f)}},{from:"number",to:"Complex",convert:function(f){return r||Ss(f),new r(f,0)}},{from:"BigNumber",to:"Complex",convert:function(f){return r||Ss(f),new r(f.toNumber(),0)}},{from:"Fraction",to:"BigNumber",convert:function(f){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(f){return r||Ss(f),new r(f.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(f){s||wa(f);var h=new s(f);if(h.valueOf()!==f)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+f+"). Use function fraction(x) to convert to Fraction.");return h}},{from:"string",to:"number",convert:function(f){var h=Number(f);if(isNaN(h))throw new Error('Cannot convert "'+f+'" to a number');return h}},{from:"string",to:"BigNumber",convert:function(f){e||va(f);try{return new e(f)}catch{throw new Error('Cannot convert "'+f+'" to BigNumber')}}},{from:"string",to:"Fraction",convert:function(f){s||wa(f);try{return new s(f)}catch{throw new Error('Cannot convert "'+f+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(f){r||Ss(f);try{return new r(f)}catch{throw new Error('Cannot convert "'+f+'" to Complex')}}},{from:"boolean",to:"number",convert:function(f){return+f}},{from:"boolean",to:"BigNumber",convert:function(f){return e||va(f),new e(+f)}},{from:"boolean",to:"Fraction",convert:function(f){return s||wa(f),new s(+f)}},{from:"boolean",to:"string",convert:function(f){return String(f)}},{from:"Array",to:"Matrix",convert:function(f){return n||Gd(),new n(f)}},{from:"Matrix",to:"Array",convert:function(f){return f.valueOf()}}]),a.onMismatch=(l,f,h)=>{var p=a.createError(l,f,h);if(["wrongType","mismatch"].includes(p.data.category)&&f.length===1&&Yi(f[0])&&h.some(d=>!d.params.includes(","))){var c=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw c.data=p.data,c}throw p},a.onMismatch=(l,f,h)=>{var p=a.createError(l,f,h);if(["wrongType","mismatch"].includes(p.data.category)&&f.length===1&&Yi(f[0])&&h.some(d=>!d.params.includes(","))){var c=new TypeError("Function '".concat(l,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(l,")'."));throw c.data=p.data,c}throw p},a});function va(i){throw new Error("Cannot convert value ".concat(i," into a BigNumber: no class 'BigNumber' provided"))}function Ss(i){throw new Error("Cannot convert value ".concat(i," into a Complex number: no class 'Complex' provided"))}function Gd(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}function wa(i){throw new Error("Cannot convert value ".concat(i," into a Fraction, no class 'Fraction' provided."))}/*!
35
+ * decimal.js v10.4.3
36
+ * An arbitrary-precision Decimal type for JavaScript.
37
+ * https://github.com/MikeMcl/decimal.js
38
+ * Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>
39
+ * MIT Licence
40
+ */var di=9e15,An=1e9,ya="0123456789abcdef",Bs="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Os="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Da={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-di,maxE:di,crypto:!1},lf,un,St=!0,Ts="[DecimalError] ",Cn=Ts+"Invalid argument: ",ff=Ts+"Precision limit exceeded",cf=Ts+"crypto unavailable",hf="[object Decimal]",Ge=Math.floor,$e=Math.pow,Kd=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Hd=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Jd=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,pf=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,jr=1e7,xt=7,Xd=9007199254740991,Qd=Bs.length-1,ba=Os.length-1,it={toStringTag:hf};it.absoluteValue=it.abs=function(){var i=new this.constructor(this);return i.s<0&&(i.s=1),Dt(i)},it.ceil=function(){return Dt(new this.constructor(this),this.e+1,2)},it.clampedTo=it.clamp=function(i,t){var e,r=this,n=r.constructor;if(i=new n(i),t=new n(t),!i.s||!t.s)return new n(NaN);if(i.gt(t))throw Error(Cn+t);return e=r.cmp(i),e<0?i:r.cmp(t)>0?t:new n(r)},it.comparedTo=it.cmp=function(i){var t,e,r,n,s=this,a=s.d,l=(i=new s.constructor(i)).d,f=s.s,h=i.s;if(!a||!l)return!f||!h?NaN:f!==h?f:a===l?0:!a^f<0?1:-1;if(!a[0]||!l[0])return a[0]?f:l[0]?-h:0;if(f!==h)return f;if(s.e!==i.e)return s.e>i.e^f<0?1:-1;for(r=a.length,n=l.length,t=0,e=r<n?r:n;t<e;++t)if(a[t]!==l[t])return a[t]>l[t]^f<0?1:-1;return r===n?0:r>n^f<0?1:-1},it.cosine=it.cos=function(){var i,t,e=this,r=e.constructor;return e.d?e.d[0]?(i=r.precision,t=r.rounding,r.precision=i+Math.max(e.e,e.sd())+xt,r.rounding=1,e=t_(r,wf(r,e)),r.precision=i,r.rounding=t,Dt(un==2||un==3?e.neg():e,i,t,!0)):new r(1):new r(NaN)},it.cubeRoot=it.cbrt=function(){var i,t,e,r,n,s,a,l,f,h,p=this,c=p.constructor;if(!p.isFinite()||p.isZero())return new c(p);for(St=!1,s=p.s*$e(p.s*p,1/3),!s||Math.abs(s)==1/0?(e=We(p.d),i=p.e,(s=(i-e.length+1)%3)&&(e+=s==1||s==-2?"0":"00"),s=$e(e,1/3),i=Ge((i+1)/3)-(i%3==(i<0?-1:2)),s==1/0?e="5e"+i:(e=s.toExponential(),e=e.slice(0,e.indexOf("e")+1)+i),r=new c(e),r.s=p.s):r=new c(s.toString()),a=(i=c.precision)+3;;)if(l=r,f=l.times(l).times(l),h=f.plus(p),r=fe(h.plus(p).times(l),h.plus(f),a+2,1),We(l.d).slice(0,a)===(e=We(r.d)).slice(0,a))if(e=e.slice(a-3,a+1),e=="9999"||!n&&e=="4999"){if(!n&&(Dt(l,i+1,0),l.times(l).times(l).eq(p))){r=l;break}a+=4,n=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(Dt(r,i+1,1),t=!r.times(r).times(r).eq(p));break}return St=!0,Dt(r,i,c.rounding,t)},it.decimalPlaces=it.dp=function(){var i,t=this.d,e=NaN;if(t){if(i=t.length-1,e=(i-Ge(this.e/xt))*xt,i=t[i],i)for(;i%10==0;i/=10)e--;e<0&&(e=0)}return e},it.dividedBy=it.div=function(i){return fe(this,new this.constructor(i))},it.dividedToIntegerBy=it.divToInt=function(i){var t=this,e=t.constructor;return Dt(fe(t,new e(i),0,1,1),e.precision,e.rounding)},it.equals=it.eq=function(i){return this.cmp(i)===0},it.floor=function(){return Dt(new this.constructor(this),this.e+1,3)},it.greaterThan=it.gt=function(i){return this.cmp(i)>0},it.greaterThanOrEqualTo=it.gte=function(i){var t=this.cmp(i);return t==1||t===0},it.hyperbolicCosine=it.cosh=function(){var i,t,e,r,n,s=this,a=s.constructor,l=new a(1);if(!s.isFinite())return new a(s.s?1/0:NaN);if(s.isZero())return l;e=a.precision,r=a.rounding,a.precision=e+Math.max(s.e,s.sd())+4,a.rounding=1,n=s.d.length,n<32?(i=Math.ceil(n/3),t=(1/Rs(4,i)).toString()):(i=16,t="2.3283064365386962890625e-10"),s=_i(a,1,s.times(t),new a(1),!0);for(var f,h=i,p=new a(8);h--;)f=s.times(s),s=l.minus(f.times(p.minus(f.times(p))));return Dt(s,a.precision=e,a.rounding=r,!0)},it.hyperbolicSine=it.sinh=function(){var i,t,e,r,n=this,s=n.constructor;if(!n.isFinite()||n.isZero())return new s(n);if(t=s.precision,e=s.rounding,s.precision=t+Math.max(n.e,n.sd())+4,s.rounding=1,r=n.d.length,r<3)n=_i(s,2,n,n,!0);else{i=1.4*Math.sqrt(r),i=i>16?16:i|0,n=n.times(1/Rs(5,i)),n=_i(s,2,n,n,!0);for(var a,l=new s(5),f=new s(16),h=new s(20);i--;)a=n.times(n),n=n.times(l.plus(a.times(f.times(a).plus(h))))}return s.precision=t,s.rounding=e,Dt(n,t,e,!0)},it.hyperbolicTangent=it.tanh=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+7,r.rounding=1,fe(e.sinh(),e.cosh(),r.precision=i,r.rounding=t)):new r(e.s)},it.inverseCosine=it.acos=function(){var i,t=this,e=t.constructor,r=t.abs().cmp(1),n=e.precision,s=e.rounding;return r!==-1?r===0?t.isNeg()?Yr(e,n,s):new e(0):new e(NaN):t.isZero()?Yr(e,n+4,s).times(.5):(e.precision=n+6,e.rounding=1,t=t.asin(),i=Yr(e,n+4,s).times(.5),e.precision=n,e.rounding=s,i.minus(t))},it.inverseHyperbolicCosine=it.acosh=function(){var i,t,e=this,r=e.constructor;return e.lte(1)?new r(e.eq(1)?0:NaN):e.isFinite()?(i=r.precision,t=r.rounding,r.precision=i+Math.max(Math.abs(e.e),e.sd())+4,r.rounding=1,St=!1,e=e.times(e).minus(1).sqrt().plus(e),St=!0,r.precision=i,r.rounding=t,e.ln()):new r(e)},it.inverseHyperbolicSine=it.asinh=function(){var i,t,e=this,r=e.constructor;return!e.isFinite()||e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+2*Math.max(Math.abs(e.e),e.sd())+6,r.rounding=1,St=!1,e=e.times(e).plus(1).sqrt().plus(e),St=!0,r.precision=i,r.rounding=t,e.ln())},it.inverseHyperbolicTangent=it.atanh=function(){var i,t,e,r,n=this,s=n.constructor;return n.isFinite()?n.e>=0?new s(n.abs().eq(1)?n.s/0:n.isZero()?n:NaN):(i=s.precision,t=s.rounding,r=n.sd(),Math.max(r,i)<2*-n.e-1?Dt(new s(n),i,t,!0):(s.precision=e=r-n.e,n=fe(n.plus(1),new s(1).minus(n),e+i,1),s.precision=i+4,s.rounding=1,n=n.ln(),s.precision=i,s.rounding=t,n.times(.5))):new s(NaN)},it.inverseSine=it.asin=function(){var i,t,e,r,n=this,s=n.constructor;return n.isZero()?new s(n):(t=n.abs().cmp(1),e=s.precision,r=s.rounding,t!==-1?t===0?(i=Yr(s,e+4,r).times(.5),i.s=n.s,i):new s(NaN):(s.precision=e+6,s.rounding=1,n=n.div(new s(1).minus(n.times(n)).sqrt().plus(1)).atan(),s.precision=e,s.rounding=r,n.times(2)))},it.inverseTangent=it.atan=function(){var i,t,e,r,n,s,a,l,f,h=this,p=h.constructor,c=p.precision,d=p.rounding;if(h.isFinite()){if(h.isZero())return new p(h);if(h.abs().eq(1)&&c+4<=ba)return a=Yr(p,c+4,d).times(.25),a.s=h.s,a}else{if(!h.s)return new p(NaN);if(c+4<=ba)return a=Yr(p,c+4,d).times(.5),a.s=h.s,a}for(p.precision=l=c+10,p.rounding=1,e=Math.min(28,l/xt+2|0),i=e;i;--i)h=h.div(h.times(h).plus(1).sqrt().plus(1));for(St=!1,t=Math.ceil(l/xt),r=1,f=h.times(h),a=new p(h),n=h;i!==-1;)if(n=n.times(f),s=a.minus(n.div(r+=2)),n=n.times(f),a=s.plus(n.div(r+=2)),a.d[t]!==void 0)for(i=t;a.d[i]===s.d[i]&&i--;);return e&&(a=a.times(2<<e-1)),St=!0,Dt(a,p.precision=c,p.rounding=d,!0)},it.isFinite=function(){return!!this.d},it.isInteger=it.isInt=function(){return!!this.d&&Ge(this.e/xt)>this.d.length-2},it.isNaN=function(){return!this.s},it.isNegative=it.isNeg=function(){return this.s<0},it.isPositive=it.isPos=function(){return this.s>0},it.isZero=function(){return!!this.d&&this.d[0]===0},it.lessThan=it.lt=function(i){return this.cmp(i)<0},it.lessThanOrEqualTo=it.lte=function(i){return this.cmp(i)<1},it.logarithm=it.log=function(i){var t,e,r,n,s,a,l,f,h=this,p=h.constructor,c=p.precision,d=p.rounding,g=5;if(i==null)i=new p(10),t=!0;else{if(i=new p(i),e=i.d,i.s<0||!e||!e[0]||i.eq(1))return new p(NaN);t=i.eq(10)}if(e=h.d,h.s<0||!e||!e[0]||h.eq(1))return new p(e&&!e[0]?-1/0:h.s!=1?NaN:e?0:1/0);if(t)if(e.length>1)s=!0;else{for(n=e[0];n%10===0;)n/=10;s=n!==1}if(St=!1,l=c+g,a=Mn(h,l),r=t?Ls(p,l+10):Mn(i,l),f=fe(a,r,l,1),Zi(f.d,n=c,d))do if(l+=10,a=Mn(h,l),r=t?Ls(p,l+10):Mn(i,l),f=fe(a,r,l,1),!s){+We(f.d).slice(n+1,n+15)+1==1e14&&(f=Dt(f,c+1,0));break}while(Zi(f.d,n+=10,d));return St=!0,Dt(f,c,d)},it.minus=it.sub=function(i){var t,e,r,n,s,a,l,f,h,p,c,d,g=this,w=g.constructor;if(i=new w(i),!g.d||!i.d)return!g.s||!i.s?i=new w(NaN):g.d?i.s=-i.s:i=new w(i.d||g.s!==i.s?g:NaN),i;if(g.s!=i.s)return i.s=-i.s,g.plus(i);if(h=g.d,d=i.d,l=w.precision,f=w.rounding,!h[0]||!d[0]){if(d[0])i.s=-i.s;else if(h[0])i=new w(g);else return new w(f===3?-0:0);return St?Dt(i,l,f):i}if(e=Ge(i.e/xt),p=Ge(g.e/xt),h=h.slice(),s=p-e,s){for(c=s<0,c?(t=h,s=-s,a=d.length):(t=d,e=p,a=h.length),r=Math.max(Math.ceil(l/xt),a)+2,s>r&&(s=r,t.length=1),t.reverse(),r=s;r--;)t.push(0);t.reverse()}else{for(r=h.length,a=d.length,c=r<a,c&&(a=r),r=0;r<a;r++)if(h[r]!=d[r]){c=h[r]<d[r];break}s=0}for(c&&(t=h,h=d,d=t,i.s=-i.s),a=h.length,r=d.length-a;r>0;--r)h[a++]=0;for(r=d.length;r>s;){if(h[--r]<d[r]){for(n=r;n&&h[--n]===0;)h[n]=jr-1;--h[n],h[r]+=jr}h[r]-=d[r]}for(;h[--a]===0;)h.pop();for(;h[0]===0;h.shift())--e;return h[0]?(i.d=h,i.e=$s(h,e),St?Dt(i,l,f):i):new w(f===3?-0:0)},it.modulo=it.mod=function(i){var t,e=this,r=e.constructor;return i=new r(i),!e.d||!i.s||i.d&&!i.d[0]?new r(NaN):!i.d||e.d&&!e.d[0]?Dt(new r(e),r.precision,r.rounding):(St=!1,r.modulo==9?(t=fe(e,i.abs(),0,3,1),t.s*=i.s):t=fe(e,i,0,r.modulo,1),t=t.times(i),St=!0,e.minus(t))},it.naturalExponential=it.exp=function(){return Ea(this)},it.naturalLogarithm=it.ln=function(){return Mn(this)},it.negated=it.neg=function(){var i=new this.constructor(this);return i.s=-i.s,Dt(i)},it.plus=it.add=function(i){var t,e,r,n,s,a,l,f,h,p,c=this,d=c.constructor;if(i=new d(i),!c.d||!i.d)return!c.s||!i.s?i=new d(NaN):c.d||(i=new d(i.d||c.s===i.s?c:NaN)),i;if(c.s!=i.s)return i.s=-i.s,c.minus(i);if(h=c.d,p=i.d,l=d.precision,f=d.rounding,!h[0]||!p[0])return p[0]||(i=new d(c)),St?Dt(i,l,f):i;if(s=Ge(c.e/xt),r=Ge(i.e/xt),h=h.slice(),n=s-r,n){for(n<0?(e=h,n=-n,a=p.length):(e=p,r=s,a=h.length),s=Math.ceil(l/xt),a=s>a?s+1:a+1,n>a&&(n=a,e.length=1),e.reverse();n--;)e.push(0);e.reverse()}for(a=h.length,n=p.length,a-n<0&&(n=a,e=p,p=h,h=e),t=0;n;)t=(h[--n]=h[n]+p[n]+t)/jr|0,h[n]%=jr;for(t&&(h.unshift(t),++r),a=h.length;h[--a]==0;)h.pop();return i.d=h,i.e=$s(h,r),St?Dt(i,l,f):i},it.precision=it.sd=function(i){var t,e=this;if(i!==void 0&&i!==!!i&&i!==1&&i!==0)throw Error(Cn+i);return e.d?(t=df(e.d),i&&e.e+1>t&&(t=e.e+1)):t=NaN,t},it.round=function(){var i=this,t=i.constructor;return Dt(new t(i),i.e+1,t.rounding)},it.sine=it.sin=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+Math.max(e.e,e.sd())+xt,r.rounding=1,e=r_(r,wf(r,e)),r.precision=i,r.rounding=t,Dt(un>2?e.neg():e,i,t,!0)):new r(NaN)},it.squareRoot=it.sqrt=function(){var i,t,e,r,n,s,a=this,l=a.d,f=a.e,h=a.s,p=a.constructor;if(h!==1||!l||!l[0])return new p(!h||h<0&&(!l||l[0])?NaN:l?a:1/0);for(St=!1,h=Math.sqrt(+a),h==0||h==1/0?(t=We(l),(t.length+f)%2==0&&(t+="0"),h=Math.sqrt(t),f=Ge((f+1)/2)-(f<0||f%2),h==1/0?t="5e"+f:(t=h.toExponential(),t=t.slice(0,t.indexOf("e")+1)+f),r=new p(t)):r=new p(h.toString()),e=(f=p.precision)+3;;)if(s=r,r=s.plus(fe(a,s,e+2,1)).times(.5),We(s.d).slice(0,e)===(t=We(r.d)).slice(0,e))if(t=t.slice(e-3,e+1),t=="9999"||!n&&t=="4999"){if(!n&&(Dt(s,f+1,0),s.times(s).eq(a))){r=s;break}e+=4,n=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(Dt(r,f+1,1),i=!r.times(r).eq(a));break}return St=!0,Dt(r,f,p.rounding,i)},it.tangent=it.tan=function(){var i,t,e=this,r=e.constructor;return e.isFinite()?e.isZero()?new r(e):(i=r.precision,t=r.rounding,r.precision=i+10,r.rounding=1,e=e.sin(),e.s=1,e=fe(e,new r(1).minus(e.times(e)).sqrt(),i+10,0),r.precision=i,r.rounding=t,Dt(un==2||un==4?e.neg():e,i,t,!0)):new r(NaN)},it.times=it.mul=function(i){var t,e,r,n,s,a,l,f,h,p=this,c=p.constructor,d=p.d,g=(i=new c(i)).d;if(i.s*=p.s,!d||!d[0]||!g||!g[0])return new c(!i.s||d&&!d[0]&&!g||g&&!g[0]&&!d?NaN:!d||!g?i.s/0:i.s*0);for(e=Ge(p.e/xt)+Ge(i.e/xt),f=d.length,h=g.length,f<h&&(s=d,d=g,g=s,a=f,f=h,h=a),s=[],a=f+h,r=a;r--;)s.push(0);for(r=h;--r>=0;){for(t=0,n=f+r;n>r;)l=s[n]+g[r]*d[n-r-1]+t,s[n--]=l%jr|0,t=l/jr|0;s[n]=(s[n]+t)%jr|0}for(;!s[--a];)s.pop();return t?++e:s.shift(),i.d=s,i.e=$s(s,e),St?Dt(i,c.precision,c.rounding):i},it.toBinary=function(i,t){return Aa(this,2,i,t)},it.toDecimalPlaces=it.toDP=function(i,t){var e=this,r=e.constructor;return e=new r(e),i===void 0?e:(or(i,0,An),t===void 0?t=r.rounding:or(t,0,8),Dt(e,i+e.e+1,t))},it.toExponential=function(i,t){var e,r=this,n=r.constructor;return i===void 0?e=tn(r,!0):(or(i,0,An),t===void 0?t=n.rounding:or(t,0,8),r=Dt(new n(r),i+1,t),e=tn(r,!0,i+1)),r.isNeg()&&!r.isZero()?"-"+e:e},it.toFixed=function(i,t){var e,r,n=this,s=n.constructor;return i===void 0?e=tn(n):(or(i,0,An),t===void 0?t=s.rounding:or(t,0,8),r=Dt(new s(n),i+n.e+1,t),e=tn(r,!1,i+r.e+1)),n.isNeg()&&!n.isZero()?"-"+e:e},it.toFraction=function(i){var t,e,r,n,s,a,l,f,h,p,c,d,g=this,w=g.d,m=g.constructor;if(!w)return new m(g);if(h=e=new m(1),r=f=new m(0),t=new m(r),s=t.e=df(w)-g.e-1,a=s%xt,t.d[0]=$e(10,a<0?xt+a:a),i==null)i=s>0?t:h;else{if(l=new m(i),!l.isInt()||l.lt(h))throw Error(Cn+l);i=l.gt(t)?s>0?t:h:l}for(St=!1,l=new m(We(w)),p=m.precision,m.precision=s=w.length*xt*2;c=fe(l,t,0,1,1),n=e.plus(c.times(r)),n.cmp(i)!=1;)e=r,r=n,n=h,h=f.plus(c.times(n)),f=n,n=t,t=l.minus(c.times(n)),l=n;return n=fe(i.minus(e),r,0,1,1),f=f.plus(n.times(h)),e=e.plus(n.times(r)),f.s=h.s=g.s,d=fe(h,r,s,1).minus(g).abs().cmp(fe(f,e,s,1).minus(g).abs())<1?[h,r]:[f,e],m.precision=p,St=!0,d},it.toHexadecimal=it.toHex=function(i,t){return Aa(this,16,i,t)},it.toNearest=function(i,t){var e=this,r=e.constructor;if(e=new r(e),i==null){if(!e.d)return e;i=new r(1),t=r.rounding}else{if(i=new r(i),t===void 0?t=r.rounding:or(t,0,8),!e.d)return i.s?e:i;if(!i.d)return i.s&&(i.s=e.s),i}return i.d[0]?(St=!1,e=fe(e,i,0,t,1).times(i),St=!0,Dt(e)):(i.s=e.s,e=i),e},it.toNumber=function(){return+this},it.toOctal=function(i,t){return Aa(this,8,i,t)},it.toPower=it.pow=function(i){var t,e,r,n,s,a,l=this,f=l.constructor,h=+(i=new f(i));if(!l.d||!i.d||!l.d[0]||!i.d[0])return new f($e(+l,h));if(l=new f(l),l.eq(1))return l;if(r=f.precision,s=f.rounding,i.eq(1))return Dt(l,r,s);if(t=Ge(i.e/xt),t>=i.d.length-1&&(e=h<0?-h:h)<=Xd)return n=_f(f,l,e,r),i.s<0?new f(1).div(n):Dt(n,r,s);if(a=l.s,a<0){if(t<i.d.length-1)return new f(NaN);if(i.d[t]&1||(a=1),l.e==0&&l.d[0]==1&&l.d.length==1)return l.s=a,l}return e=$e(+l,h),t=e==0||!isFinite(e)?Ge(h*(Math.log("0."+We(l.d))/Math.LN10+l.e+1)):new f(e+"").e,t>f.maxE+1||t<f.minE-1?new f(t>0?a/0:0):(St=!1,f.rounding=l.s=1,e=Math.min(12,(t+"").length),n=Ea(i.times(Mn(l,r+e)),r),n.d&&(n=Dt(n,r+5,1),Zi(n.d,r,s)&&(t=r+10,n=Dt(Ea(i.times(Mn(l,t+e)),t),t+5,1),+We(n.d).slice(r+1,r+15)+1==1e14&&(n=Dt(n,r+1,0)))),n.s=a,St=!0,f.rounding=s,Dt(n,r,s))},it.toPrecision=function(i,t){var e,r=this,n=r.constructor;return i===void 0?e=tn(r,r.e<=n.toExpNeg||r.e>=n.toExpPos):(or(i,1,An),t===void 0?t=n.rounding:or(t,0,8),r=Dt(new n(r),i,t),e=tn(r,i<=r.e||r.e<=n.toExpNeg,i)),r.isNeg()&&!r.isZero()?"-"+e:e},it.toSignificantDigits=it.toSD=function(i,t){var e=this,r=e.constructor;return i===void 0?(i=r.precision,t=r.rounding):(or(i,1,An),t===void 0?t=r.rounding:or(t,0,8)),Dt(new r(e),i,t)},it.toString=function(){var i=this,t=i.constructor,e=tn(i,i.e<=t.toExpNeg||i.e>=t.toExpPos);return i.isNeg()&&!i.isZero()?"-"+e:e},it.truncated=it.trunc=function(){return Dt(new this.constructor(this),this.e+1,1)},it.valueOf=it.toJSON=function(){var i=this,t=i.constructor,e=tn(i,i.e<=t.toExpNeg||i.e>=t.toExpPos);return i.isNeg()?"-"+e:e};function We(i){var t,e,r,n=i.length-1,s="",a=i[0];if(n>0){for(s+=a,t=1;t<n;t++)r=i[t]+"",e=xt-r.length,e&&(s+=Fn(e)),s+=r;a=i[t],r=a+"",e=xt-r.length,e&&(s+=Fn(e))}else if(a===0)return"0";for(;a%10===0;)a/=10;return s+a}function or(i,t,e){if(i!==~~i||i<t||i>e)throw Error(Cn+i)}function Zi(i,t,e,r){var n,s,a,l;for(s=i[0];s>=10;s/=10)--t;return--t<0?(t+=xt,n=0):(n=Math.ceil((t+1)/xt),t%=xt),s=$e(10,xt-t),l=i[n]%s|0,r==null?t<3?(t==0?l=l/100|0:t==1&&(l=l/10|0),a=e<4&&l==99999||e>3&&l==49999||l==5e4||l==0):a=(e<4&&l+1==s||e>3&&l+1==s/2)&&(i[n+1]/s/100|0)==$e(10,t-2)-1||(l==s/2||l==0)&&(i[n+1]/s/100|0)==0:t<4?(t==0?l=l/1e3|0:t==1?l=l/100|0:t==2&&(l=l/10|0),a=(r||e<4)&&l==9999||!r&&e>3&&l==4999):a=((r||e<4)&&l+1==s||!r&&e>3&&l+1==s/2)&&(i[n+1]/s/1e3|0)==$e(10,t-3)-1,a}function Is(i,t,e){for(var r,n=[0],s,a=0,l=i.length;a<l;){for(s=n.length;s--;)n[s]*=t;for(n[0]+=ya.indexOf(i.charAt(a++)),r=0;r<n.length;r++)n[r]>e-1&&(n[r+1]===void 0&&(n[r+1]=0),n[r+1]+=n[r]/e|0,n[r]%=e)}return n.reverse()}function t_(i,t){var e,r,n;if(t.isZero())return t;r=t.d.length,r<32?(e=Math.ceil(r/3),n=(1/Rs(4,e)).toString()):(e=16,n="2.3283064365386962890625e-10"),i.precision+=e,t=_i(i,1,t.times(n),new i(1));for(var s=e;s--;){var a=t.times(t);t=a.times(a).minus(a).times(8).plus(1)}return i.precision-=e,t}var fe=function(){function i(r,n,s){var a,l=0,f=r.length;for(r=r.slice();f--;)a=r[f]*n+l,r[f]=a%s|0,l=a/s|0;return l&&r.unshift(l),r}function t(r,n,s,a){var l,f;if(s!=a)f=s>a?1:-1;else for(l=f=0;l<s;l++)if(r[l]!=n[l]){f=r[l]>n[l]?1:-1;break}return f}function e(r,n,s,a){for(var l=0;s--;)r[s]-=l,l=r[s]<n[s]?1:0,r[s]=l*a+r[s]-n[s];for(;!r[0]&&r.length>1;)r.shift()}return function(r,n,s,a,l,f){var h,p,c,d,g,w,m,D,v,E,b,N,x,F,M,S,I,C,O,L,U=r.constructor,k=r.s==n.s?1:-1,W=r.d,P=n.d;if(!W||!W[0]||!P||!P[0])return new U(!r.s||!n.s||(W?P&&W[0]==P[0]:!P)?NaN:W&&W[0]==0||!P?k*0:k/0);for(f?(g=1,p=r.e-n.e):(f=jr,g=xt,p=Ge(r.e/g)-Ge(n.e/g)),O=P.length,I=W.length,v=new U(k),E=v.d=[],c=0;P[c]==(W[c]||0);c++);if(P[c]>(W[c]||0)&&p--,s==null?(F=s=U.precision,a=U.rounding):l?F=s+(r.e-n.e)+1:F=s,F<0)E.push(1),w=!0;else{if(F=F/g+2|0,c=0,O==1){for(d=0,P=P[0],F++;(c<I||d)&&F--;c++)M=d*f+(W[c]||0),E[c]=M/P|0,d=M%P|0;w=d||c<I}else{for(d=f/(P[0]+1)|0,d>1&&(P=i(P,d,f),W=i(W,d,f),O=P.length,I=W.length),S=O,b=W.slice(0,O),N=b.length;N<O;)b[N++]=0;L=P.slice(),L.unshift(0),C=P[0],P[1]>=f/2&&++C;do d=0,h=t(P,b,O,N),h<0?(x=b[0],O!=N&&(x=x*f+(b[1]||0)),d=x/C|0,d>1?(d>=f&&(d=f-1),m=i(P,d,f),D=m.length,N=b.length,h=t(m,b,D,N),h==1&&(d--,e(m,O<D?L:P,D,f))):(d==0&&(h=d=1),m=P.slice()),D=m.length,D<N&&m.unshift(0),e(b,m,N,f),h==-1&&(N=b.length,h=t(P,b,O,N),h<1&&(d++,e(b,O<N?L:P,N,f))),N=b.length):h===0&&(d++,b=[0]),E[c++]=d,h&&b[0]?b[N++]=W[S]||0:(b=[W[S]],N=1);while((S++<I||b[0]!==void 0)&&F--);w=b[0]!==void 0}E[0]||E.shift()}if(g==1)v.e=p,lf=w;else{for(c=1,d=E[0];d>=10;d/=10)c++;v.e=c+p*g-1,Dt(v,l?s+v.e+1:s,a,w)}return v}}();function Dt(i,t,e,r){var n,s,a,l,f,h,p,c,d,g=i.constructor;t:if(t!=null){if(c=i.d,!c)return i;for(n=1,l=c[0];l>=10;l/=10)n++;if(s=t-n,s<0)s+=xt,a=t,p=c[d=0],f=p/$e(10,n-a-1)%10|0;else if(d=Math.ceil((s+1)/xt),l=c.length,d>=l)if(r){for(;l++<=d;)c.push(0);p=f=0,n=1,s%=xt,a=s-xt+1}else break t;else{for(p=l=c[d],n=1;l>=10;l/=10)n++;s%=xt,a=s-xt+n,f=a<0?0:p/$e(10,n-a-1)%10|0}if(r=r||t<0||c[d+1]!==void 0||(a<0?p:p%$e(10,n-a-1)),h=e<4?(f||r)&&(e==0||e==(i.s<0?3:2)):f>5||f==5&&(e==4||r||e==6&&(s>0?a>0?p/$e(10,n-a):0:c[d-1])%10&1||e==(i.s<0?8:7)),t<1||!c[0])return c.length=0,h?(t-=i.e+1,c[0]=$e(10,(xt-t%xt)%xt),i.e=-t||0):c[0]=i.e=0,i;if(s==0?(c.length=d,l=1,d--):(c.length=d+1,l=$e(10,xt-s),c[d]=a>0?(p/$e(10,n-a)%$e(10,a)|0)*l:0),h)for(;;)if(d==0){for(s=1,a=c[0];a>=10;a/=10)s++;for(a=c[0]+=l,l=1;a>=10;a/=10)l++;s!=l&&(i.e++,c[0]==jr&&(c[0]=1));break}else{if(c[d]+=l,c[d]!=jr)break;c[d--]=0,l=1}for(s=c.length;c[--s]===0;)c.pop()}return St&&(i.e>g.maxE?(i.d=null,i.e=NaN):i.e<g.minE&&(i.e=0,i.d=[0])),i}function tn(i,t,e){if(!i.isFinite())return vf(i);var r,n=i.e,s=We(i.d),a=s.length;return t?(e&&(r=e-a)>0?s=s.charAt(0)+"."+s.slice(1)+Fn(r):a>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(i.e<0?"e":"e+")+i.e):n<0?(s="0."+Fn(-n-1)+s,e&&(r=e-a)>0&&(s+=Fn(r))):n>=a?(s+=Fn(n+1-a),e&&(r=e-n-1)>0&&(s=s+"."+Fn(r))):((r=n+1)<a&&(s=s.slice(0,r)+"."+s.slice(r)),e&&(r=e-a)>0&&(n+1===a&&(s+="."),s+=Fn(r))),s}function $s(i,t){var e=i[0];for(t*=xt;e>=10;e/=10)t++;return t}function Ls(i,t,e){if(t>Qd)throw St=!0,e&&(i.precision=e),Error(ff);return Dt(new i(Bs),t,1,!0)}function Yr(i,t,e){if(t>ba)throw Error(ff);return Dt(new i(Os),t,e,!0)}function df(i){var t=i.length-1,e=t*xt+1;if(t=i[t],t){for(;t%10==0;t/=10)e--;for(t=i[0];t>=10;t/=10)e++}return e}function Fn(i){for(var t="";i--;)t+="0";return t}function _f(i,t,e,r){var n,s=new i(1),a=Math.ceil(r/xt+4);for(St=!1;;){if(e%2&&(s=s.times(t),yf(s.d,a)&&(n=!0)),e=Ge(e/2),e===0){e=s.d.length-1,n&&s.d[e]===0&&++s.d[e];break}t=t.times(t),yf(t.d,a)}return St=!0,s}function mf(i){return i.d[i.d.length-1]&1}function gf(i,t,e){for(var r,n=new i(t[0]),s=0;++s<t.length;)if(r=new i(t[s]),r.s)n[e](r)&&(n=r);else{n=r;break}return n}function Ea(i,t){var e,r,n,s,a,l,f,h=0,p=0,c=0,d=i.constructor,g=d.rounding,w=d.precision;if(!i.d||!i.d[0]||i.e>17)return new d(i.d?i.d[0]?i.s<0?0:1/0:1:i.s?i.s<0?0:i:NaN);for(t==null?(St=!1,f=w):f=t,l=new d(.03125);i.e>-2;)i=i.times(l),c+=5;for(r=Math.log($e(2,c))/Math.LN10*2+5|0,f+=r,e=s=a=new d(1),d.precision=f;;){if(s=Dt(s.times(i),f,1),e=e.times(++p),l=a.plus(fe(s,e,f,1)),We(l.d).slice(0,f)===We(a.d).slice(0,f)){for(n=c;n--;)a=Dt(a.times(a),f,1);if(t==null)if(h<3&&Zi(a.d,f-r,g,h))d.precision=f+=10,e=s=l=new d(1),p=0,h++;else return Dt(a,d.precision=w,g,St=!0);else return d.precision=w,a}a=l}}function Mn(i,t){var e,r,n,s,a,l,f,h,p,c,d,g=1,w=10,m=i,D=m.d,v=m.constructor,E=v.rounding,b=v.precision;if(m.s<0||!D||!D[0]||!m.e&&D[0]==1&&D.length==1)return new v(D&&!D[0]?-1/0:m.s!=1?NaN:D?0:m);if(t==null?(St=!1,p=b):p=t,v.precision=p+=w,e=We(D),r=e.charAt(0),Math.abs(s=m.e)<15e14){for(;r<7&&r!=1||r==1&&e.charAt(1)>3;)m=m.times(i),e=We(m.d),r=e.charAt(0),g++;s=m.e,r>1?(m=new v("0."+e),s++):m=new v(r+"."+e.slice(1))}else return h=Ls(v,p+2,b).times(s+""),m=Mn(new v(r+"."+e.slice(1)),p-w).plus(h),v.precision=b,t==null?Dt(m,b,E,St=!0):m;for(c=m,f=a=m=fe(m.minus(1),m.plus(1),p,1),d=Dt(m.times(m),p,1),n=3;;){if(a=Dt(a.times(d),p,1),h=f.plus(fe(a,new v(n),p,1)),We(h.d).slice(0,p)===We(f.d).slice(0,p))if(f=f.times(2),s!==0&&(f=f.plus(Ls(v,p+2,b).times(s+""))),f=fe(f,new v(g),p,1),t==null)if(Zi(f.d,p-w,E,l))v.precision=p+=w,h=a=m=fe(c.minus(1),c.plus(1),p,1),d=Dt(m.times(m),p,1),n=l=1;else return Dt(f,v.precision=b,E,St=!0);else return v.precision=b,f;f=h,n+=2}}function vf(i){return String(i.s*i.s/0)}function xa(i,t){var e,r,n;for((e=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(e<0&&(e=r),e+=+t.slice(r+1),t=t.substring(0,r)):e<0&&(e=t.length),r=0;t.charCodeAt(r)===48;r++);for(n=t.length;t.charCodeAt(n-1)===48;--n);if(t=t.slice(r,n),t){if(n-=r,i.e=e=e-r-1,i.d=[],r=(e+1)%xt,e<0&&(r+=xt),r<n){for(r&&i.d.push(+t.slice(0,r)),n-=xt;r<n;)i.d.push(+t.slice(r,r+=xt));t=t.slice(r),r=xt-t.length}else r-=n;for(;r--;)t+="0";i.d.push(+t),St&&(i.e>i.constructor.maxE?(i.d=null,i.e=NaN):i.e<i.constructor.minE&&(i.e=0,i.d=[0]))}else i.e=0,i.d=[0];return i}function e_(i,t){var e,r,n,s,a,l,f,h,p;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),pf.test(t))return xa(i,t)}else if(t==="Infinity"||t==="NaN")return+t||(i.s=NaN),i.e=NaN,i.d=null,i;if(Hd.test(t))e=16,t=t.toLowerCase();else if(Kd.test(t))e=2;else if(Jd.test(t))e=8;else throw Error(Cn+t);for(s=t.search(/p/i),s>0?(f=+t.slice(s+1),t=t.substring(2,s)):t=t.slice(2),s=t.indexOf("."),a=s>=0,r=i.constructor,a&&(t=t.replace(".",""),l=t.length,s=l-s,n=_f(r,new r(e),s,s*2)),h=Is(t,e,jr),p=h.length-1,s=p;h[s]===0;--s)h.pop();return s<0?new r(i.s*0):(i.e=$s(h,p),i.d=h,St=!1,a&&(i=fe(i,n,l*4)),f&&(i=i.times(Math.abs(f)<54?$e(2,f):mi.pow(2,f))),St=!0,i)}function r_(i,t){var e,r=t.d.length;if(r<3)return t.isZero()?t:_i(i,2,t,t);e=1.4*Math.sqrt(r),e=e>16?16:e|0,t=t.times(1/Rs(5,e)),t=_i(i,2,t,t);for(var n,s=new i(5),a=new i(16),l=new i(20);e--;)n=t.times(t),t=t.times(s.plus(n.times(a.times(n).minus(l))));return t}function _i(i,t,e,r,n){var s,a,l,f,h=i.precision,p=Math.ceil(h/xt);for(St=!1,f=e.times(e),l=new i(r);;){if(a=fe(l.times(f),new i(t++*t++),h,1),l=n?r.plus(a):r.minus(a),r=fe(a.times(f),new i(t++*t++),h,1),a=l.plus(r),a.d[p]!==void 0){for(s=p;a.d[s]===l.d[s]&&s--;);if(s==-1)break}s=l,l=r,r=a,a=s}return St=!0,a.d.length=p+1,a}function Rs(i,t){for(var e=i;--t;)e*=i;return e}function wf(i,t){var e,r=t.s<0,n=Yr(i,i.precision,1),s=n.times(.5);if(t=t.abs(),t.lte(s))return un=r?4:1,t;if(e=t.divToInt(n),e.isZero())un=r?3:2;else{if(t=t.minus(e.times(n)),t.lte(s))return un=mf(e)?r?2:3:r?4:1,t;un=mf(e)?r?1:4:r?3:2}return t.minus(n).abs()}function Aa(i,t,e,r){var n,s,a,l,f,h,p,c,d,g=i.constructor,w=e!==void 0;if(w?(or(e,1,An),r===void 0?r=g.rounding:or(r,0,8)):(e=g.precision,r=g.rounding),!i.isFinite())p=vf(i);else{for(p=tn(i),a=p.indexOf("."),w?(n=2,t==16?e=e*4-3:t==8&&(e=e*3-2)):n=t,a>=0&&(p=p.replace(".",""),d=new g(1),d.e=p.length-a,d.d=Is(tn(d),10,n),d.e=d.d.length),c=Is(p,10,n),s=f=c.length;c[--f]==0;)c.pop();if(!c[0])p=w?"0p+0":"0";else{if(a<0?s--:(i=new g(i),i.d=c,i.e=s,i=fe(i,d,e,r,0,n),c=i.d,s=i.e,h=lf),a=c[e],l=n/2,h=h||c[e+1]!==void 0,h=r<4?(a!==void 0||h)&&(r===0||r===(i.s<0?3:2)):a>l||a===l&&(r===4||h||r===6&&c[e-1]&1||r===(i.s<0?8:7)),c.length=e,h)for(;++c[--e]>n-1;)c[e]=0,e||(++s,c.unshift(1));for(f=c.length;!c[f-1];--f);for(a=0,p="";a<f;a++)p+=ya.charAt(c[a]);if(w){if(f>1)if(t==16||t==8){for(a=t==16?4:3,--f;f%a;f++)p+="0";for(c=Is(p,n,t),f=c.length;!c[f-1];--f);for(a=1,p="1.";a<f;a++)p+=ya.charAt(c[a])}else p=p.charAt(0)+"."+p.slice(1);p=p+(s<0?"p":"p+")+s}else if(s<0){for(;++s;)p="0"+p;p="0."+p}else if(++s>f)for(s-=f;s--;)p+="0";else s<f&&(p=p.slice(0,s)+"."+p.slice(s))}p=(t==16?"0x":t==2?"0b":t==8?"0o":"")+p}return i.s<0?"-"+p:p}function yf(i,t){if(i.length>t)return i.length=t,!0}function n_(i){return new this(i).abs()}function i_(i){return new this(i).acos()}function s_(i){return new this(i).acosh()}function o_(i,t){return new this(i).plus(t)}function a_(i){return new this(i).asin()}function u_(i){return new this(i).asinh()}function l_(i){return new this(i).atan()}function f_(i){return new this(i).atanh()}function c_(i,t){i=new this(i),t=new this(t);var e,r=this.precision,n=this.rounding,s=r+4;return!i.s||!t.s?e=new this(NaN):!i.d&&!t.d?(e=Yr(this,s,1).times(t.s>0?.25:.75),e.s=i.s):!t.d||i.isZero()?(e=t.s<0?Yr(this,r,n):new this(0),e.s=i.s):!i.d||t.isZero()?(e=Yr(this,s,1).times(.5),e.s=i.s):t.s<0?(this.precision=s,this.rounding=1,e=this.atan(fe(i,t,s,1)),t=Yr(this,s,1),this.precision=r,this.rounding=n,e=i.s<0?e.minus(t):e.plus(t)):e=this.atan(fe(i,t,s,1)),e}function h_(i){return new this(i).cbrt()}function p_(i){return Dt(i=new this(i),i.e+1,2)}function d_(i,t,e){return new this(i).clamp(t,e)}function __(i){if(!i||typeof i!="object")throw Error(Ts+"Object expected");var t,e,r,n=i.defaults===!0,s=["precision",1,An,"rounding",0,8,"toExpNeg",-di,0,"toExpPos",0,di,"maxE",0,di,"minE",-di,0,"modulo",0,9];for(t=0;t<s.length;t+=3)if(e=s[t],n&&(this[e]=Da[e]),(r=i[e])!==void 0)if(Ge(r)===r&&r>=s[t+1]&&r<=s[t+2])this[e]=r;else throw Error(Cn+e+": "+r);if(e="crypto",n&&(this[e]=Da[e]),(r=i[e])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[e]=!0;else throw Error(cf);else this[e]=!1;else throw Error(Cn+e+": "+r);return this}function m_(i){return new this(i).cos()}function g_(i){return new this(i).cosh()}function Df(i){var t,e,r;function n(s){var a,l,f,h=this;if(!(h instanceof n))return new n(s);if(h.constructor=n,bf(s)){h.s=s.s,St?!s.d||s.e>n.maxE?(h.e=NaN,h.d=null):s.e<n.minE?(h.e=0,h.d=[0]):(h.e=s.e,h.d=s.d.slice()):(h.e=s.e,h.d=s.d?s.d.slice():s.d);return}if(f=typeof s,f==="number"){if(s===0){h.s=1/s<0?-1:1,h.e=0,h.d=[0];return}if(s<0?(s=-s,h.s=-1):h.s=1,s===~~s&&s<1e7){for(a=0,l=s;l>=10;l/=10)a++;St?a>n.maxE?(h.e=NaN,h.d=null):a<n.minE?(h.e=0,h.d=[0]):(h.e=a,h.d=[s]):(h.e=a,h.d=[s]);return}else if(s*0!==0){s||(h.s=NaN),h.e=NaN,h.d=null;return}return xa(h,s.toString())}else if(f!=="string")throw Error(Cn+s);return(l=s.charCodeAt(0))===45?(s=s.slice(1),h.s=-1):(l===43&&(s=s.slice(1)),h.s=1),pf.test(s)?xa(h,s):e_(h,s)}if(n.prototype=it,n.ROUND_UP=0,n.ROUND_DOWN=1,n.ROUND_CEIL=2,n.ROUND_FLOOR=3,n.ROUND_HALF_UP=4,n.ROUND_HALF_DOWN=5,n.ROUND_HALF_EVEN=6,n.ROUND_HALF_CEIL=7,n.ROUND_HALF_FLOOR=8,n.EUCLID=9,n.config=n.set=__,n.clone=Df,n.isDecimal=bf,n.abs=n_,n.acos=i_,n.acosh=s_,n.add=o_,n.asin=a_,n.asinh=u_,n.atan=l_,n.atanh=f_,n.atan2=c_,n.cbrt=h_,n.ceil=p_,n.clamp=d_,n.cos=m_,n.cosh=g_,n.div=v_,n.exp=w_,n.floor=y_,n.hypot=D_,n.ln=b_,n.log=E_,n.log10=A_,n.log2=x_,n.max=C_,n.min=F_,n.mod=M_,n.mul=N_,n.pow=S_,n.random=B_,n.round=O_,n.sign=T_,n.sin=I_,n.sinh=$_,n.sqrt=L_,n.sub=R_,n.sum=P_,n.tan=z_,n.tanh=q_,n.trunc=k_,i===void 0&&(i={}),i&&i.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)i.hasOwnProperty(e=r[t++])||(i[e]=this[e]);return n.config(i),n}function v_(i,t){return new this(i).div(t)}function w_(i){return new this(i).exp()}function y_(i){return Dt(i=new this(i),i.e+1,3)}function D_(){var i,t,e=new this(0);for(St=!1,i=0;i<arguments.length;)if(t=new this(arguments[i++]),t.d)e.d&&(e=e.plus(t.times(t)));else{if(t.s)return St=!0,new this(1/0);e=t}return St=!0,e.sqrt()}function bf(i){return i instanceof mi||i&&i.toStringTag===hf||!1}function b_(i){return new this(i).ln()}function E_(i,t){return new this(i).log(t)}function x_(i){return new this(i).log(2)}function A_(i){return new this(i).log(10)}function C_(){return gf(this,arguments,"lt")}function F_(){return gf(this,arguments,"gt")}function M_(i,t){return new this(i).mod(t)}function N_(i,t){return new this(i).mul(t)}function S_(i,t){return new this(i).pow(t)}function B_(i){var t,e,r,n,s=0,a=new this(1),l=[];if(i===void 0?i=this.precision:or(i,1,An),r=Math.ceil(i/xt),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));s<r;)n=t[s],n>=429e7?t[s]=crypto.getRandomValues(new Uint32Array(1))[0]:l[s++]=n%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);s<r;)n=t[s]+(t[s+1]<<8)+(t[s+2]<<16)+((t[s+3]&127)<<24),n>=214e7?crypto.randomBytes(4).copy(t,s):(l.push(n%1e7),s+=4);s=r/4}else throw Error(cf);else for(;s<r;)l[s++]=Math.random()*1e7|0;for(r=l[--s],i%=xt,r&&i&&(n=$e(10,xt-i),l[s]=(r/n|0)*n);l[s]===0;s--)l.pop();if(s<0)e=0,l=[0];else{for(e=-1;l[0]===0;e-=xt)l.shift();for(r=1,n=l[0];n>=10;n/=10)r++;r<xt&&(e-=xt-r)}return a.e=e,a.d=l,a}function O_(i){return Dt(i=new this(i),i.e+1,this.rounding)}function T_(i){return i=new this(i),i.d?i.d[0]?i.s:0*i.s:i.s||NaN}function I_(i){return new this(i).sin()}function $_(i){return new this(i).sinh()}function L_(i){return new this(i).sqrt()}function R_(i,t){return new this(i).sub(t)}function P_(){var i=0,t=arguments,e=new this(t[i]);for(St=!1;e.s&&++i<t.length;)e=e.plus(t[i]);return St=!0,Dt(e,this.precision,this.rounding)}function z_(i){return new this(i).tan()}function q_(i){return new this(i).tanh()}function k_(i){return Dt(i=new this(i),i.e+1,1)}it[Symbol.for("nodejs.util.inspect.custom")]=it.toString,it[Symbol.toStringTag]="Decimal";var mi=it.constructor=Df(Da);Bs=new mi(Bs),Os=new mi(Os);var U_="BigNumber",W_=["?on","config"],j_=mt(U_,W_,i=>{var{on:t,config:e}=i,r=mi.clone({precision:e.precision,modulo:mi.EUCLID});return r.prototype=Object.create(r.prototype),r.prototype.type="BigNumber",r.prototype.isBigNumber=!0,r.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},r.fromJSON=function(n){return new r(n.value)},t&&t("config",function(n,s){n.precision!==s.precision&&r.config({precision:n.precision})}),r},{isClass:!0}),Ef={exports:{}};/**
41
+ * @license Complex.js v2.1.1 12/05/2020
42
+ *
43
+ * Copyright (c) 2020, Robert Eisele (robert@xarg.org)
44
+ * Dual licensed under the MIT or GPL Version 2 licenses.
45
+ **/(function(i,t){(function(e){var r=Math.cosh||function(c){return Math.abs(c)<1e-9?1-c:(Math.exp(c)+Math.exp(-c))*.5},n=Math.sinh||function(c){return Math.abs(c)<1e-9?c:(Math.exp(c)-Math.exp(-c))*.5},s=function(c){var d=Math.PI/4;if(-d>c||c>d)return Math.cos(c)-1;var g=c*c;return g*(g*(g*(g*(g*(g*(g*(g/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-1/2)},a=function(c,d){var g=Math.abs(c),w=Math.abs(d);return g<3e3&&w<3e3?Math.sqrt(g*g+w*w):(g<w?(g=w,w=c/d):w=d/c,g*Math.sqrt(1+w*w))},l=function(){throw SyntaxError("Invalid Param")};function f(c,d){var g=Math.abs(c),w=Math.abs(d);return c===0?Math.log(w):d===0?Math.log(g):g<3e3&&w<3e3?Math.log(c*c+d*d)*.5:(c=c/2,d=d/2,.5*Math.log(c*c+d*d)+Math.LN2)}var h=function(c,d){var g={re:0,im:0};if(c==null)g.re=g.im=0;else if(d!==void 0)g.re=c,g.im=d;else switch(typeof c){case"object":if("im"in c&&"re"in c)g.re=c.re,g.im=c.im;else if("abs"in c&&"arg"in c){if(!Number.isFinite(c.abs)&&Number.isFinite(c.arg))return p.INFINITY;g.re=c.abs*Math.cos(c.arg),g.im=c.abs*Math.sin(c.arg)}else if("r"in c&&"phi"in c){if(!Number.isFinite(c.r)&&Number.isFinite(c.phi))return p.INFINITY;g.re=c.r*Math.cos(c.phi),g.im=c.r*Math.sin(c.phi)}else c.length===2?(g.re=c[0],g.im=c[1]):l();break;case"string":g.im=g.re=0;var w=c.match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g),m=1,D=0;w===null&&l();for(var v=0;v<w.length;v++){var E=w[v];E===" "||E===" "||E===`
46
+ `||(E==="+"?m++:E==="-"?D++:E==="i"||E==="I"?(m+D===0&&l(),w[v+1]!==" "&&!isNaN(w[v+1])?(g.im+=parseFloat((D%2?"-":"")+w[v+1]),v++):g.im+=parseFloat((D%2?"-":"")+"1"),m=D=0):((m+D===0||isNaN(E))&&l(),w[v+1]==="i"||w[v+1]==="I"?(g.im+=parseFloat((D%2?"-":"")+E),v++):g.re+=parseFloat((D%2?"-":"")+E),m=D=0))}m+D>0&&l();break;case"number":g.im=0,g.re=c;break;default:l()}return isNaN(g.re)||isNaN(g.im),g};function p(c,d){if(!(this instanceof p))return new p(c,d);var g=h(c,d);this.re=g.re,this.im=g.im}p.prototype={re:0,im:0,sign:function(){var c=this.abs();return new p(this.re/c,this.im/c)},add:function(c,d){var g=new p(c,d);return this.isInfinite()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:new p(this.re+g.re,this.im+g.im)},sub:function(c,d){var g=new p(c,d);return this.isInfinite()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:new p(this.re-g.re,this.im-g.im)},mul:function(c,d){var g=new p(c,d);return this.isInfinite()&&g.isZero()||this.isZero()&&g.isInfinite()?p.NAN:this.isInfinite()||g.isInfinite()?p.INFINITY:g.im===0&&this.im===0?new p(this.re*g.re,0):new p(this.re*g.re-this.im*g.im,this.re*g.im+this.im*g.re)},div:function(c,d){var g=new p(c,d);if(this.isZero()&&g.isZero()||this.isInfinite()&&g.isInfinite())return p.NAN;if(this.isInfinite()||g.isZero())return p.INFINITY;if(this.isZero()||g.isInfinite())return p.ZERO;c=this.re,d=this.im;var w=g.re,m=g.im,D,v;return m===0?new p(c/w,d/w):Math.abs(w)<Math.abs(m)?(v=w/m,D=w*v+m,new p((c*v+d)/D,(d*v-c)/D)):(v=m/w,D=m*v+w,new p((c+d*v)/D,(d-c*v)/D))},pow:function(c,d){var g=new p(c,d);if(c=this.re,d=this.im,g.isZero())return p.ONE;if(g.im===0){if(d===0&&c>0)return new p(Math.pow(c,g.re),0);if(c===0)switch((g.re%4+4)%4){case 0:return new p(Math.pow(d,g.re),0);case 1:return new p(0,Math.pow(d,g.re));case 2:return new p(-Math.pow(d,g.re),0);case 3:return new p(0,-Math.pow(d,g.re))}}if(c===0&&d===0&&g.re>0&&g.im>=0)return p.ZERO;var w=Math.atan2(d,c),m=f(c,d);return c=Math.exp(g.re*m-g.im*w),d=g.im*m+g.re*w,new p(c*Math.cos(d),c*Math.sin(d))},sqrt:function(){var c=this.re,d=this.im,g=this.abs(),w,m;if(c>=0){if(d===0)return new p(Math.sqrt(c),0);w=.5*Math.sqrt(2*(g+c))}else w=Math.abs(d)/Math.sqrt(2*(g-c));return c<=0?m=.5*Math.sqrt(2*(g-c)):m=Math.abs(d)/Math.sqrt(2*(g+c)),new p(w,d<0?-m:m)},exp:function(){var c=Math.exp(this.re);return this.im,new p(c*Math.cos(this.im),c*Math.sin(this.im))},expm1:function(){var c=this.re,d=this.im;return new p(Math.expm1(c)*Math.cos(d)+s(d),Math.exp(c)*Math.sin(d))},log:function(){var c=this.re,d=this.im;return new p(f(c,d),Math.atan2(d,c))},abs:function(){return a(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){var c=this.re,d=this.im;return new p(Math.sin(c)*r(d),Math.cos(c)*n(d))},cos:function(){var c=this.re,d=this.im;return new p(Math.cos(c)*r(d),-Math.sin(c)*n(d))},tan:function(){var c=2*this.re,d=2*this.im,g=Math.cos(c)+r(d);return new p(Math.sin(c)/g,n(d)/g)},cot:function(){var c=2*this.re,d=2*this.im,g=Math.cos(c)-r(d);return new p(-Math.sin(c)/g,n(d)/g)},sec:function(){var c=this.re,d=this.im,g=.5*r(2*d)+.5*Math.cos(2*c);return new p(Math.cos(c)*r(d)/g,Math.sin(c)*n(d)/g)},csc:function(){var c=this.re,d=this.im,g=.5*r(2*d)-.5*Math.cos(2*c);return new p(Math.sin(c)*r(d)/g,-Math.cos(c)*n(d)/g)},asin:function(){var c=this.re,d=this.im,g=new p(d*d-c*c+1,-2*c*d).sqrt(),w=new p(g.re-d,g.im+c).log();return new p(w.im,-w.re)},acos:function(){var c=this.re,d=this.im,g=new p(d*d-c*c+1,-2*c*d).sqrt(),w=new p(g.re-d,g.im+c).log();return new p(Math.PI/2-w.im,w.re)},atan:function(){var c=this.re,d=this.im;if(c===0){if(d===1)return new p(0,1/0);if(d===-1)return new p(0,-1/0)}var g=c*c+(1-d)*(1-d),w=new p((1-d*d-c*c)/g,-2*c/g).log();return new p(-.5*w.im,.5*w.re)},acot:function(){var c=this.re,d=this.im;if(d===0)return new p(Math.atan2(1,c),0);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).atan():new p(c!==0?c/0:0,d!==0?-d/0:0).atan()},asec:function(){var c=this.re,d=this.im;if(c===0&&d===0)return new p(0,1/0);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).acos():new p(c!==0?c/0:0,d!==0?-d/0:0).acos()},acsc:function(){var c=this.re,d=this.im;if(c===0&&d===0)return new p(Math.PI/2,1/0);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).asin():new p(c!==0?c/0:0,d!==0?-d/0:0).asin()},sinh:function(){var c=this.re,d=this.im;return new p(n(c)*Math.cos(d),r(c)*Math.sin(d))},cosh:function(){var c=this.re,d=this.im;return new p(r(c)*Math.cos(d),n(c)*Math.sin(d))},tanh:function(){var c=2*this.re,d=2*this.im,g=r(c)+Math.cos(d);return new p(n(c)/g,Math.sin(d)/g)},coth:function(){var c=2*this.re,d=2*this.im,g=r(c)-Math.cos(d);return new p(n(c)/g,-Math.sin(d)/g)},csch:function(){var c=this.re,d=this.im,g=Math.cos(2*d)-r(2*c);return new p(-2*n(c)*Math.cos(d)/g,2*r(c)*Math.sin(d)/g)},sech:function(){var c=this.re,d=this.im,g=Math.cos(2*d)+r(2*c);return new p(2*r(c)*Math.cos(d)/g,-2*n(c)*Math.sin(d)/g)},asinh:function(){var c=this.im;this.im=-this.re,this.re=c;var d=this.asin();return this.re=-this.im,this.im=c,c=d.re,d.re=-d.im,d.im=c,d},acosh:function(){var c=this.acos();if(c.im<=0){var d=c.re;c.re=-c.im,c.im=d}else{var d=c.im;c.im=-c.re,c.re=d}return c},atanh:function(){var c=this.re,d=this.im,g=c>1&&d===0,w=1-c,m=1+c,D=w*w+d*d,v=D!==0?new p((m*w-d*d)/D,(d*w+m*d)/D):new p(c!==-1?c/0:0,d!==0?d/0:0),E=v.re;return v.re=f(v.re,v.im)/2,v.im=Math.atan2(v.im,E)/2,g&&(v.im=-v.im),v},acoth:function(){var c=this.re,d=this.im;if(c===0&&d===0)return new p(0,Math.PI/2);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).atanh():new p(c!==0?c/0:0,d!==0?-d/0:0).atanh()},acsch:function(){var c=this.re,d=this.im;if(d===0)return new p(c!==0?Math.log(c+Math.sqrt(c*c+1)):1/0,0);var g=c*c+d*d;return g!==0?new p(c/g,-d/g).asinh():new p(c!==0?c/0:0,d!==0?-d/0:0).asinh()},asech:function(){var c=this.re,d=this.im;if(this.isZero())return p.INFINITY;var g=c*c+d*d;return g!==0?new p(c/g,-d/g).acosh():new p(c!==0?c/0:0,d!==0?-d/0:0).acosh()},inverse:function(){if(this.isZero())return p.INFINITY;if(this.isInfinite())return p.ZERO;var c=this.re,d=this.im,g=c*c+d*d;return new p(c/g,-d/g)},conjugate:function(){return new p(this.re,-this.im)},neg:function(){return new p(-this.re,-this.im)},ceil:function(c){return c=Math.pow(10,c||0),new p(Math.ceil(this.re*c)/c,Math.ceil(this.im*c)/c)},floor:function(c){return c=Math.pow(10,c||0),new p(Math.floor(this.re*c)/c,Math.floor(this.im*c)/c)},round:function(c){return c=Math.pow(10,c||0),new p(Math.round(this.re*c)/c,Math.round(this.im*c)/c)},equals:function(c,d){var g=new p(c,d);return Math.abs(g.re-this.re)<=p.EPSILON&&Math.abs(g.im-this.im)<=p.EPSILON},clone:function(){return new p(this.re,this.im)},toString:function(){var c=this.re,d=this.im,g="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(c)<p.EPSILON&&(c=0),Math.abs(d)<p.EPSILON&&(d=0),d===0?g+c:(c!==0?(g+=c,g+=" ",d<0?(d=-d,g+="-"):g+="+",g+=" "):d<0&&(d=-d,g+="-"),d!==1&&(g+=d),g+"i"))},toVector:function(){return[this.re,this.im]},valueOf:function(){return this.im===0?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return this.im===0&&this.re===0},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!(this.isNaN()||this.isFinite())}},p.ZERO=new p(0,0),p.ONE=new p(1,0),p.I=new p(0,1),p.PI=new p(Math.PI,0),p.E=new p(Math.E,0),p.INFINITY=new p(1/0,1/0),p.NAN=new p(NaN,NaN),p.EPSILON=1e-15,Object.defineProperty(p,"__esModule",{value:!0}),p.default=p,p.Complex=p,i.exports=p})()})(Ef);var Y_=Ef.exports,je=Kt(Y_),V_="Complex",Z_=[],G_=mt(V_,Z_,()=>(Object.defineProperty(je,"name",{value:"Complex"}),je.prototype.constructor=je,je.prototype.type="Complex",je.prototype.isComplex=!0,je.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},je.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},je.prototype.format=function(i){var t="",e=this.im,r=this.re,n=ca(this.re,i),s=ca(this.im,i),a=he(i)?i:i?i.precision:null;if(a!==null){var l=Math.pow(10,-a);Math.abs(r/e)<l&&(r=0),Math.abs(e/r)<l&&(e=0)}return e===0?t=n:r===0?e===1?t="i":e===-1?t="-i":t=s+"i":e<0?e===-1?t=n+" - i":t=n+" - "+s.substring(1)+"i":e===1?t=n+" + i":t=n+" + "+s+"i",t},je.fromPolar=function(i){switch(arguments.length){case 1:{var t=arguments[0];if(typeof t=="object")return je(t);throw new TypeError("Input has to be an object with r and phi keys.")}case 2:{var e=arguments[0],r=arguments[1];if(he(e)){if(Ll(r)&&r.hasBase("ANGLE")&&(r=r.toNumber("rad")),he(r))return new je({r:e,phi:r});throw new TypeError("Phi is not a number nor an angle unit.")}else throw new TypeError("Radius r is not a number.")}default:throw new SyntaxError("Wrong number of arguments in function fromPolar")}},je.prototype.valueOf=je.prototype.toString,je.fromJSON=function(i){return new je(i)},je.compare=function(i,t){return i.re>t.re?1:i.re<t.re?-1:i.im>t.im?1:i.im<t.im?-1:0},je),{isClass:!0}),xf={exports:{}};/**
47
+ * @license Fraction.js v4.3.0 20/08/2023
48
+ * https://www.xarg.org/2014/03/rational-numbers-in-javascript/
49
+ *
50
+ * Copyright (c) 2023, Robert Eisele (robert@raw.org)
51
+ * Dual licensed under the MIT or GPL Version 2 licenses.
52
+ **/(function(i,t){(function(e){var r=2e3,n={s:1,n:0,d:1};function s(v,E){if(isNaN(v=parseInt(v,10)))throw m();return v*E}function a(v,E){if(E===0)throw w();var b=Object.create(g.prototype);b.s=v<0?-1:1,v=v<0?-v:v;var N=d(v,E);return b.n=v/N,b.d=E/N,b}function l(v){for(var E={},b=v,N=2,x=4;x<=b;){for(;b%N===0;)b/=N,E[N]=(E[N]||0)+1;x+=1+2*N++}return b!==v?b>1&&(E[b]=(E[b]||0)+1):E[v]=(E[v]||0)+1,E}var f=function(v,E){var b=0,N=1,x=1,F=0,M=0,S=0,I=1,C=1,O=0,L=1,U=1,k=1,W=1e7,P;if(v!=null)if(E!==void 0){if(b=v,N=E,x=b*N,b%1!==0||N%1!==0)throw D()}else switch(typeof v){case"object":{if("d"in v&&"n"in v)b=v.n,N=v.d,"s"in v&&(b*=v.s);else if(0 in v)b=v[0],1 in v&&(N=v[1]);else throw m();x=b*N;break}case"number":{if(v<0&&(x=v,v=-v),v%1===0)b=v;else if(v>0){for(v>=1&&(C=Math.pow(10,Math.floor(1+Math.log(v)/Math.LN10)),v/=C);L<=W&&k<=W;)if(P=(O+U)/(L+k),v===P){L+k<=W?(b=O+U,N=L+k):k>L?(b=U,N=k):(b=O,N=L);break}else v>P?(O+=U,L+=k):(U+=O,k+=L),L>W?(b=U,N=k):(b=O,N=L);b*=C}else(isNaN(v)||isNaN(E))&&(N=b=NaN);break}case"string":{if(L=v.match(/\d+|./g),L===null)throw m();if(L[O]==="-"?(x=-1,O++):L[O]==="+"&&O++,L.length===O+1?M=s(L[O++],x):L[O+1]==="."||L[O]==="."?(L[O]!=="."&&(F=s(L[O++],x)),O++,(O+1===L.length||L[O+1]==="("&&L[O+3]===")"||L[O+1]==="'"&&L[O+3]==="'")&&(M=s(L[O],x),I=Math.pow(10,L[O].length),O++),(L[O]==="("&&L[O+2]===")"||L[O]==="'"&&L[O+2]==="'")&&(S=s(L[O+1],x),C=Math.pow(10,L[O+1].length)-1,O+=3)):L[O+1]==="/"||L[O+1]===":"?(M=s(L[O],x),I=s(L[O+2],1),O+=3):L[O+3]==="/"&&L[O+1]===" "&&(F=s(L[O],x),M=s(L[O+2],x),I=s(L[O+4],1),O+=5),L.length<=O){N=I*C,x=b=S+N*F+C*M;break}}default:throw m()}if(N===0)throw w();n.s=x<0?-1:1,n.n=Math.abs(b),n.d=Math.abs(N)};function h(v,E,b){for(var N=1;E>0;v=v*v%b,E>>=1)E&1&&(N=N*v%b);return N}function p(v,E){for(;E%2===0;E/=2);for(;E%5===0;E/=5);if(E===1)return 0;for(var b=10%E,N=1;b!==1;N++)if(b=b*10%E,N>r)return 0;return N}function c(v,E,b){for(var N=1,x=h(10,b,E),F=0;F<300;F++){if(N===x)return F;N=N*10%E,x=x*10%E}return 0}function d(v,E){if(!v)return E;if(!E)return v;for(;;){if(v%=E,!v)return E;if(E%=v,!E)return v}}function g(v,E){if(f(v,E),this instanceof g)v=d(n.d,n.n),this.s=n.s,this.n=n.n/v,this.d=n.d/v;else return a(n.s*n.n,n.d)}var w=function(){return new Error("Division by Zero")},m=function(){return new Error("Invalid argument")},D=function(){return new Error("Parameters must be integer")};g.prototype={s:1,n:0,d:1,abs:function(){return a(this.n,this.d)},neg:function(){return a(-this.s*this.n,this.d)},add:function(v,E){return f(v,E),a(this.s*this.n*n.d+n.s*this.d*n.n,this.d*n.d)},sub:function(v,E){return f(v,E),a(this.s*this.n*n.d-n.s*this.d*n.n,this.d*n.d)},mul:function(v,E){return f(v,E),a(this.s*n.s*this.n*n.n,this.d*n.d)},div:function(v,E){return f(v,E),a(this.s*n.s*this.n*n.d,this.d*n.n)},clone:function(){return a(this.s*this.n,this.d)},mod:function(v,E){if(isNaN(this.n)||isNaN(this.d))return new g(NaN);if(v===void 0)return a(this.s*this.n%this.d,1);if(f(v,E),n.n===0&&this.d===0)throw w();return a(this.s*(n.d*this.n)%(n.n*this.d),n.d*this.d)},gcd:function(v,E){return f(v,E),a(d(n.n,this.n)*d(n.d,this.d),n.d*this.d)},lcm:function(v,E){return f(v,E),n.n===0&&this.n===0?a(0,1):a(n.n*this.n,d(n.n,this.n)*d(n.d,this.d))},ceil:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.ceil(v*this.s*this.n/this.d),v)},floor:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.floor(v*this.s*this.n/this.d),v)},round:function(v){return v=Math.pow(10,v||0),isNaN(this.n)||isNaN(this.d)?new g(NaN):a(Math.round(v*this.s*this.n/this.d),v)},inverse:function(){return a(this.s*this.d,this.n)},pow:function(v,E){if(f(v,E),n.d===1)return n.s<0?a(Math.pow(this.s*this.d,n.n),Math.pow(this.n,n.n)):a(Math.pow(this.s*this.n,n.n),Math.pow(this.d,n.n));if(this.s<0)return null;var b=l(this.n),N=l(this.d),x=1,F=1;for(var M in b)if(M!=="1"){if(M==="0"){x=0;break}if(b[M]*=n.n,b[M]%n.d===0)b[M]/=n.d;else return null;x*=Math.pow(M,b[M])}for(var M in N)if(M!=="1"){if(N[M]*=n.n,N[M]%n.d===0)N[M]/=n.d;else return null;F*=Math.pow(M,N[M])}return n.s<0?a(F,x):a(x,F)},equals:function(v,E){return f(v,E),this.s*this.n*n.d===n.s*n.n*this.d},compare:function(v,E){f(v,E);var b=this.s*this.n*n.d-n.s*n.n*this.d;return(0<b)-(b<0)},simplify:function(v){if(isNaN(this.n)||isNaN(this.d))return this;v=v||.001;for(var E=this.abs(),b=E.toContinued(),N=1;N<b.length;N++){for(var x=a(b[N-1],1),F=N-2;F>=0;F--)x=x.inverse().add(b[F]);if(Math.abs(x.sub(E).valueOf())<v)return x.mul(this.s)}return this},divisible:function(v,E){return f(v,E),!(!(n.n*this.d)||this.n*n.d%(n.n*this.d))},valueOf:function(){return this.s*this.n/this.d},toFraction:function(v){var E,b="",N=this.n,x=this.d;return this.s<0&&(b+="-"),x===1?b+=N:(v&&(E=Math.floor(N/x))>0&&(b+=E,b+=" ",N%=x),b+=N,b+="/",b+=x),b},toLatex:function(v){var E,b="",N=this.n,x=this.d;return this.s<0&&(b+="-"),x===1?b+=N:(v&&(E=Math.floor(N/x))>0&&(b+=E,N%=x),b+="\\frac{",b+=N,b+="}{",b+=x,b+="}"),b},toContinued:function(){var v,E=this.n,b=this.d,N=[];if(isNaN(E)||isNaN(b))return N;do N.push(Math.floor(E/b)),v=E%b,E=b,b=v;while(E!==1);return N},toString:function(v){var E=this.n,b=this.d;if(isNaN(E)||isNaN(b))return"NaN";v=v||15;var N=p(E,b),x=c(E,b,N),F=this.s<0?"-":"";if(F+=E/b|0,E%=b,E*=10,E&&(F+="."),N){for(var M=x;M--;)F+=E/b|0,E%=b,E*=10;F+="(";for(var M=N;M--;)F+=E/b|0,E%=b,E*=10;F+=")"}else for(var M=v;E&&M--;)F+=E/b|0,E%=b,E*=10;return F}},Object.defineProperty(g,"__esModule",{value:!0}),g.default=g,g.Fraction=g,i.exports=g})()})(xf);var K_=xf.exports,ln=Kt(K_),H_="Fraction",J_=[],X_=mt(H_,J_,()=>(Object.defineProperty(ln,"name",{value:"Fraction"}),ln.prototype.constructor=ln,ln.prototype.type="Fraction",ln.prototype.isFraction=!0,ln.prototype.toJSON=function(){return{mathjs:"Fraction",n:this.s*this.n,d:this.d}},ln.fromJSON=function(i){return new ln(i)},ln),{isClass:!0}),Q_="Matrix",tm=[],em=mt(Q_,tm,()=>{function i(){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator")}return i.prototype.type="Matrix",i.prototype.isMatrix=!0,i.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},i.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},i.prototype.create=function(t,e){throw new Error("Cannot invoke create on a Matrix interface")},i.prototype.subset=function(t,e,r){throw new Error("Cannot invoke subset on a Matrix interface")},i.prototype.get=function(t){throw new Error("Cannot invoke get on a Matrix interface")},i.prototype.set=function(t,e,r){throw new Error("Cannot invoke set on a Matrix interface")},i.prototype.resize=function(t,e){throw new Error("Cannot invoke resize on a Matrix interface")},i.prototype.reshape=function(t,e){throw new Error("Cannot invoke reshape on a Matrix interface")},i.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},i.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},i.prototype.map=function(t,e){throw new Error("Cannot invoke map on a Matrix interface")},i.prototype.forEach=function(t){throw new Error("Cannot invoke forEach on a Matrix interface")},i.prototype[Symbol.iterator]=function(){throw new Error("Cannot iterate a Matrix interface")},i.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},i.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},i.prototype.format=function(t){throw new Error("Cannot invoke format on a Matrix interface")},i.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},i},{isClass:!0});function Af(i){return Object.keys(i.signatures||{}).reduce(function(t,e){var r=(e.match(/,/g)||[]).length+1;return Math.max(t,r)},-1)}var rm="DenseMatrix",nm=["Matrix"],im=mt(rm,nm,i=>{var{Matrix:t}=i;function e(p,c){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator");if(c&&!Qr(c))throw new Error("Invalid datatype: "+c);if(me(p))p.type==="DenseMatrix"?(this._data=se(p._data),this._size=se(p._size),this._datatype=c||p._datatype):(this._data=p.toArray(),this._size=p.size(),this._datatype=c||p._datatype);else if(p&&be(p.data)&&be(p.size))this._data=p.data,this._size=p.size,Xl(this._data,this._size),this._datatype=c||p.datatype;else if(be(p))this._data=h(p),this._size=Be(this._data),Xl(this._data,this._size),this._datatype=c;else{if(p)throw new TypeError("Unsupported type of data ("+En(p)+")");this._data=[],this._size=[0],this._datatype=c}}e.prototype=new t,e.prototype.createDenseMatrix=function(p,c){return new e(p,c)},Object.defineProperty(e,"name",{value:"DenseMatrix"}),e.prototype.constructor=e,e.prototype.type="DenseMatrix",e.prototype.isDenseMatrix=!0,e.prototype.getDataType=function(){return Ms(this._data,En)},e.prototype.storage=function(){return"dense"},e.prototype.datatype=function(){return this._datatype},e.prototype.create=function(p,c){return new e(p,c)},e.prototype.subset=function(p,c,d){switch(arguments.length){case 1:return r(this,p);case 2:case 3:return s(this,p,c,d);default:throw new SyntaxError("Wrong number of arguments")}},e.prototype.get=function(p){if(!be(p))throw new TypeError("Array expected");if(p.length!==this._size.length)throw new Ht(p.length,this._size.length);for(var c=0;c<p.length;c++)Ee(p[c],this._size[c]);for(var d=this._data,g=0,w=p.length;g<w;g++){var m=p[g];Ee(m,d.length),d=d[m]}return d},e.prototype.set=function(p,c,d){if(!be(p))throw new TypeError("Array expected");if(p.length<this._size.length)throw new Ht(p.length,this._size.length,"<");var g,w,m,D=p.map(function(E){return E+1});f(this,D,d);var v=this._data;for(g=0,w=p.length-1;g<w;g++)m=p[g],Ee(m,v.length),v=v[m];return m=p[p.length-1],Ee(m,v.length),v[m]=c,this};function r(p,c){if(!ua(c))throw new TypeError("Invalid index");var d=c.isScalar();if(d)return p.get(c.min());var g=c.size();if(g.length!==p._size.length)throw new Ht(g.length,p._size.length);for(var w=c.min(),m=c.max(),D=0,v=p._size.length;D<v;D++)Ee(w[D],p._size[D]),Ee(m[D],p._size[D]);return new e(n(p._data,c,g.length,0),p._datatype)}function n(p,c,d,g){var w=g===d-1,m=c.dimension(g);return w?m.map(function(D){return Ee(D,p.length),p[D]}).valueOf():m.map(function(D){Ee(D,p.length);var v=p[D];return n(v,c,d,g+1)}).valueOf()}function s(p,c,d,g){if(!c||c.isIndex!==!0)throw new TypeError("Invalid index");var w=c.size(),m=c.isScalar(),D;if(me(d)?(D=d.size(),d=d.valueOf()):D=Be(d),m){if(D.length!==0)throw new TypeError("Scalar expected");p.set(c.min(),d,g)}else{if(!ci(D,w))try{D.length===0?d=sf([d],w):d=sf(d,w),D=Be(d)}catch{}if(w.length<p._size.length)throw new Ht(w.length,p._size.length,"<");if(D.length<w.length){for(var v=0,E=0;w[v]===1&&D[v]===1;)v++;for(;w[v]===1;)E++,v++;d=tf(d,w.length,E,D)}if(!ci(w,D))throw new Ht(w,D,">");var b=c.max().map(function(F){return F+1});f(p,b,g);var N=w.length,x=0;a(p._data,c,d,N,x)}return p}function a(p,c,d,g,w){var m=w===g-1,D=c.dimension(w);m?D.forEach(function(v,E){Ee(v),p[v]=d[E[0]]}):D.forEach(function(v,E){Ee(v),a(p[v],c,d[E[0]],g,w+1)})}e.prototype.resize=function(p,c,d){if(!Yi(p))throw new TypeError("Array or Matrix expected");var g=p.valueOf().map(m=>Array.isArray(m)&&m.length===1?m[0]:m),w=d?this.clone():this;return l(w,g,c)};function l(p,c,d){if(c.length===0){for(var g=p._data;be(g);)g=g[0];return g}return p._size=c.slice(0),p._data=pa(p._data,p._size,d),p}e.prototype.reshape=function(p,c){var d=c?this.clone():this;d._data=_a(d._data,p);var g=d._size.reduce((w,m)=>w*m);return d._size=ma(p,g),d};function f(p,c,d){for(var g=p._size.slice(0),w=!1;g.length<c.length;)g.push(0),w=!0;for(var m=0,D=c.length;m<D;m++)c[m]>g[m]&&(g[m]=c[m],w=!0);w&&l(p,g,d)}e.prototype.clone=function(){var p=new e({data:se(this._data),size:se(this._size),datatype:this._datatype});return p},e.prototype.size=function(){return this._size.slice(0)},e.prototype.map=function(p){var c=this,d=Af(p),g=function D(v,E){return be(v)?v.map(function(b,N){return D(b,E.concat(N))}):d===1?p(v):d===2?p(v,E):p(v,E,c)},w=g(this._data,[]),m=this._datatype!==void 0?Ms(w,En):void 0;return new e(w,m)},e.prototype.forEach=function(p){var c=this,d=function g(w,m){be(w)?w.forEach(function(D,v){g(D,m.concat(v))}):p(w,m,c)};d(this._data,[])},e.prototype[Symbol.iterator]=function*(){var p=function*c(d,g){if(be(d))for(var w=0;w<d.length;w++)yield*c(d[w],g.concat(w));else yield{value:d,index:g}};yield*p(this._data,[])},e.prototype.rows=function(){var p=[],c=this.size();if(c.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");var d=this._data;for(var g of d)p.push(new e([g],this._datatype));return p},e.prototype.columns=function(){var p=this,c=[],d=this.size();if(d.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");for(var g=this._data,w=function(v){var E=g.map(b=>[b[v]]);c.push(new e(E,p._datatype))},m=0;m<d[1];m++)w(m);return c},e.prototype.toArray=function(){return se(this._data)},e.prototype.valueOf=function(){return this._data},e.prototype.format=function(p){return le(this._data,p)},e.prototype.toString=function(){return le(this._data)},e.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},e.prototype.diagonal=function(p){if(p){if(Fe(p)&&(p=p.toNumber()),!he(p)||!we(p))throw new TypeError("The parameter k must be an integer number")}else p=0;for(var c=p>0?p:0,d=p<0?-p:0,g=this._size[0],w=this._size[1],m=Math.min(g-d,w-c),D=[],v=0;v<m;v++)D[v]=this._data[v+d][v+c];return new e({data:D,size:[m],datatype:this._datatype})},e.diagonal=function(p,c,d,g){if(!be(p))throw new TypeError("Array expected, size parameter");if(p.length!==2)throw new Error("Only two dimensions matrix are supported");if(p=p.map(function(M){if(Fe(M)&&(M=M.toNumber()),!he(M)||!we(M)||M<1)throw new Error("Size values must be positive integers");return M}),d){if(Fe(d)&&(d=d.toNumber()),!he(d)||!we(d))throw new TypeError("The parameter k must be an integer number")}else d=0;var w=d>0?d:0,m=d<0?-d:0,D=p[0],v=p[1],E=Math.min(D-m,v-w),b;if(be(c)){if(c.length!==E)throw new Error("Invalid value array length");b=function(S){return c[S]}}else if(me(c)){var N=c.size();if(N.length!==1||N[0]!==E)throw new Error("Invalid matrix length");b=function(S){return c.get([S])}}else b=function(){return c};g||(g=Fe(b(0))?b(0).mul(0):0);var x=[];if(p.length>0){x=pa(x,p,g);for(var F=0;F<E;F++)x[F+m][F+w]=b(F)}return new e({data:x,size:[D,v]})},e.fromJSON=function(p){return new e(p)},e.prototype.swapRows=function(p,c){if(!he(p)||!we(p)||!he(c)||!we(c))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return Ee(p,this._size[0]),Ee(c,this._size[0]),e._swapRows(p,c,this._data),this},e._swapRows=function(p,c,d){var g=d[p];d[p]=d[c],d[c]=g};function h(p){return me(p)?h(p.valueOf()):be(p)?p.map(h):p}return e},{isClass:!0});function sm(i){var t=i.length,e=i[0].length,r,n,s=[];for(n=0;n<e;n++){var a=[];for(r=0;r<t;r++)a.push(i[r][n]);s.push(a)}return s}function Ps(i){for(var t=0;t<i.length;t++)if(Yi(i[t]))return!0;return!1}function Gi(i,t){me(i)&&(i=i.valueOf());for(var e=0,r=i.length;e<r;e++){var n=i[e];Array.isArray(n)?Gi(n,t):t(n)}}function Vr(i,t,e){return i&&typeof i.map=="function"?i.map(function(r){return Vr(r,t)}):t(i)}function Ca(i,t,e){var r=Array.isArray(i)?Be(i):i.size();if(t<0||t>=r.length)throw new xn(t,r.length);return me(i)?i.create(zs(i.valueOf(),t,e)):zs(i,t,e)}function zs(i,t,e){var r,n,s,a;if(t<=0)if(Array.isArray(i[0])){for(a=sm(i),n=[],r=0;r<a.length;r++)n[r]=zs(a[r],t-1,e);return n}else{for(s=i[0],r=1;r<i.length;r++)s=e(s,i[r]);return s}else{for(n=[],r=0;r<i.length;r++)n[r]=zs(i[r],t-1,e);return n}}var Cf="isInteger",om=["typed"],am=mt(Cf,om,i=>{var{typed:t}=i;return t(Cf,{number:we,BigNumber:function(r){return r.isInt()},Fraction:function(r){return r.d===1&&isFinite(r.n)},"Array | Matrix":t.referToSelf(e=>r=>Vr(r,e))})}),Ff="number",qs="number, number";function Mf(i){return Math.abs(i)}Mf.signature=Ff;function Nf(i,t){return i+t}Nf.signature=qs;function Sf(i,t){return i-t}Sf.signature=qs;function Bf(i,t){return i*t}Bf.signature=qs;function Of(i){return-i}Of.signature=Ff;function Tf(i,t){return i*i<1&&t===1/0||i*i>1&&t===-1/0?0:Math.pow(i,t)}Tf.signature=qs;var If="number";function $f(i){return i===0}$f.signature=If;function Lf(i){return Number.isNaN(i)}Lf.signature=If;var Rf="isNumeric",um=["typed"],lm=mt(Rf,um,i=>{var{typed:t}=i;return t(Rf,{"number | BigNumber | Fraction | boolean":()=>!0,"Complex | Unit | string | null | undefined | Node":()=>!1,"Array | Matrix":t.referToSelf(e=>r=>Vr(r,e))})}),Pf="isZero",fm=["typed"],cm=mt(Pf,fm,i=>{var{typed:t}=i;return t(Pf,{number:$f,BigNumber:function(r){return r.isZero()},Complex:function(r){return r.re===0&&r.im===0},Fraction:function(r){return r.d===1&&r.n===0},Unit:t.referToSelf(e=>r=>t.find(e,r.valueType())(r.value)),"Array | Matrix":t.referToSelf(e=>r=>Vr(r,e))})}),zf="isNaN",hm=["typed"],pm=mt(zf,hm,i=>{var{typed:t}=i;return t(zf,{number:Lf,BigNumber:function(r){return r.isNaN()},Fraction:function(r){return!1},Complex:function(r){return r.isNaN()},Unit:function(r){return Number.isNaN(r.value)},"Array | Matrix":function(r){return Vr(r,Number.isNaN)}})});function ks(i,t,e){if(e==null)return i.eq(t);if(i.eq(t))return!0;if(i.isNaN()||t.isNaN())return!1;if(i.isFinite()&&t.isFinite()){var r=i.minus(t).abs();if(r.isZero())return!0;var n=i.constructor.max(i.abs(),t.abs());return r.lte(n.times(e))}return!1}function dm(i,t,e){return Gn(i.re,t.re,e)&&Gn(i.im,t.im,e)}var Us=mt("compareUnits",["typed"],i=>{var{typed:t}=i;return{"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(!r.equalBase(n))throw new Error("Cannot compare units with different base");return t.find(e,[r.valueType(),n.valueType()])(r.value,n.value)})}}),Ws="equalScalar",_m=["typed","config"],mm=mt(Ws,_m,i=>{var{typed:t,config:e}=i,r=Us({typed:t});return t(Ws,{"boolean, boolean":function(s,a){return s===a},"number, number":function(s,a){return Gn(s,a,e.epsilon)},"BigNumber, BigNumber":function(s,a){return s.eq(a)||ks(s,a,e.epsilon)},"Fraction, Fraction":function(s,a){return s.equals(a)},"Complex, Complex":function(s,a){return dm(s,a,e.epsilon)}},r)});mt(Ws,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Ws,{"number, number":function(n,s){return Gn(n,s,e.epsilon)}})});var gm="SparseMatrix",vm=["typed","equalScalar","Matrix"],wm=mt(gm,vm,i=>{var{typed:t,equalScalar:e,Matrix:r}=i;function n(m,D){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(D&&!Qr(D))throw new Error("Invalid datatype: "+D);if(me(m))s(this,m,D);else if(m&&be(m.index)&&be(m.ptr)&&be(m.size))this._values=m.values,this._index=m.index,this._ptr=m.ptr,this._size=m.size,this._datatype=D||m.datatype;else if(be(m))a(this,m,D);else{if(m)throw new TypeError("Unsupported type of data ("+En(m)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=D}}function s(m,D,v){D.type==="SparseMatrix"?(m._values=D._values?se(D._values):void 0,m._index=se(D._index),m._ptr=se(D._ptr),m._size=se(D._size),m._datatype=v||D._datatype):a(m,D.valueOf(),v||D._datatype)}function a(m,D,v){m._values=[],m._index=[],m._ptr=[],m._datatype=v;var E=D.length,b=0,N=e,x=0;if(Qr(v)&&(N=t.find(e,[v,v])||e,x=t.convert(0,v)),E>0){var F=0;do{m._ptr.push(m._index.length);for(var M=0;M<E;M++){var S=D[M];if(be(S)){if(F===0&&b<S.length&&(b=S.length),F<S.length){var I=S[F];N(I,x)||(m._values.push(I),m._index.push(M))}}else F===0&&b<1&&(b=1),N(S,x)||(m._values.push(S),m._index.push(M))}F++}while(F<b)}m._ptr.push(m._index.length),m._size=[E,b]}n.prototype=new r,n.prototype.createSparseMatrix=function(m,D){return new n(m,D)},Object.defineProperty(n,"name",{value:"SparseMatrix"}),n.prototype.constructor=n,n.prototype.type="SparseMatrix",n.prototype.isSparseMatrix=!0,n.prototype.getDataType=function(){return Ms(this._values,En)},n.prototype.storage=function(){return"sparse"},n.prototype.datatype=function(){return this._datatype},n.prototype.create=function(m,D){return new n(m,D)},n.prototype.density=function(){var m=this._size[0],D=this._size[1];return m!==0&&D!==0?this._index.length/(m*D):0},n.prototype.subset=function(m,D,v){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return l(this,m);case 2:case 3:return f(this,m,D,v);default:throw new SyntaxError("Wrong number of arguments")}};function l(m,D){if(!ua(D))throw new TypeError("Invalid index");var v=D.isScalar();if(v)return m.get(D.min());var E=D.size();if(E.length!==m._size.length)throw new Ht(E.length,m._size.length);var b,N,x,F,M=D.min(),S=D.max();for(b=0,N=m._size.length;b<N;b++)Ee(M[b],m._size[b]),Ee(S[b],m._size[b]);var I=m._values,C=m._index,O=m._ptr,L=D.dimension(0),U=D.dimension(1),k=[],W=[];L.forEach(function(X,tt){W[X]=tt[0],k[X]=!0});var P=I?[]:void 0,G=[],Z=[];return U.forEach(function(X){for(Z.push(G.length),x=O[X],F=O[X+1];x<F;x++)b=C[x],k[b]===!0&&(G.push(W[b]),P&&P.push(I[x]))}),Z.push(G.length),new n({values:P,index:G,ptr:Z,size:E,datatype:m._datatype})}function f(m,D,v,E){if(!D||D.isIndex!==!0)throw new TypeError("Invalid index");var b=D.size(),N=D.isScalar(),x;if(me(v)?(x=v.size(),v=v.toArray()):x=Be(v),N){if(x.length!==0)throw new TypeError("Scalar expected");m.set(D.min(),v,E)}else{if(b.length!==1&&b.length!==2)throw new Ht(b.length,m._size.length,"<");if(x.length<b.length){for(var F=0,M=0;b[F]===1&&x[F]===1;)F++;for(;b[F]===1;)M++,F++;v=tf(v,b.length,M,x)}if(!ci(b,x))throw new Ht(b,x,">");if(b.length===1){var S=D.dimension(0);S.forEach(function(O,L){Ee(O),m.set([O,0],v[L[0]],E)})}else{var I=D.dimension(0),C=D.dimension(1);I.forEach(function(O,L){Ee(O),C.forEach(function(U,k){Ee(U),m.set([O,U],v[L[0]][k[0]],E)})})}}return m}n.prototype.get=function(m){if(!be(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Ht(m.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var D=m[0],v=m[1];Ee(D,this._size[0]),Ee(v,this._size[1]);var E=h(D,this._ptr[v],this._ptr[v+1],this._index);return E<this._ptr[v+1]&&this._index[E]===D?this._values[E]:0},n.prototype.set=function(m,D,v){if(!be(m))throw new TypeError("Array expected");if(m.length!==this._size.length)throw new Ht(m.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var E=m[0],b=m[1],N=this._size[0],x=this._size[1],F=e,M=0;Qr(this._datatype)&&(F=t.find(e,[this._datatype,this._datatype])||e,M=t.convert(0,this._datatype)),(E>N-1||b>x-1)&&(d(this,Math.max(E+1,N),Math.max(b+1,x),v),N=this._size[0],x=this._size[1]),Ee(E,N),Ee(b,x);var S=h(E,this._ptr[b],this._ptr[b+1],this._index);return S<this._ptr[b+1]&&this._index[S]===E?F(D,M)?p(S,b,this._values,this._index,this._ptr):this._values[S]=D:F(D,M)||c(S,E,b,D,this._values,this._index,this._ptr),this};function h(m,D,v,E){if(v-D===0)return v;for(var b=D;b<v;b++)if(E[b]===m)return b;return D}function p(m,D,v,E,b){v.splice(m,1),E.splice(m,1);for(var N=D+1;N<b.length;N++)b[N]--}function c(m,D,v,E,b,N,x){b.splice(m,0,E),N.splice(m,0,D);for(var F=v+1;F<x.length;F++)x[F]++}n.prototype.resize=function(m,D,v){if(!Yi(m))throw new TypeError("Array or Matrix expected");var E=m.valueOf().map(N=>Array.isArray(N)&&N.length===1?N[0]:N);if(E.length!==2)throw new Error("Only two dimensions matrix are supported");E.forEach(function(N){if(!he(N)||!we(N)||N<0)throw new TypeError("Invalid size, must contain positive integers (size: "+le(E)+")")});var b=v?this.clone():this;return d(b,E[0],E[1],D)};function d(m,D,v,E){var b=E||0,N=e,x=0;Qr(m._datatype)&&(N=t.find(e,[m._datatype,m._datatype])||e,x=t.convert(0,m._datatype),b=t.convert(b,m._datatype));var F=!N(b,x),M=m._size[0],S=m._size[1],I,C,O;if(v>S){for(C=S;C<v;C++)if(m._ptr[C]=m._values.length,F)for(I=0;I<M;I++)m._values.push(b),m._index.push(I);m._ptr[v]=m._values.length}else v<S&&(m._ptr.splice(v+1,S-v),m._values.splice(m._ptr[v],m._values.length),m._index.splice(m._ptr[v],m._index.length));if(S=v,D>M){if(F){var L=0;for(C=0;C<S;C++){m._ptr[C]=m._ptr[C]+L,O=m._ptr[C+1]+L;var U=0;for(I=M;I<D;I++,U++)m._values.splice(O+U,0,b),m._index.splice(O+U,0,I),L++}m._ptr[S]=m._values.length}}else if(D<M){var k=0;for(C=0;C<S;C++){m._ptr[C]=m._ptr[C]-k;var W=m._ptr[C],P=m._ptr[C+1]-k;for(O=W;O<P;O++)I=m._index[O],I>D-1&&(m._values.splice(O,1),m._index.splice(O,1),k++)}m._ptr[C]=m._values.length}return m._size[0]=D,m._size[1]=v,m}n.prototype.reshape=function(m,D){if(!be(m))throw new TypeError("Array expected");if(m.length!==2)throw new Error("Sparse matrices can only be reshaped in two dimensions");m.forEach(function(X){if(!he(X)||!we(X)||X<=-2||X===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+le(m)+")")});var v=this._size[0]*this._size[1];m=ma(m,v);var E=m[0]*m[1];if(v!==E)throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var b=D?this.clone():this;if(this._size[0]===m[0]&&this._size[1]===m[1])return b;for(var N=[],x=0;x<b._ptr.length;x++)for(var F=0;F<b._ptr[x+1]-b._ptr[x];F++)N.push(x);for(var M=b._values.slice(),S=b._index.slice(),I=0;I<b._index.length;I++){var C=S[I],O=N[I],L=C*b._size[1]+O;N[I]=L%m[1],S[I]=Math.floor(L/m[1])}b._values.length=0,b._index.length=0,b._ptr.length=m[1]+1,b._size=m.slice();for(var U=0;U<b._ptr.length;U++)b._ptr[U]=0;for(var k=0;k<M.length;k++){var W=S[k],P=N[k],G=M[k],Z=h(W,b._ptr[P],b._ptr[P+1],b._index);c(Z,W,P,G,b._values,b._index,b._ptr)}return b},n.prototype.clone=function(){var m=new n({values:this._values?se(this._values):void 0,index:se(this._index),ptr:se(this._ptr),size:se(this._size),datatype:this._datatype});return m},n.prototype.size=function(){return this._size.slice(0)},n.prototype.map=function(m,D){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var v=this,E=this._size[0],b=this._size[1],N=Af(m),x=function(M,S,I){return N===1?m(M):N===2?m(M,[S,I]):m(M,[S,I],v)};return g(this,0,E-1,0,b-1,x,D)};function g(m,D,v,E,b,N,x){var F=[],M=[],S=[],I=e,C=0;Qr(m._datatype)&&(I=t.find(e,[m._datatype,m._datatype])||e,C=t.convert(0,m._datatype));for(var O=function(lt,yt,bt){lt=N(lt,yt,bt),I(lt,C)||(F.push(lt),M.push(yt))},L=E;L<=b;L++){S.push(F.length);var U=m._ptr[L],k=m._ptr[L+1];if(x)for(var W=U;W<k;W++){var P=m._index[W];P>=D&&P<=v&&O(m._values[W],P-D,L-E)}else{for(var G={},Z=U;Z<k;Z++){var X=m._index[Z];G[X]=m._values[Z]}for(var tt=D;tt<=v;tt++){var ft=tt in G?G[tt]:0;O(ft,tt-D,L-E)}}}return S.push(F.length),new n({values:F,index:M,ptr:S,size:[v-D+1,b-E+1]})}n.prototype.forEach=function(m,D){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var v=this,E=this._size[0],b=this._size[1],N=0;N<b;N++){var x=this._ptr[N],F=this._ptr[N+1];if(D)for(var M=x;M<F;M++){var S=this._index[M];m(this._values[M],[S,N],v)}else{for(var I={},C=x;C<F;C++){var O=this._index[C];I[O]=this._values[C]}for(var L=0;L<E;L++){var U=L in I?I[L]:0;m(U,[L,N],v)}}}},n.prototype[Symbol.iterator]=function*(){if(!this._values)throw new Error("Cannot iterate a Pattern only matrix");for(var m=this._size[1],D=0;D<m;D++)for(var v=this._ptr[D],E=this._ptr[D+1],b=v;b<E;b++){var N=this._index[b];yield{value:this._values[b],index:[N,D]}}},n.prototype.toArray=function(){return w(this._values,this._index,this._ptr,this._size,!0)},n.prototype.valueOf=function(){return w(this._values,this._index,this._ptr,this._size,!1)};function w(m,D,v,E,b){var N=E[0],x=E[1],F=[],M,S;for(M=0;M<N;M++)for(F[M]=[],S=0;S<x;S++)F[M][S]=0;for(S=0;S<x;S++)for(var I=v[S],C=v[S+1],O=I;O<C;O++)M=D[O],F[M][S]=m?b?se(m[O]):m[O]:1;return F}return n.prototype.format=function(m){for(var D=this._size[0],v=this._size[1],E=this.density(),b="Sparse Matrix ["+le(D,m)+" x "+le(v,m)+"] density: "+le(E,m)+`
53
+ `,N=0;N<v;N++)for(var x=this._ptr[N],F=this._ptr[N+1],M=x;M<F;M++){var S=this._index[M];b+=`
54
+ (`+le(S,m)+", "+le(N,m)+") ==> "+(this._values?le(this._values[M],m):"X")}return b},n.prototype.toString=function(){return le(this.toArray())},n.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},n.prototype.diagonal=function(m){if(m){if(Fe(m)&&(m=m.toNumber()),!he(m)||!we(m))throw new TypeError("The parameter k must be an integer number")}else m=0;var D=m>0?m:0,v=m<0?-m:0,E=this._size[0],b=this._size[1],N=Math.min(E-v,b-D),x=[],F=[],M=[];M[0]=0;for(var S=D;S<b&&x.length<N;S++)for(var I=this._ptr[S],C=this._ptr[S+1],O=I;O<C;O++){var L=this._index[O];if(L===S-D+v){x.push(this._values[O]),F[x.length-1]=L-v;break}}return M.push(x.length),new n({values:x,index:F,ptr:M,size:[N,1]})},n.fromJSON=function(m){return new n(m)},n.diagonal=function(m,D,v,E,b){if(!be(m))throw new TypeError("Array expected, size parameter");if(m.length!==2)throw new Error("Only two dimensions matrix are supported");if(m=m.map(function(X){if(Fe(X)&&(X=X.toNumber()),!he(X)||!we(X)||X<1)throw new Error("Size values must be positive integers");return X}),v){if(Fe(v)&&(v=v.toNumber()),!he(v)||!we(v))throw new TypeError("The parameter k must be an integer number")}else v=0;var N=e,x=0;Qr(b)&&(N=t.find(e,[b,b])||e,x=t.convert(0,b));var F=v>0?v:0,M=v<0?-v:0,S=m[0],I=m[1],C=Math.min(S-M,I-F),O;if(be(D)){if(D.length!==C)throw new Error("Invalid value array length");O=function(tt){return D[tt]}}else if(me(D)){var L=D.size();if(L.length!==1||L[0]!==C)throw new Error("Invalid matrix length");O=function(tt){return D.get([tt])}}else O=function(){return D};for(var U=[],k=[],W=[],P=0;P<I;P++){W.push(U.length);var G=P-F;if(G>=0&&G<C){var Z=O(G);N(Z,x)||(k.push(G+M),U.push(Z))}}return W.push(U.length),new n({values:U,index:k,ptr:W,size:[S,I]})},n.prototype.swapRows=function(m,D){if(!he(m)||!we(m)||!he(D)||!we(D))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return Ee(m,this._size[0]),Ee(D,this._size[0]),n._swapRows(m,D,this._size[1],this._values,this._index,this._ptr),this},n._forEachRow=function(m,D,v,E,b){for(var N=E[m],x=E[m+1],F=N;F<x;F++)b(v[F],D[F])},n._swapRows=function(m,D,v,E,b,N){for(var x=0;x<v;x++){var F=N[x],M=N[x+1],S=h(m,F,M,b),I=h(D,F,M,b);if(S<M&&I<M&&b[S]===m&&b[I]===D){if(E){var C=E[S];E[S]=E[I],E[I]=C}continue}if(S<M&&b[S]===m&&(I>=M||b[I]!==D)){var O=E?E[S]:void 0;b.splice(I,0,D),E&&E.splice(I,0,O),b.splice(I<=S?S+1:S,1),E&&E.splice(I<=S?S+1:S,1);continue}if(I<M&&b[I]===D&&(S>=M||b[S]!==m)){var L=E?E[I]:void 0;b.splice(S,0,m),E&&E.splice(S,0,L),b.splice(S<=I?I+1:I,1),E&&E.splice(S<=I?I+1:I,1)}}},n},{isClass:!0}),ym="number",Dm=["typed"];function bm(i){var t=i.match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/);if(t){var e={"0b":2,"0o":8,"0x":16}[t[1]],r=t[2],n=t[3];return{input:i,radix:e,integerPart:r,fractionalPart:n}}else return null}function Em(i){for(var t=parseInt(i.integerPart,i.radix),e=0,r=0;r<i.fractionalPart.length;r++){var n=parseInt(i.fractionalPart[r],i.radix);e+=n/Math.pow(i.radix,r+1)}var s=t+e;if(isNaN(s))throw new SyntaxError('String "'+i.input+'" is not a valid number');return s}var xm=mt(ym,Dm,i=>{var{typed:t}=i,e=t("number",{"":function(){return 0},number:function(n){return n},string:function(n){if(n==="NaN")return NaN;var s=bm(n);if(s)return Em(s);var a=0,l=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);l&&(a=Number(l[2]),n=l[1]);var f=Number(n);if(isNaN(f))throw new SyntaxError('String "'+n+'" is not a valid number');if(l){if(f>2**a-1)throw new SyntaxError('String "'.concat(n,'" is out of range'));f>=2**(a-1)&&(f=f-2**a)}return f},BigNumber:function(n){return n.toNumber()},Fraction:function(n){return n.valueOf()},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),null:function(n){return 0},"Unit, string | Unit":function(n,s){return n.toNumber(s)},"Array | Matrix":t.referToSelf(r=>n=>Vr(n,r))});return e.fromJSON=function(r){return parseFloat(r.value)},e}),Am="bignumber",Cm=["typed","BigNumber"],Fm=mt(Am,Cm,i=>{var{typed:t,BigNumber:e}=i;return t("bignumber",{"":function(){return new e(0)},number:function(n){return new e(n+"")},string:function(n){var s=n.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(s){var a=s[2],l=e(s[1]),f=new e(2).pow(Number(a));if(l.gt(f.sub(1)))throw new SyntaxError('String "'.concat(n,'" is out of range'));var h=new e(2).pow(Number(a)-1);return l.gte(h)?l.sub(f):l}return new e(n)},BigNumber:function(n){return n},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),Fraction:function(n){return new e(n.n).div(n.d).times(n.s)},null:function(n){return new e(0)},"Array | Matrix":t.referToSelf(r=>n=>Vr(n,r))})}),Mm="fraction",Nm=["typed","Fraction"],Sm=mt(Mm,Nm,i=>{var{typed:t,Fraction:e}=i;return t("fraction",{number:function(n){if(!isFinite(n)||isNaN(n))throw new Error(n+" cannot be represented as a fraction");return new e(n)},string:function(n){return new e(n)},"number, number":function(n,s){return new e(n,s)},null:function(n){return new e(0)},BigNumber:function(n){return new e(n.toString())},Fraction:function(n){return n},Unit:t.referToSelf(r=>n=>{var s=n.clone();return s.value=r(n.value),s}),Object:function(n){return new e(n)},"Array | Matrix":t.referToSelf(r=>n=>Vr(n,r))})}),qf="matrix",Bm=["typed","Matrix","DenseMatrix","SparseMatrix"],Om=mt(qf,Bm,i=>{var{typed:t,Matrix:e,DenseMatrix:r,SparseMatrix:n}=i;return t(qf,{"":function(){return s([])},string:function(l){return s([],l)},"string, string":function(l,f){return s([],l,f)},Array:function(l){return s(l)},Matrix:function(l){return s(l,l.storage())},"Array | Matrix, string":s,"Array | Matrix, string, string":s});function s(a,l,f){if(l==="dense"||l==="default"||l===void 0)return new r(a,f);if(l==="sparse")return new n(a,f);throw new TypeError("Unknown matrix type "+JSON.stringify(l)+".")}}),kf="unaryMinus",Tm=["typed"],Im=mt(kf,Tm,i=>{var{typed:t}=i;return t(kf,{number:Of,"Complex | BigNumber | Fraction":e=>e.neg(),Unit:t.referToSelf(e=>r=>{var n=r.clone();return n.value=t.find(e,n.valueType())(r.value),n}),"Array | Matrix":t.referToSelf(e=>r=>Vr(r,e))})}),Uf="abs",$m=["typed"],Lm=mt(Uf,$m,i=>{var{typed:t}=i;return t(Uf,{number:Mf,"Complex | BigNumber | Fraction | Unit":e=>e.abs(),"Array | Matrix":t.referToSelf(e=>r=>Vr(r,e))})}),Wf="addScalar",Rm=["typed"],Pm=mt(Wf,Rm,i=>{var{typed:t}=i;return t(Wf,{"number, number":Nf,"Complex, Complex":function(r,n){return r.add(n)},"BigNumber, BigNumber":function(r,n){return r.plus(n)},"Fraction, Fraction":function(r,n){return r.add(n)},"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(r.value===null||r.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!r.equalBase(n))throw new Error("Units do not match");var s=r.clone();return s.value=t.find(e,[s.valueType(),n.valueType()])(s.value,n.value),s.fixPrefix=!1,s})})}),jf="subtractScalar",zm=["typed"],qm=mt(jf,zm,i=>{var{typed:t}=i;return t(jf,{"number, number":Sf,"Complex, Complex":function(r,n){return r.sub(n)},"BigNumber, BigNumber":function(r,n){return r.minus(n)},"Fraction, Fraction":function(r,n){return r.sub(n)},"Unit, Unit":t.referToSelf(e=>(r,n)=>{if(r.value===null||r.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(n.value===null||n.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!r.equalBase(n))throw new Error("Units do not match");var s=r.clone();return s.value=t.find(e,[s.valueType(),n.valueType()])(s.value,n.value),s.fixPrefix=!1,s})})}),km="matAlgo11xS0s",Um=["typed","equalScalar"],Fa=mt(km,Um,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var f=n._values,h=n._index,p=n._ptr,c=n._size,d=n._datatype;if(!f)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=c[0],w=c[1],m,D=e,v=0,E=a;typeof d=="string"&&(m=d,D=t.find(e,[m,m]),v=t.convert(0,m),s=t.convert(s,m),E=t.find(a,[m,m]));for(var b=[],N=[],x=[],F=0;F<w;F++){x[F]=N.length;for(var M=p[F],S=p[F+1],I=M;I<S;I++){var C=h[I],O=l?E(s,f[I]):E(f[I],s);D(O,v)||(N.push(C),b.push(O))}}return x[w]=N.length,n.createSparseMatrix({values:b,index:N,ptr:x,size:[g,w],datatype:m})}}),Wm="matAlgo12xSfs",jm=["typed","DenseMatrix"],gi=mt(Wm,jm,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var f=n._values,h=n._index,p=n._ptr,c=n._size,d=n._datatype;if(!f)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=c[0],w=c[1],m,D=a;typeof d=="string"&&(m=d,s=t.convert(s,m),D=t.find(a,[m,m]));for(var v=[],E=[],b=[],N=0;N<w;N++){for(var x=N+1,F=p[N],M=p[N+1],S=F;S<M;S++){var I=h[S];E[I]=f[S],b[I]=x}for(var C=0;C<g;C++)N===0&&(v[C]=[]),b[C]===x?v[C][N]=l?D(s,E[C]):D(E[C],s):v[C][N]=l?D(s,0):D(0,s)}return new e({data:v,size:[g,w],datatype:m})}}),Ym="matAlgo14xDs",Vm=["typed"],Ma=mt(Ym,Vm,i=>{var{typed:t}=i;return function(n,s,a,l){var f=n._data,h=n._size,p=n._datatype,c,d=a;typeof p=="string"&&(c=p,s=t.convert(s,c),d=t.find(a,[c,c]));var g=h.length>0?e(d,0,h,h[0],f,s,l):[];return n.createDenseMatrix({data:g,size:se(h),datatype:c})};function e(r,n,s,a,l,f,h){var p=[];if(n===s.length-1)for(var c=0;c<a;c++)p[c]=h?r(f,l[c]):r(l[c],f);else for(var d=0;d<a;d++)p[d]=e(r,n+1,s,s[n+1],l[d],f,h);return p}}),Zm="matAlgo02xDS0",Gm=["typed","equalScalar"],Km=mt(Zm,Gm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a,l){var f=n._data,h=n._size,p=n._datatype||n.getDataType(),c=s._values,d=s._index,g=s._ptr,w=s._size,m=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(h.length!==w.length)throw new Ht(h.length,w.length);if(h[0]!==w[0]||h[1]!==w[1])throw new RangeError("Dimension mismatch. Matrix A ("+h+") must match Matrix B ("+w+")");if(!c)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var D=h[0],v=h[1],E,b=e,N=0,x=a;typeof p=="string"&&p===m&&p!=="mixed"&&(E=p,b=t.find(e,[E,E]),N=t.convert(0,E),x=t.find(a,[E,E]));for(var F=[],M=[],S=[],I=0;I<v;I++){S[I]=M.length;for(var C=g[I],O=g[I+1],L=C;L<O;L++){var U=d[L],k=l?x(c[L],f[U][I]):x(f[U][I],c[L]);b(k,N)||(M.push(U),F.push(k))}}return S[v]=M.length,s.createSparseMatrix({values:F,index:M,ptr:S,size:[D,v],datatype:p===n._datatype&&m===s._datatype?E:void 0})}}),Hm="matAlgo03xDSf",Jm=["typed"],vi=mt(Hm,Jm,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,f=r._size,h=r._datatype||r.getDataType(),p=n._values,c=n._index,d=n._ptr,g=n._size,w=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(f.length!==g.length)throw new Ht(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+f+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=f[0],D=f[1],v,E=0,b=s;typeof h=="string"&&h===w&&h!=="mixed"&&(v=h,E=t.convert(0,v),b=t.find(s,[v,v]));for(var N=[],x=0;x<m;x++)N[x]=[];for(var F=[],M=[],S=0;S<D;S++){for(var I=S+1,C=d[S],O=d[S+1],L=C;L<O;L++){var U=c[L];F[U]=a?b(p[L],l[U][S]):b(l[U][S],p[L]),M[U]=I}for(var k=0;k<m;k++)M[k]===I?N[k][S]=F[k]:N[k][S]=a?b(E,l[k][S]):b(l[k][S],E)}return r.createDenseMatrix({data:N,size:[m,D],datatype:h===r._datatype&&w===n._datatype?v:void 0})}}),Xm="matAlgo05xSfSf",Qm=["typed","equalScalar"],Yf=mt(Xm,Qm,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,f=n._index,h=n._ptr,p=n._size,c=n._datatype||n._data===void 0?n._datatype:n.getDataType(),d=s._values,g=s._index,w=s._ptr,m=s._size,D=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(p.length!==m.length)throw new Ht(p.length,m.length);if(p[0]!==m[0]||p[1]!==m[1])throw new RangeError("Dimension mismatch. Matrix A ("+p+") must match Matrix B ("+m+")");var v=p[0],E=p[1],b,N=e,x=0,F=a;typeof c=="string"&&c===D&&c!=="mixed"&&(b=c,N=t.find(e,[b,b]),x=t.convert(0,b),F=t.find(a,[b,b]));var M=l&&d?[]:void 0,S=[],I=[],C=M?[]:void 0,O=M?[]:void 0,L=[],U=[],k,W,P,G;for(W=0;W<E;W++){I[W]=S.length;var Z=W+1;for(P=h[W],G=h[W+1];P<G;P++)k=f[P],S.push(k),L[k]=Z,C&&(C[k]=l[P]);for(P=w[W],G=w[W+1];P<G;P++)k=g[P],L[k]!==Z&&S.push(k),U[k]=Z,O&&(O[k]=d[P]);if(M)for(P=I[W];P<S.length;){k=S[P];var X=L[k],tt=U[k];if(X===Z||tt===Z){var ft=X===Z?C[k]:x,vt=tt===Z?O[k]:x,lt=F(ft,vt);N(lt,x)?S.splice(P,1):(M.push(lt),P++)}}}return I[E]=S.length,n.createSparseMatrix({values:M,index:S,ptr:I,size:[v,E],datatype:c===n._datatype&&D===s._datatype?b:void 0})}}),tg="matAlgo13xDD",eg=["typed"],rg=mt(tg,eg,i=>{var{typed:t}=i;return function(n,s,a){var l=n._data,f=n._size,h=n._datatype,p=s._data,c=s._size,d=s._datatype,g=[];if(f.length!==c.length)throw new Ht(f.length,c.length);for(var w=0;w<f.length;w++){if(f[w]!==c[w])throw new RangeError("Dimension mismatch. Matrix A ("+f+") must match Matrix B ("+c+")");g[w]=f[w]}var m,D=a;typeof h=="string"&&h===d&&(m=h,D=t.find(a,[m,m]));var v=g.length>0?e(D,0,g,g[0],l,p):[];return n.createDenseMatrix({data:v,size:g,datatype:m})};function e(r,n,s,a,l,f){var h=[];if(n===s.length-1)for(var p=0;p<a;p++)h[p]=r(l[p],f[p]);else for(var c=0;c<a;c++)h[c]=e(r,n+1,s,s[n+1],l[c],f[c]);return h}}),ng="broadcast",ig=["concat"],sg=mt(ng,ig,i=>{var{concat:t}=i;return function(n,s){var a=Math.max(n._size.length,s._size.length);if(n._size.length===s._size.length&&n._size.every((w,m)=>w===s._size[m]))return[n,s];for(var l=e(n._size,a,0),f=e(s._size,a,0),h=[],p=0;p<a;p++)h[p]=Math.max(l[p],f[p]);Ns(l,h),Ns(f,h);var c=n.clone(),d=s.clone();c._size.length<a?c.reshape(e(c._size,a,1)):d._size.length<a&&d.reshape(e(d._size,a,1));for(var g=0;g<a;g++)c._size[g]<h[g]&&(c=r(c,h[g],g)),d._size[g]<h[g]&&(d=r(d,h[g],g));return[c,d]};function e(n,s,a){return[...Array(s-n.length).fill(a),...n]}function r(n,s,a){return t(...Array(s).fill(n),a)}}),og="matrixAlgorithmSuite",ag=["typed","matrix","concat"],Kn=mt(og,ag,i=>{var{typed:t,matrix:e,concat:r}=i,n=rg({typed:t}),s=Ma({typed:t}),a=sg({concat:r});return function(f){var h=f.elop,p=f.SD||f.DS,c;h?(c={"DenseMatrix, DenseMatrix":(m,D)=>n(...a(m,D),h),"Array, Array":(m,D)=>n(...a(e(m),e(D)),h).valueOf(),"Array, DenseMatrix":(m,D)=>n(...a(e(m),D),h),"DenseMatrix, Array":(m,D)=>n(...a(m,e(D)),h)},f.SS&&(c["SparseMatrix, SparseMatrix"]=(m,D)=>f.SS(...a(m,D),h,!1)),f.DS&&(c["DenseMatrix, SparseMatrix"]=(m,D)=>f.DS(...a(m,D),h,!1),c["Array, SparseMatrix"]=(m,D)=>f.DS(...a(e(m),D),h,!1)),p&&(c["SparseMatrix, DenseMatrix"]=(m,D)=>p(...a(D,m),h,!0),c["SparseMatrix, Array"]=(m,D)=>p(...a(e(D),m),h,!0))):(c={"DenseMatrix, DenseMatrix":t.referToSelf(m=>(D,v)=>n(...a(D,v),m)),"Array, Array":t.referToSelf(m=>(D,v)=>n(...a(e(D),e(v)),m).valueOf()),"Array, DenseMatrix":t.referToSelf(m=>(D,v)=>n(...a(e(D),v),m)),"DenseMatrix, Array":t.referToSelf(m=>(D,v)=>n(...a(D,e(v)),m))},f.SS&&(c["SparseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>f.SS(...a(D,v),m,!1))),f.DS&&(c["DenseMatrix, SparseMatrix"]=t.referToSelf(m=>(D,v)=>f.DS(...a(D,v),m,!1)),c["Array, SparseMatrix"]=t.referToSelf(m=>(D,v)=>f.DS(...a(e(D),v),m,!1))),p&&(c["SparseMatrix, DenseMatrix"]=t.referToSelf(m=>(D,v)=>p(...a(v,D),m,!0)),c["SparseMatrix, Array"]=t.referToSelf(m=>(D,v)=>p(...a(e(v),D),m,!0))));var d=f.scalar||"any",g=f.Ds||f.Ss;g&&(h?(c["DenseMatrix,"+d]=(m,D)=>s(m,D,h,!1),c[d+", DenseMatrix"]=(m,D)=>s(D,m,h,!0),c["Array,"+d]=(m,D)=>s(e(m),D,h,!1).valueOf(),c[d+", Array"]=(m,D)=>s(e(D),m,h,!0).valueOf()):(c["DenseMatrix,"+d]=t.referToSelf(m=>(D,v)=>s(D,v,m,!1)),c[d+", DenseMatrix"]=t.referToSelf(m=>(D,v)=>s(v,D,m,!0)),c["Array,"+d]=t.referToSelf(m=>(D,v)=>s(e(D),v,m,!1).valueOf()),c[d+", Array"]=t.referToSelf(m=>(D,v)=>s(e(v),D,m,!0).valueOf())));var w=f.sS!==void 0?f.sS:f.Ss;return h?(f.Ss&&(c["SparseMatrix,"+d]=(m,D)=>f.Ss(m,D,h,!1)),w&&(c[d+", SparseMatrix"]=(m,D)=>w(D,m,h,!0))):(f.Ss&&(c["SparseMatrix,"+d]=t.referToSelf(m=>(D,v)=>f.Ss(D,v,m,!1))),w&&(c[d+", SparseMatrix"]=t.referToSelf(m=>(D,v)=>w(v,D,m,!0)))),h&&h.signatures&&Rl(c,h.signatures),c}}),ug="matAlgo01xDSid",lg=["typed"],Vf=mt(ug,lg,i=>{var{typed:t}=i;return function(r,n,s,a){var l=r._data,f=r._size,h=r._datatype||r.getDataType(),p=n._values,c=n._index,d=n._ptr,g=n._size,w=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(f.length!==g.length)throw new Ht(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+f+") must match Matrix B ("+g+")");if(!p)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var m=f[0],D=f[1],v=typeof h=="string"&&h!=="mixed"&&h===w?h:void 0,E=v?t.find(s,[v,v]):s,b,N,x=[];for(b=0;b<m;b++)x[b]=[];var F=[],M=[];for(N=0;N<D;N++){for(var S=N+1,I=d[N],C=d[N+1],O=I;O<C;O++)b=c[O],F[b]=a?E(p[O],l[b][N]):E(l[b][N],p[O]),M[b]=S;for(b=0;b<m;b++)M[b]===S?x[b][N]=F[b]:x[b][N]=l[b][N]}return r.createDenseMatrix({data:x,size:[m,D],datatype:h===r._datatype&&w===n._datatype?v:void 0})}}),fg="matAlgo04xSidSid",cg=["typed","equalScalar"],hg=mt(fg,cg,i=>{var{typed:t,equalScalar:e}=i;return function(n,s,a){var l=n._values,f=n._index,h=n._ptr,p=n._size,c=n._datatype||n._data===void 0?n._datatype:n.getDataType(),d=s._values,g=s._index,w=s._ptr,m=s._size,D=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(p.length!==m.length)throw new Ht(p.length,m.length);if(p[0]!==m[0]||p[1]!==m[1])throw new RangeError("Dimension mismatch. Matrix A ("+p+") must match Matrix B ("+m+")");var v=p[0],E=p[1],b,N=e,x=0,F=a;typeof c=="string"&&c===D&&c!=="mixed"&&(b=c,N=t.find(e,[b,b]),x=t.convert(0,b),F=t.find(a,[b,b]));var M=l&&d?[]:void 0,S=[],I=[],C=l&&d?[]:void 0,O=l&&d?[]:void 0,L=[],U=[],k,W,P,G,Z;for(W=0;W<E;W++){I[W]=S.length;var X=W+1;for(G=h[W],Z=h[W+1],P=G;P<Z;P++)k=f[P],S.push(k),L[k]=X,C&&(C[k]=l[P]);for(G=w[W],Z=w[W+1],P=G;P<Z;P++)if(k=g[P],L[k]===X){if(C){var tt=F(C[k],d[P]);N(tt,x)?L[k]=null:C[k]=tt}}else S.push(k),U[k]=X,O&&(O[k]=d[P]);if(C&&O)for(P=I[W];P<S.length;)k=S[P],L[k]===X?(M[P]=C[k],P++):U[k]===X?(M[P]=O[k],P++):S.splice(P,1)}return I[E]=S.length,n.createSparseMatrix({values:M,index:S,ptr:I,size:[v,E],datatype:c===n._datatype&&D===s._datatype?b:void 0})}}),pg="matAlgo10xSids",dg=["typed","DenseMatrix"],Zf=mt(pg,dg,i=>{var{typed:t,DenseMatrix:e}=i;return function(n,s,a,l){var f=n._values,h=n._index,p=n._ptr,c=n._size,d=n._datatype;if(!f)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g=c[0],w=c[1],m,D=a;typeof d=="string"&&(m=d,s=t.convert(s,m),D=t.find(a,[m,m]));for(var v=[],E=[],b=[],N=0;N<w;N++){for(var x=N+1,F=p[N],M=p[N+1],S=F;S<M;S++){var I=h[S];E[I]=f[S],b[I]=x}for(var C=0;C<g;C++)N===0&&(v[C]=[]),b[C]===x?v[C][N]=l?D(s,E[C]):D(E[C],s):v[C][N]=s}return new e({data:v,size:[g,w],datatype:m})}}),_g="multiplyScalar",mg=["typed"],gg=mt(_g,mg,i=>{var{typed:t}=i;return t("multiplyScalar",{"number, number":Bf,"Complex, Complex":function(r,n){return r.mul(n)},"BigNumber, BigNumber":function(r,n){return r.times(n)},"Fraction, Fraction":function(r,n){return r.mul(n)},"number | Fraction | BigNumber | Complex, Unit":(e,r)=>r.multiply(e),"Unit, number | Fraction | BigNumber | Complex | Unit":(e,r)=>e.multiply(r)})}),Gf="multiply",vg=["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],wg=mt(Gf,vg,i=>{var{typed:t,matrix:e,addScalar:r,multiplyScalar:n,equalScalar:s,dot:a}=i,l=Fa({typed:t,equalScalar:s}),f=Ma({typed:t});function h(x,F){switch(x.length){case 1:switch(F.length){case 1:if(x[0]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(x[0]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+x[0]+") must match Matrix rows ("+F[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+F.length+" dimensions)")}break;case 2:switch(F.length){case 1:if(x[1]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+x[1]+") must match Vector length ("+F[0]+")");break;case 2:if(x[1]!==F[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+x[1]+") must match Matrix B rows ("+F[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+F.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+x.length+" dimensions)")}}function p(x,F,M){if(M===0)throw new Error("Cannot multiply two empty vectors");return a(x,F)}function c(x,F){if(F.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return d(x,F)}function d(x,F){var M=x._data,S=x._size,I=x._datatype||x.getDataType(),C=F._data,O=F._size,L=F._datatype||F.getDataType(),U=S[0],k=O[1],W,P=r,G=n;I&&L&&I===L&&typeof I=="string"&&I!=="mixed"&&(W=I,P=t.find(r,[W,W]),G=t.find(n,[W,W]));for(var Z=[],X=0;X<k;X++){for(var tt=G(M[0],C[0][X]),ft=1;ft<U;ft++)tt=P(tt,G(M[ft],C[ft][X]));Z[X]=tt}return x.createDenseMatrix({data:Z,size:[k],datatype:I===x._datatype&&L===F._datatype?W:void 0})}var g=t("_multiplyMatrixVector",{"DenseMatrix, any":m,"SparseMatrix, any":E}),w=t("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":D,"DenseMatrix, SparseMatrix":v,"SparseMatrix, DenseMatrix":b,"SparseMatrix, SparseMatrix":N});function m(x,F){var M=x._data,S=x._size,I=x._datatype||x.getDataType(),C=F._data,O=F._datatype||F.getDataType(),L=S[0],U=S[1],k,W=r,P=n;I&&O&&I===O&&typeof I=="string"&&I!=="mixed"&&(k=I,W=t.find(r,[k,k]),P=t.find(n,[k,k]));for(var G=[],Z=0;Z<L;Z++){for(var X=M[Z],tt=P(X[0],C[0]),ft=1;ft<U;ft++)tt=W(tt,P(X[ft],C[ft]));G[Z]=tt}return x.createDenseMatrix({data:G,size:[L],datatype:I===x._datatype&&O===F._datatype?k:void 0})}function D(x,F){var M=x._data,S=x._size,I=x._datatype||x.getDataType(),C=F._data,O=F._size,L=F._datatype||F.getDataType(),U=S[0],k=S[1],W=O[1],P,G=r,Z=n;I&&L&&I===L&&typeof I=="string"&&I!=="mixed"&&I!=="mixed"&&(P=I,G=t.find(r,[P,P]),Z=t.find(n,[P,P]));for(var X=[],tt=0;tt<U;tt++){var ft=M[tt];X[tt]=[];for(var vt=0;vt<W;vt++){for(var lt=Z(ft[0],C[0][vt]),yt=1;yt<k;yt++)lt=G(lt,Z(ft[yt],C[yt][vt]));X[tt][vt]=lt}}return x.createDenseMatrix({data:X,size:[U,W],datatype:I===x._datatype&&L===F._datatype?P:void 0})}function v(x,F){var M=x._data,S=x._size,I=x._datatype||x.getDataType(),C=F._values,O=F._index,L=F._ptr,U=F._size,k=F._datatype||F._data===void 0?F._datatype:F.getDataType();if(!C)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var W=S[0],P=U[1],G,Z=r,X=n,tt=s,ft=0;I&&k&&I===k&&typeof I=="string"&&I!=="mixed"&&(G=I,Z=t.find(r,[G,G]),X=t.find(n,[G,G]),tt=t.find(s,[G,G]),ft=t.convert(0,G));for(var vt=[],lt=[],yt=[],bt=F.createSparseMatrix({values:vt,index:lt,ptr:yt,size:[W,P],datatype:I===x._datatype&&k===F._datatype?G:void 0}),Bt=0;Bt<P;Bt++){yt[Bt]=lt.length;var Et=L[Bt],oe=L[Bt+1];if(oe>Et)for(var Tt=0,Nt=0;Nt<W;Nt++){for(var ue=Nt+1,re=void 0,qt=Et;qt<oe;qt++){var Jt=O[qt];Tt!==ue?(re=X(M[Nt][Jt],C[qt]),Tt=ue):re=Z(re,X(M[Nt][Jt],C[qt]))}Tt===ue&&!tt(re,ft)&&(lt.push(Nt),vt.push(re))}}return yt[P]=lt.length,bt}function E(x,F){var M=x._values,S=x._index,I=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType();if(!M)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var O=F._data,L=F._datatype||F.getDataType(),U=x._size[0],k=F._size[0],W=[],P=[],G=[],Z,X=r,tt=n,ft=s,vt=0;C&&L&&C===L&&typeof C=="string"&&C!=="mixed"&&(Z=C,X=t.find(r,[Z,Z]),tt=t.find(n,[Z,Z]),ft=t.find(s,[Z,Z]),vt=t.convert(0,Z));var lt=[],yt=[];G[0]=0;for(var bt=0;bt<k;bt++){var Bt=O[bt];if(!ft(Bt,vt))for(var Et=I[bt],oe=I[bt+1],Tt=Et;Tt<oe;Tt++){var Nt=S[Tt];yt[Nt]?lt[Nt]=X(lt[Nt],tt(Bt,M[Tt])):(yt[Nt]=!0,P.push(Nt),lt[Nt]=tt(Bt,M[Tt]))}}for(var ue=P.length,re=0;re<ue;re++){var qt=P[re];W[re]=lt[qt]}return G[1]=P.length,x.createSparseMatrix({values:W,index:P,ptr:G,size:[U,1],datatype:C===x._datatype&&L===F._datatype?Z:void 0})}function b(x,F){var M=x._values,S=x._index,I=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType();if(!M)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var O=F._data,L=F._datatype||F.getDataType(),U=x._size[0],k=F._size[0],W=F._size[1],P,G=r,Z=n,X=s,tt=0;C&&L&&C===L&&typeof C=="string"&&C!=="mixed"&&(P=C,G=t.find(r,[P,P]),Z=t.find(n,[P,P]),X=t.find(s,[P,P]),tt=t.convert(0,P));for(var ft=[],vt=[],lt=[],yt=x.createSparseMatrix({values:ft,index:vt,ptr:lt,size:[U,W],datatype:C===x._datatype&&L===F._datatype?P:void 0}),bt=[],Bt=[],Et=0;Et<W;Et++){lt[Et]=vt.length;for(var oe=Et+1,Tt=0;Tt<k;Tt++){var Nt=O[Tt][Et];if(!X(Nt,tt))for(var ue=I[Tt],re=I[Tt+1],qt=ue;qt<re;qt++){var Jt=S[qt];Bt[Jt]!==oe?(Bt[Jt]=oe,vt.push(Jt),bt[Jt]=Z(Nt,M[qt])):bt[Jt]=G(bt[Jt],Z(Nt,M[qt]))}}for(var Te=lt[Et],mr=vt.length,Le=Te;Le<mr;Le++){var hn=vt[Le];ft[Le]=bt[hn]}}return lt[W]=vt.length,yt}function N(x,F){var M=x._values,S=x._index,I=x._ptr,C=x._datatype||x._data===void 0?x._datatype:x.getDataType(),O=F._values,L=F._index,U=F._ptr,k=F._datatype||F._data===void 0?F._datatype:F.getDataType(),W=x._size[0],P=F._size[1],G=M&&O,Z,X=r,tt=n;C&&k&&C===k&&typeof C=="string"&&C!=="mixed"&&(Z=C,X=t.find(r,[Z,Z]),tt=t.find(n,[Z,Z]));for(var ft=G?[]:void 0,vt=[],lt=[],yt=x.createSparseMatrix({values:ft,index:vt,ptr:lt,size:[W,P],datatype:C===x._datatype&&k===F._datatype?Z:void 0}),bt=G?[]:void 0,Bt=[],Et,oe,Tt,Nt,ue,re,qt,Jt,Te=0;Te<P;Te++){lt[Te]=vt.length;var mr=Te+1;for(ue=U[Te],re=U[Te+1],Nt=ue;Nt<re;Nt++)if(Jt=L[Nt],G)for(oe=I[Jt],Tt=I[Jt+1],Et=oe;Et<Tt;Et++)qt=S[Et],Bt[qt]!==mr?(Bt[qt]=mr,vt.push(qt),bt[qt]=tt(O[Nt],M[Et])):bt[qt]=X(bt[qt],tt(O[Nt],M[Et]));else for(oe=I[Jt],Tt=I[Jt+1],Et=oe;Et<Tt;Et++)qt=S[Et],Bt[qt]!==mr&&(Bt[qt]=mr,vt.push(qt));if(G)for(var Le=lt[Te],hn=vt.length,Bn=Le;Bn<hn;Bn++){var pn=vt[Bn];ft[Bn]=bt[pn]}}return lt[P]=vt.length,yt}return t(Gf,n,{"Array, Array":t.referTo("Matrix, Matrix",x=>(F,M)=>{h(Be(F),Be(M));var S=x(e(F),e(M));return me(S)?S.valueOf():S}),"Matrix, Matrix":function(F,M){var S=F.size(),I=M.size();return h(S,I),S.length===1?I.length===1?p(F,M,S[0]):c(F,M):I.length===1?g(F,M):w(F,M)},"Matrix, Array":t.referTo("Matrix,Matrix",x=>(F,M)=>x(F,e(M))),"Array, Matrix":t.referToSelf(x=>(F,M)=>x(e(F,M.storage()),M)),"SparseMatrix, any":function(F,M){return l(F,M,n,!1)},"DenseMatrix, any":function(F,M){return f(F,M,n,!1)},"any, SparseMatrix":function(F,M){return l(M,F,n,!0)},"any, DenseMatrix":function(F,M){return f(M,F,n,!0)},"Array, any":function(F,M){return f(e(F),M,n,!1).valueOf()},"any, Array":function(F,M){return f(e(M),F,n,!0).valueOf()},"any, any":n,"any, any, ...any":t.referToSelf(x=>(F,M,S)=>{for(var I=x(F,M),C=0;C<S.length;C++)I=x(I,S[C]);return I})})}),Kf="subtract",yg=["typed","matrix","equalScalar","subtractScalar","unaryMinus","DenseMatrix","concat"],Dg=mt(Kf,yg,i=>{var{typed:t,matrix:e,equalScalar:r,subtractScalar:n,unaryMinus:s,DenseMatrix:a,concat:l}=i,f=Vf({typed:t}),h=vi({typed:t}),p=Yf({typed:t,equalScalar:r}),c=Zf({typed:t,DenseMatrix:a}),d=gi({typed:t,DenseMatrix:a}),g=Kn({typed:t,matrix:e,concat:l});return t(Kf,{"any, any":n},g({elop:n,SS:p,DS:f,SD:h,Ss:d,sS:c}))}),bg="matAlgo07xSSf",Eg=["typed","DenseMatrix"],js=mt(bg,Eg,i=>{var{typed:t,DenseMatrix:e}=i;return function(s,a,l){var f=s._size,h=s._datatype||s._data===void 0?s._datatype:s.getDataType(),p=a._size,c=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(f.length!==p.length)throw new Ht(f.length,p.length);if(f[0]!==p[0]||f[1]!==p[1])throw new RangeError("Dimension mismatch. Matrix A ("+f+") must match Matrix B ("+p+")");var d=f[0],g=f[1],w,m=0,D=l;typeof h=="string"&&h===c&&h!=="mixed"&&(w=h,m=t.convert(0,w),D=t.find(l,[w,w]));var v,E,b=[];for(v=0;v<d;v++)b[v]=[];var N=[],x=[],F=[],M=[];for(E=0;E<g;E++){var S=E+1;for(r(s,E,F,N,S),r(a,E,M,x,S),v=0;v<d;v++){var I=F[v]===S?N[v]:m,C=M[v]===S?x[v]:m;b[v][E]=D(I,C)}}return new e({data:b,size:[d,g],datatype:h===s._datatype&&c===a._datatype?w:void 0})};function r(n,s,a,l,f){for(var h=n._values,p=n._index,c=n._ptr,d=c[s],g=c[s+1];d<g;d++){var w=p[d];a[w]=f,l[w]=h[d]}}}),Hf="conj",xg=["typed"],Ag=mt(Hf,xg,i=>{var{typed:t}=i;return t(Hf,{"number | BigNumber | Fraction":e=>e,Complex:e=>e.conjugate(),"Array | Matrix":t.referToSelf(e=>r=>Vr(r,e))})}),Jf="concat",Cg=["typed","matrix","isInteger"],Fg=mt(Jf,Cg,i=>{var{typed:t,matrix:e,isInteger:r}=i;return t(Jf,{"...Array | Matrix | number | BigNumber":function(s){var a,l=s.length,f=-1,h,p=!1,c=[];for(a=0;a<l;a++){var d=s[a];if(me(d)&&(p=!0),he(d)||Fe(d)){if(a!==l-1)throw new Error("Dimension must be specified as last argument");if(h=f,f=d.valueOf(),!r(f))throw new TypeError("Integer number expected for dimension");if(f<0||a>0&&f>h)throw new xn(f,h+1)}else{var g=se(d).valueOf(),w=Be(g);if(c[a]=g,h=f,f=w.length-1,a>0&&f!==h)throw new Ht(h+1,f+1)}}if(c.length===0)throw new SyntaxError("At least one matrix expected");for(var m=c.shift();c.length;)m=nf(m,c.shift(),f);return p?e(m):m},"...string":function(s){return s.join("")}})}),Xf="count",Mg=["typed","size","prod"],Ng=mt(Xf,Mg,i=>{var{typed:t,size:e,prod:r}=i;return t(Xf,{string:function(s){return s.length},"Matrix | Array":function(s){return r(e(s))}})}),Qf="identity",Sg=["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],Bg=mt(Qf,Sg,i=>{var{typed:t,config:e,matrix:r,BigNumber:n,DenseMatrix:s,SparseMatrix:a}=i;return t(Qf,{"":function(){return e.matrix==="Matrix"?r([]):[]},string:function(p){return r(p)},"number | BigNumber":function(p){return f(p,p,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(p,c){return f(p,p,c)},"number | BigNumber, number | BigNumber":function(p,c){return f(p,c,e.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(p,c,d){return f(p,c,d)},Array:function(p){return l(p)},"Array, string":function(p,c){return l(p,c)},Matrix:function(p){return l(p.valueOf(),p.storage())},"Matrix, string":function(p,c){return l(p.valueOf(),c)}});function l(h,p){switch(h.length){case 0:return p?r(p):[];case 1:return f(h[0],h[0],p);case 2:return f(h[0],h[1],p);default:throw new Error("Vector containing two values expected")}}function f(h,p,c){var d=Fe(h)||Fe(p)?n:null;if(Fe(h)&&(h=h.toNumber()),Fe(p)&&(p=p.toNumber()),!we(h)||h<1)throw new Error("Parameters in function identity must be positive integers");if(!we(p)||p<1)throw new Error("Parameters in function identity must be positive integers");var g=d?new n(1):1,w=d?new d(0):0,m=[h,p];if(c){if(c==="sparse")return a.diagonal(m,g,0,w);if(c==="dense")return s.diagonal(m,g,0,w);throw new TypeError('Unknown matrix type "'.concat(c,'"'))}for(var D=pa([],m,w),v=h<p?h:p,E=0;E<v;E++)D[E][E]=g;return D}}),tc="kron",Og=["typed","matrix","multiplyScalar"],Tg=mt(tc,Og,i=>{var{typed:t,matrix:e,multiplyScalar:r}=i;return t(tc,{"Matrix, Matrix":function(a,l){return e(n(a.toArray(),l.toArray()))},"Matrix, Array":function(a,l){return e(n(a.toArray(),l))},"Array, Matrix":function(a,l){return e(n(a,l.toArray()))},"Array, Array":n});function n(s,a){if(Be(s).length===1&&(s=[s]),Be(a).length===1&&(a=[a]),Be(s).length>2||Be(a).length>2)throw new RangeError("Vectors with dimensions greater then 2 are not supported expected (Size x = "+JSON.stringify(s.length)+", y = "+JSON.stringify(a.length)+")");var l=[],f=[];return s.map(function(h){return a.map(function(p){return f=[],l.push(f),h.map(function(c){return p.map(function(d){return f.push(r(c,d))})})})})&&l}});function Ig(){throw new Error('No "bignumber" implementation available')}function $g(){throw new Error('No "fraction" implementation available')}function Lg(){throw new Error('No "matrix" implementation available')}var ec="reshape",Rg=["typed","isInteger","matrix"],Pg=mt(ec,Rg,i=>{var{typed:t,isInteger:e}=i;return t(ec,{"Matrix, Array":function(n,s){return n.reshape(s,!0)},"Array, Array":function(n,s){return s.forEach(function(a){if(!e(a))throw new TypeError("Invalid size for dimension: "+a)}),_a(n,s)}})}),rc="size",zg=["typed","config","?matrix"],qg=mt(rc,zg,i=>{var{typed:t,config:e,matrix:r}=i;return t(rc,{Matrix:function(s){return s.create(s.size())},Array:Be,string:function(s){return e.matrix==="Array"?[s.length]:r([s.length])},"number | Complex | BigNumber | Unit | boolean | null":function(s){return e.matrix==="Array"?[]:r?r([]):Lg()}})}),nc="transpose",kg=["typed","matrix"],Ug=mt(nc,kg,i=>{var{typed:t,matrix:e}=i;return t(nc,{Array:a=>r(e(a)).valueOf(),Matrix:r,any:se});function r(a){var l=a.size(),f;switch(l.length){case 1:f=a.clone();break;case 2:{var h=l[0],p=l[1];if(p===0)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+le(l)+")");switch(a.storage()){case"dense":f=n(a,h,p);break;case"sparse":f=s(a,h,p);break}}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+le(l)+")")}return f}function n(a,l,f){for(var h=a._data,p=[],c,d=0;d<f;d++){c=p[d]=[];for(var g=0;g<l;g++)c[g]=se(h[g][d])}return a.createDenseMatrix({data:p,size:[f,l],datatype:a._datatype})}function s(a,l,f){for(var h=a._values,p=a._index,c=a._ptr,d=h?[]:void 0,g=[],w=[],m=[],D=0;D<l;D++)m[D]=0;var v,E,b;for(v=0,E=p.length;v<E;v++)m[p[v]]++;for(var N=0,x=0;x<l;x++)w.push(N),N+=m[x],m[x]=w[x];for(w.push(N),b=0;b<f;b++)for(var F=c[b],M=c[b+1],S=F;S<M;S++){var I=m[p[S]]++;g[I]=b,h&&(d[I]=se(h[S]))}return a.createSparseMatrix({values:d,index:g,ptr:w,size:[f,l],datatype:a._datatype})}}),ic="ctranspose",Wg=["typed","transpose","conj"],jg=mt(ic,Wg,i=>{var{typed:t,transpose:e,conj:r}=i;return t(ic,{any:function(s){return r(e(s))}})}),sc="mode",Yg=["typed","isNaN","isNumeric"],Vg=mt(sc,Yg,i=>{var{typed:t,isNaN:e,isNumeric:r}=i;return t(sc,{"Array | Matrix":n,"...":function(a){return n(a)}});function n(s){s=ga(s.valueOf());var a=s.length;if(a===0)throw new Error("Cannot calculate mode of an empty array");for(var l={},f=[],h=0,p=0;p<s.length;p++){var c=s[p];if(r(c)&&e(c))throw new Error("Cannot calculate mode of an array containing NaN values");c in l||(l[c]=0),l[c]++,l[c]===h?f.push(c):l[c]>h&&(h=l[c],f=[c])}return f}});function Nn(i,t,e){var r;return String(i).indexOf("Unexpected type")!==-1?(r=arguments.length>2?" (type: "+En(e)+", value: "+JSON.stringify(e)+")":" (type: "+i.data.actual+")",new TypeError("Cannot calculate "+t+", unexpected type of argument"+r)):String(i).indexOf("complex numbers")!==-1?(r=arguments.length>2?" (type: "+En(e)+", value: "+JSON.stringify(e)+")":"",new TypeError("Cannot calculate "+t+", no ordering relation is defined for complex numbers"+r)):i}var oc="prod",Zg=["typed","config","multiplyScalar","numeric"],Gg=mt(oc,Zg,i=>{var{typed:t,config:e,multiplyScalar:r,numeric:n}=i;return t(oc,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(l,f){throw new Error("prod(A, dim) is not yet supported")},"...":function(l){return s(l)}});function s(a){var l;if(Gi(a,function(f){try{l=l===void 0?f:r(l,f)}catch(h){throw Nn(h,"prod",f)}}),typeof l=="string"&&(l=n(l,e.number)),l===void 0)throw new Error("Cannot calculate prod of an empty array");return l}}),Kg="numeric",Hg=["number","?bignumber","?fraction"],Jg=mt(Kg,Hg,i=>{var{number:t,bignumber:e,fraction:r}=i,n={string:!0,number:!0,BigNumber:!0,Fraction:!0},s={number:a=>t(a),BigNumber:e?a=>e(a):Ig,Fraction:r?a=>r(a):$g};return function(l){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number",h=arguments.length>2?arguments[2]:void 0;if(h!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var p=En(l);if(!(p in n))throw new TypeError("Cannot convert "+l+' of type "'+p+'"; valid input types are '+Object.keys(n).join(", "));if(!(f in s))throw new TypeError("Cannot convert "+l+' to type "'+f+'"; valid output types are '+Object.keys(s).join(", "));return f===p?l:s[f](l)}}),ac="divideScalar",Xg=["typed","numeric"],Qg=mt(ac,Xg,i=>{var{typed:t,numeric:e}=i;return t(ac,{"number, number":function(n,s){return n/s},"Complex, Complex":function(n,s){return n.div(s)},"BigNumber, BigNumber":function(n,s){return n.div(s)},"Fraction, Fraction":function(n,s){return n.div(s)},"Unit, number | Complex | Fraction | BigNumber | Unit":(r,n)=>r.divide(n),"number | Fraction | Complex | BigNumber, Unit":(r,n)=>n.divideInto(r)})}),uc="pow",tv=["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],ev=mt(uc,tv,i=>{var{typed:t,config:e,identity:r,multiply:n,matrix:s,inv:a,number:l,fraction:f,Complex:h}=i;return t(uc,{"number, number":p,"Complex, Complex":function(w,m){return w.pow(m)},"BigNumber, BigNumber":function(w,m){return m.isInteger()||w>=0||e.predictable?w.pow(m):new h(w.toNumber(),0).pow(m.toNumber(),0)},"Fraction, Fraction":function(w,m){var D=w.pow(m);if(D!=null)return D;if(e.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return p(w.valueOf(),m.valueOf())},"Array, number":c,"Array, BigNumber":function(w,m){return c(w,m.toNumber())},"Matrix, number":d,"Matrix, BigNumber":function(w,m){return d(w,m.toNumber())},"Unit, number | BigNumber":function(w,m){return w.pow(m)}});function p(g,w){if(e.predictable&&!we(w)&&g<0)try{var m=f(w),D=l(m);if((w===D||Math.abs((w-D)/w)<1e-14)&&m.d%2===1)return(m.n%2===0?1:-1)*Math.pow(-g,w)}catch{}return e.predictable&&(g<-1&&w===1/0||g>-1&&g<0&&w===-1/0)?NaN:we(w)||g>=0||e.predictable?Tf(g,w):g*g<1&&w===1/0||g*g>1&&w===-1/0?0:new h(g,0).pow(w,0)}function c(g,w){if(!we(w))throw new TypeError("For A^b, b must be an integer (value is "+w+")");var m=Be(g);if(m.length!==2)throw new Error("For A^b, A must be 2 dimensional (A has "+m.length+" dimensions)");if(m[0]!==m[1])throw new Error("For A^b, A must be square (size is "+m[0]+"x"+m[1]+")");if(w<0)try{return c(a(g),-w)}catch(E){throw E.message==="Cannot calculate inverse, determinant is zero"?new TypeError("For A^b, when A is not invertible, b must be a positive integer (value is "+w+")"):E}for(var D=r(m[0]).valueOf(),v=g;w>=1;)(w&1)===1&&(D=n(v,D)),w>>=1,v=n(v,v);return D}function d(g,w){return s(c(g.valueOf(),w))}}),lc="dotDivide",rv=["typed","matrix","equalScalar","divideScalar","DenseMatrix","concat"],nv=mt(lc,rv,i=>{var{typed:t,matrix:e,equalScalar:r,divideScalar:n,DenseMatrix:s,concat:a}=i,l=Km({typed:t,equalScalar:r}),f=vi({typed:t}),h=js({typed:t,DenseMatrix:s}),p=Fa({typed:t,equalScalar:r}),c=gi({typed:t,DenseMatrix:s}),d=Kn({typed:t,matrix:e,concat:a});return t(lc,d({elop:n,SS:h,DS:f,SD:l,Ss:p,sS:c}))}),Ys="compare",iv=["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix","concat"],sv=mt(Ys,iv,i=>{var{typed:t,config:e,equalScalar:r,matrix:n,BigNumber:s,Fraction:a,DenseMatrix:l,concat:f}=i,h=vi({typed:t}),p=Yf({typed:t,equalScalar:r}),c=gi({typed:t,DenseMatrix:l}),d=Kn({typed:t,matrix:n,concat:f}),g=Us({typed:t});return t(Ys,ov({typed:t,config:e}),{"boolean, boolean":function(m,D){return m===D?0:m>D?1:-1},"BigNumber, BigNumber":function(m,D){return ks(m,D,e.epsilon)?new s(0):new s(m.cmp(D))},"Fraction, Fraction":function(m,D){return new a(m.compare(D))},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},g,d({SS:p,DS:h,Ss:c}))}),ov=mt(Ys,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Ys,{"number, number":function(n,s){return Gn(n,s,e.epsilon)?0:n>s?1:-1}})}),Vs="equal",av=["typed","matrix","equalScalar","DenseMatrix","concat"],uv=mt(Vs,av,i=>{var{typed:t,matrix:e,equalScalar:r,DenseMatrix:n,concat:s}=i,a=vi({typed:t}),l=js({typed:t,DenseMatrix:n}),f=gi({typed:t,DenseMatrix:n}),h=Kn({typed:t,matrix:e,concat:s});return t(Vs,lv({typed:t,equalScalar:r}),h({elop:r,SS:l,DS:a,Ss:f}))}),lv=mt(Vs,["typed","equalScalar"],i=>{var{typed:t,equalScalar:e}=i;return t(Vs,{"any, any":function(n,s){return n===null?s===null:s===null?n===null:n===void 0?s===void 0:s===void 0?n===void 0:e(n,s)}})}),Zs="smaller",fv=["typed","config","matrix","DenseMatrix","concat"],cv=mt(Zs,fv,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=vi({typed:t}),l=js({typed:t,DenseMatrix:n}),f=gi({typed:t,DenseMatrix:n}),h=Kn({typed:t,matrix:r,concat:s}),p=Us({typed:t});return t(Zs,hv({typed:t,config:e}),{"boolean, boolean":(c,d)=>c<d,"BigNumber, BigNumber":function(d,g){return d.lt(g)&&!ks(d,g,e.epsilon)},"Fraction, Fraction":(c,d)=>c.compare(d)===-1,"Complex, Complex":function(d,g){throw new TypeError("No ordering relation is defined for complex numbers")}},p,h({SS:l,DS:a,Ss:f}))}),hv=mt(Zs,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Zs,{"number, number":function(n,s){return n<s&&!Gn(n,s,e.epsilon)}})}),Gs="larger",pv=["typed","config","matrix","DenseMatrix","concat"],dv=mt(Gs,pv,i=>{var{typed:t,config:e,matrix:r,DenseMatrix:n,concat:s}=i,a=vi({typed:t}),l=js({typed:t,DenseMatrix:n}),f=gi({typed:t,DenseMatrix:n}),h=Kn({typed:t,matrix:r,concat:s}),p=Us({typed:t});return t(Gs,_v({typed:t,config:e}),{"boolean, boolean":(c,d)=>c>d,"BigNumber, BigNumber":function(d,g){return d.gt(g)&&!ks(d,g,e.epsilon)},"Fraction, Fraction":(c,d)=>c.compare(d)===1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},p,h({SS:l,DS:a,Ss:f}))}),_v=mt(Gs,["typed","config"],i=>{var{typed:t,config:e}=i;return t(Gs,{"number, number":function(n,s){return n>s&&!Gn(n,s,e.epsilon)}})}),fc="deepEqual",mv=["typed","equal"],gv=mt(fc,mv,i=>{var{typed:t,equal:e}=i;return t(fc,{"any, any":function(s,a){return r(s.valueOf(),a.valueOf())}});function r(n,s){if(Array.isArray(n))if(Array.isArray(s)){var a=n.length;if(a!==s.length)return!1;for(var l=0;l<a;l++)if(!r(n[l],s[l]))return!1;return!0}else return!1;else return Array.isArray(s)?!1:e(n,s)}}),cc="partitionSelect",vv=["typed","isNumeric","isNaN","compare"],wv=mt(cc,vv,i=>{var{typed:t,isNumeric:e,isNaN:r,compare:n}=i,s=n,a=(h,p)=>-n(h,p);return t(cc,{"Array | Matrix, number":function(p,c){return l(p,c,s)},"Array | Matrix, number, string":function(p,c,d){if(d==="asc")return l(p,c,s);if(d==="desc")return l(p,c,a);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":l});function l(h,p,c){if(!we(p)||p<0)throw new Error("k must be a non-negative integer");if(me(h)){var d=h.size();if(d.length>1)throw new Error("Only one dimensional matrices supported");return f(h.valueOf(),p,c)}if(Array.isArray(h))return f(h,p,c)}function f(h,p,c){if(p>=h.length)throw new Error("k out of bounds");for(var d=0;d<h.length;d++)if(e(h[d])&&r(h[d]))return h[d];for(var g=0,w=h.length-1;g<w;){for(var m=g,D=w,v=h[Math.floor(Math.random()*(w-g+1))+g];m<D;)if(c(h[m],v)>=0){var E=h[D];h[D]=h[m],h[m]=E,--D}else++m;c(h[m],v)>0&&--m,p<=m?w=m:g=m+1}return h[p]}}),hc="max",yv=["typed","config","numeric","larger"],Dv=mt(hc,yv,i=>{var{typed:t,config:e,numeric:r,larger:n}=i;return t(hc,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(f,h){return Ca(f,h.valueOf(),s)},"...":function(f){if(Ps(f))throw new TypeError("Scalar values expected in function max");return a(f)}});function s(l,f){try{return n(l,f)?l:f}catch(h){throw Nn(h,"max",f)}}function a(l){var f;if(Gi(l,function(h){try{isNaN(h)&&typeof h=="number"?f=NaN:(f===void 0||n(h,f))&&(f=h)}catch(p){throw Nn(p,"max",h)}}),f===void 0)throw new Error("Cannot calculate max of an empty array");return typeof f=="string"&&(f=r(f,e.number)),f}}),pc="min",bv=["typed","config","numeric","smaller"],Ev=mt(pc,bv,i=>{var{typed:t,config:e,numeric:r,smaller:n}=i;return t(pc,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(f,h){return Ca(f,h.valueOf(),s)},"...":function(f){if(Ps(f))throw new TypeError("Scalar values expected in function min");return a(f)}});function s(l,f){try{return n(l,f)?l:f}catch(h){throw Nn(h,"min",f)}}function a(l){var f;if(Gi(l,function(h){try{isNaN(h)&&typeof h=="number"?f=NaN:(f===void 0||n(h,f))&&(f=h)}catch(p){throw Nn(p,"min",h)}}),f===void 0)throw new Error("Cannot calculate min of an empty array");return typeof f=="string"&&(f=r(f,e.number)),f}}),dc="add",xv=["typed","matrix","addScalar","equalScalar","DenseMatrix","SparseMatrix","concat"],Av=mt(dc,xv,i=>{var{typed:t,matrix:e,addScalar:r,equalScalar:n,DenseMatrix:s,SparseMatrix:a,concat:l}=i,f=Vf({typed:t}),h=hg({typed:t,equalScalar:n}),p=Zf({typed:t,DenseMatrix:s}),c=Kn({typed:t,matrix:e,concat:l});return t(dc,{"any, any":r,"any, any, ...any":t.referToSelf(d=>(g,w,m)=>{for(var D=d(g,w),v=0;v<m.length;v++)D=d(D,m[v]);return D})},c({elop:r,DS:f,SS:h,Ss:p}))}),_c="dot",Cv=["typed","addScalar","multiplyScalar","conj","size"],Fv=mt(_c,Cv,i=>{var{typed:t,addScalar:e,multiplyScalar:r,conj:n,size:s}=i;return t(_c,{"Array | DenseMatrix, Array | DenseMatrix":l,"SparseMatrix, SparseMatrix":f});function a(p,c){var d=h(p),g=h(c),w,m;if(d.length===1)w=d[0];else if(d.length===2&&d[1]===1)w=d[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+d.join(", ")+")");if(g.length===1)m=g[0];else if(g.length===2&&g[1]===1)m=g[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+g.join(", ")+")");if(w!==m)throw new RangeError("Vectors must have equal length ("+w+" != "+m+")");if(w===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return w}function l(p,c){var d=a(p,c),g=me(p)?p._data:p,w=me(p)?p._datatype||p.getDataType():void 0,m=me(c)?c._data:c,D=me(c)?c._datatype||c.getDataType():void 0,v=h(p).length===2,E=h(c).length===2,b=e,N=r;if(w&&D&&w===D&&typeof w=="string"&&w!=="mixed"){var x=w;b=t.find(e,[x,x]),N=t.find(r,[x,x])}if(!v&&!E){for(var F=N(n(g[0]),m[0]),M=1;M<d;M++)F=b(F,N(n(g[M]),m[M]));return F}if(!v&&E){for(var S=N(n(g[0]),m[0][0]),I=1;I<d;I++)S=b(S,N(n(g[I]),m[I][0]));return S}if(v&&!E){for(var C=N(n(g[0][0]),m[0]),O=1;O<d;O++)C=b(C,N(n(g[O][0]),m[O]));return C}if(v&&E){for(var L=N(n(g[0][0]),m[0][0]),U=1;U<d;U++)L=b(L,N(n(g[U][0]),m[U][0]));return L}}function f(p,c){a(p,c);for(var d=p._index,g=p._values,w=c._index,m=c._values,D=0,v=e,E=r,b=0,N=0;b<d.length&&N<w.length;){var x=d[b],F=w[N];if(x<F){b++;continue}if(x>F){N++;continue}x===F&&(D=v(D,E(g[b],m[N])),b++,N++)}return D}function h(p){return me(p)?p.size():s(p)}}),Mv="trace",Nv=["typed","matrix","add"],Sv=mt(Mv,Nv,i=>{var{typed:t,matrix:e,add:r}=i;return t("trace",{Array:function(l){return n(e(l))},SparseMatrix:s,DenseMatrix:n,any:se});function n(a){var l=a._size,f=a._data;switch(l.length){case 1:if(l[0]===1)return se(f[0]);throw new RangeError("Matrix must be square (size: "+le(l)+")");case 2:{var h=l[0],p=l[1];if(h===p){for(var c=0,d=0;d<h;d++)c=r(c,f[d][d]);return c}else throw new RangeError("Matrix must be square (size: "+le(l)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+le(l)+")")}}function s(a){var l=a._values,f=a._index,h=a._ptr,p=a._size,c=p[0],d=p[1];if(c===d){var g=0;if(l.length>0)for(var w=0;w<d;w++)for(var m=h[w],D=h[w+1],v=m;v<D;v++){var E=f[v];if(E===w){g=r(g,l[v]);break}if(E>w)break}return g}throw new RangeError("Matrix must be square (size: "+le(p)+")")}}),mc="det",Bv=["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],Ov=mt(mc,Bv,i=>{var{typed:t,matrix:e,subtractScalar:r,multiply:n,divideScalar:s,isZero:a,unaryMinus:l}=i;return t(mc,{any:function(p){return se(p)},"Array | Matrix":function(p){var c;switch(me(p)?c=p.size():Array.isArray(p)?(p=e(p),c=p.size()):c=[],c.length){case 0:return se(p);case 1:if(c[0]===1)return se(p.valueOf()[0]);if(c[0]===0)return 1;throw new RangeError("Matrix must be square (size: "+le(c)+")");case 2:{var d=c[0],g=c[1];if(d===g)return f(p.clone().valueOf(),d);if(g===0)return 1;throw new RangeError("Matrix must be square (size: "+le(c)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+le(c)+")")}}});function f(h,p,c){if(p===1)return se(h[0][0]);if(p===2)return r(n(h[0][0],h[1][1]),n(h[1][0],h[0][1]));for(var d=!1,g=new Array(p).fill(0).map((M,S)=>S),w=0;w<p;w++){var m=g[w];if(a(h[m][w])){var D=void 0;for(D=w+1;D<p;D++)if(!a(h[g[D]][w])){m=g[D],g[D]=g[w],g[w]=m,d=!d;break}if(D===p)return h[m][w]}for(var v=h[m][w],E=w===0?1:h[g[w-1]][w-1],b=w+1;b<p;b++)for(var N=g[b],x=w+1;x<p;x++)h[N][x]=s(r(n(h[N][x],v),n(h[N][w],h[m][x])),E)}var F=h[g[p-1]][p-1];return d?l(F):F}}),gc="inv",Tv=["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],Iv=mt(gc,Tv,i=>{var{typed:t,matrix:e,divideScalar:r,addScalar:n,multiply:s,unaryMinus:a,det:l,identity:f,abs:h}=i;return t(gc,{"Array | Matrix":function(d){var g=me(d)?d.size():Be(d);switch(g.length){case 1:if(g[0]===1)return me(d)?e([r(1,d.valueOf()[0])]):[r(1,d[0])];throw new RangeError("Matrix must be square (size: "+le(g)+")");case 2:{var w=g[0],m=g[1];if(w===m)return me(d)?e(p(d.valueOf(),w,m),d.storage()):p(d,w,m);throw new RangeError("Matrix must be square (size: "+le(g)+")")}default:throw new RangeError("Matrix must be two dimensional (size: "+le(g)+")")}},any:function(d){return r(1,d)}});function p(c,d,g){var w,m,D,v,E;if(d===1){if(v=c[0][0],v===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(1,v)]]}else if(d===2){var b=l(c);if(b===0)throw Error("Cannot calculate inverse, determinant is zero");return[[r(c[1][1],b),r(a(c[0][1]),b)],[r(a(c[1][0]),b),r(c[0][0],b)]]}else{var N=c.concat();for(w=0;w<d;w++)N[w]=N[w].concat();for(var x=f(d).valueOf(),F=0;F<g;F++){var M=h(N[F][F]),S=F;for(w=F+1;w<d;)h(N[w][F])>M&&(M=h(N[w][F]),S=w),w++;if(M===0)throw Error("Cannot calculate inverse, determinant is zero");w=S,w!==F&&(E=N[F],N[F]=N[w],N[w]=E,E=x[F],x[F]=x[w],x[w]=E);var I=N[F],C=x[F];for(w=0;w<d;w++){var O=N[w],L=x[w];if(w!==F){if(O[F]!==0){for(D=r(a(O[F]),I[F]),m=F;m<g;m++)O[m]=n(O[m],s(D,I[m]));for(m=0;m<g;m++)L[m]=n(L[m],s(D,C[m]))}}else{for(D=I[F],m=F;m<g;m++)O[m]=r(O[m],D);for(m=0;m<g;m++)L[m]=r(L[m],D)}}}return x}}}),vc="pinv",$v=["typed","matrix","inv","deepEqual","equal","dotDivide","dot","ctranspose","divideScalar","multiply","add","Complex"],Lv=mt(vc,$v,i=>{var{typed:t,matrix:e,inv:r,deepEqual:n,equal:s,dotDivide:a,dot:l,ctranspose:f,divideScalar:h,multiply:p,add:c,Complex:d}=i;return t(vc,{"Array | Matrix":function(b){var N=me(b)?b.size():Be(b);switch(N.length){case 1:return v(b)?f(b):N[0]===1?r(b):a(f(b),l(b,b));case 2:{if(v(b))return f(b);var x=N[0],F=N[1];if(x===F)try{return r(b)}catch(M){if(!(M instanceof Error&&M.message.match(/Cannot calculate inverse, determinant is zero/)))throw M}return me(b)?e(g(b.valueOf(),x,F),b.storage()):g(b,x,F)}default:throw new RangeError("Matrix must be two dimensional (size: "+le(N)+")")}},any:function(b){return s(b,0)?se(b):h(1,b)}});function g(E,b,N){var{C:x,F}=m(E,b,N),M=p(r(p(f(x),x)),f(x)),S=p(f(F),r(p(F,f(F))));return p(S,M)}function w(E,b,N){for(var x=se(E),F=0,M=0;M<b;M++){if(N<=F)return x;for(var S=M;D(x[S][F]);)if(S++,b===S&&(S=M,F++,N===F))return x;[x[S],x[M]]=[x[M],x[S]];for(var I=x[M][F],C=0;C<N;C++)x[M][C]=a(x[M][C],I);for(var O=0;O<b;O++)if(O!==M){I=x[O][F];for(var L=0;L<N;L++)x[O][L]=c(x[O][L],p(-1,p(I,x[M][L])))}F++}return x}function m(E,b,N){var x=w(E,b,N),F=E.map((S,I)=>S.filter((C,O)=>O<b&&!D(l(x[O],x[O])))),M=x.filter((S,I)=>!D(l(x[I],x[I])));return{C:F,F:M}}function D(E){return s(c(E,d(1,1)),c(0,d(1,1)))}function v(E){return n(c(E,d(1,1)),c(p(E,0),d(1,1)))}}),Rv="divide",Pv=["typed","matrix","multiply","equalScalar","divideScalar","inv"],zv=mt(Rv,Pv,i=>{var{typed:t,matrix:e,multiply:r,equalScalar:n,divideScalar:s,inv:a}=i,l=Fa({typed:t,equalScalar:n}),f=Ma({typed:t});return t("divide",Rl({"Array | Matrix, Array | Matrix":function(p,c){return r(p,a(c))},"DenseMatrix, any":function(p,c){return f(p,c,s,!1)},"SparseMatrix, any":function(p,c){return l(p,c,s,!1)},"Array, any":function(p,c){return f(e(p),c,s,!1).valueOf()},"any, Array | Matrix":function(p,c){return r(p,a(c))}},s.signatures))}),wc="sum",qv=["typed","config","add","numeric"],kv=mt(wc,qv,i=>{var{typed:t,config:e,add:r,numeric:n}=i;return t(wc,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":a,"...":function(f){if(Ps(f))throw new TypeError("Scalar values expected in function sum");return s(f)}});function s(l){var f;return Gi(l,function(h){try{f=f===void 0?h:r(f,h)}catch(p){throw Nn(p,"sum",h)}}),f===void 0&&(f=n(0,e.number)),typeof f=="string"&&(f=n(f,e.number)),f}function a(l,f){try{var h=Ca(l,f,r);return h}catch(p){throw Nn(p,"sum")}}}),yc="median",Uv=["typed","add","divide","compare","partitionSelect"],Wv=mt(yc,Uv,i=>{var{typed:t,add:e,divide:r,compare:n,partitionSelect:s}=i;function a(h){try{h=ga(h.valueOf());var p=h.length;if(p===0)throw new Error("Cannot calculate median of an empty array");if(p%2===0){for(var c=p/2-1,d=s(h,c+1),g=h[c],w=0;w<c;++w)n(h[w],g)>0&&(g=h[w]);return f(g,d)}else{var m=s(h,(p-1)/2);return l(m)}}catch(D){throw Nn(D,"median")}}var l=t({"number | BigNumber | Complex | Unit":function(p){return p}}),f=t({"number | BigNumber | Complex | Unit, number | BigNumber | Complex | Unit":function(p,c){return r(e(p,c),2)}});return t(yc,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(p,c){throw new Error("median(A, dim) is not yet supported")},"...":function(p){if(Ps(p))throw new TypeError("Scalar values expected in function median");return a(p)}})}),Ks=j_({config:dr}),Na=G_({}),Sa=X_({}),Ba=em({}),en=im({Matrix:Ba}),Mt=Zd({BigNumber:Ks,Complex:Na,DenseMatrix:en,Fraction:Sa}),jv=Lm({typed:Mt}),Hs=Pm({typed:Mt}),Yv=Fm({BigNumber:Ks,typed:Mt}),Dc=Ag({typed:Mt}),Sn=mm({config:dr,typed:Mt}),Js=am({typed:Mt}),Vv=cm({typed:Mt}),Xs=gg({typed:Mt}),bc=xm({typed:Mt}),Oa=wm({Matrix:Ba,equalScalar:Sn,typed:Mt}),Ec=qm({typed:Mt}),xc=pm({typed:Mt}),Ta=Im({typed:Mt}),Ac=Sm({Fraction:Sa,typed:Mt}),Cc=lm({typed:Mt}),Oe=Om({DenseMatrix:en,Matrix:Ba,SparseMatrix:Oa,typed:Mt}),Fc=Vg({isNaN:xc,isNumeric:Cc,typed:Mt}),Ki=Jg({bignumber:Yv,fraction:Ac,number:bc}),Zv=Gg({config:dr,multiplyScalar:Xs,numeric:Ki,typed:Mt}),Gv=Pg({isInteger:Js,matrix:Oe,typed:Mt}),Mc=qg({matrix:Oe,config:dr,typed:Mt}),Nc=Ug({matrix:Oe,typed:Mt}),Hn=Fg({isInteger:Js,matrix:Oe,typed:Mt}),Kv=Ng({prod:Zv,size:Mc,typed:Mt}),Hv=jg({conj:Dc,transpose:Nc,typed:Mt}),Hi=Qg({numeric:Ki,typed:Mt}),Jv=nv({DenseMatrix:en,concat:Hn,divideScalar:Hi,equalScalar:Sn,matrix:Oe,typed:Mt}),Sc=uv({DenseMatrix:en,concat:Hn,equalScalar:Sn,matrix:Oe,typed:Mt}),Bc=Bg({BigNumber:Ks,DenseMatrix:en,SparseMatrix:Oa,config:dr,matrix:Oe,typed:Mt}),Xv=Tg({matrix:Oe,multiplyScalar:Xs,typed:Mt}),Qv=cv({DenseMatrix:en,concat:Hn,config:dr,matrix:Oe,typed:Mt}),t1=Dg({DenseMatrix:en,concat:Hn,equalScalar:Sn,matrix:Oe,subtractScalar:Ec,typed:Mt,unaryMinus:Ta}),Ji=Av({DenseMatrix:en,SparseMatrix:Oa,addScalar:Hs,concat:Hn,equalScalar:Sn,matrix:Oe,typed:Mt}),Oc=sv({BigNumber:Ks,DenseMatrix:en,Fraction:Sa,concat:Hn,config:dr,equalScalar:Sn,matrix:Oe,typed:Mt}),e1=gv({equal:Sc,typed:Mt}),Tc=Fv({addScalar:Hs,conj:Dc,multiplyScalar:Xs,size:Mc,typed:Mt}),r1=dv({DenseMatrix:en,concat:Hn,config:dr,matrix:Oe,typed:Mt}),Ia=Ev({config:dr,numeric:Ki,smaller:Qv,typed:Mt}),wi=wg({addScalar:Hs,dot:Tc,equalScalar:Sn,matrix:Oe,multiplyScalar:Xs,typed:Mt}),n1=wv({compare:Oc,isNaN:xc,isNumeric:Cc,typed:Mt}),i1=kv({add:Ji,config:dr,numeric:Ki,typed:Mt}),s1=Sv({add:Ji,matrix:Oe,typed:Mt}),Ic=Ov({divideScalar:Hi,isZero:Vv,matrix:Oe,multiply:wi,subtractScalar:Ec,typed:Mt,unaryMinus:Ta}),o1=Dv({config:dr,larger:r1,numeric:Ki,typed:Mt}),Qs=Iv({abs:jv,addScalar:Hs,det:Ic,divideScalar:Hi,identity:Bc,matrix:Oe,multiply:wi,typed:Mt,unaryMinus:Ta}),a1=Lv({Complex:Na,add:Ji,ctranspose:Hv,deepEqual:e1,divideScalar:Hi,dot:Tc,dotDivide:Jv,equal:Sc,inv:Qs,matrix:Oe,multiply:wi,typed:Mt}),u1=ev({Complex:Na,config:dr,fraction:Ac,identity:Bc,inv:Qs,matrix:Oe,multiply:wi,number:bc,typed:Mt}),l1=zv({divideScalar:Hi,equalScalar:Sn,inv:Qs,matrix:Oe,multiply:wi,typed:Mt}),$c=Wv({add:Ji,compare:Oc,divide:l1,partitionSelect:n1,typed:Mt});class f1{constructor(t,e,r){z(this,"_cacheData");z(this,"_variables");z(this,"_math");z(this,"_timeframe");this._cacheData={},this._variables=t,this._math=e,this._timeframe=r}alma({series:t,length:e,offset:r,sigma:n,floor:s},a){if(e===void 0||r===void 0||n===void 0)return;const l=this._cacheDataList(t,e,`alma_${a}`);if(l===void 0)return;let f=r*(e-1);s&&(f=Math.floor(f));const h=e/n;let p=0,c=0;for(let d=0;d<=e-1;d++){const g=Math.exp(-1*Math.pow(d-f,2)/(2*Math.pow(h,2)));p+=g,c+=l[l.length-1-(e-d-1)]*g}return c/p}sma({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;let n=0;const s=this._cacheDataList(t,e,`sma_${r}`);if(s===void 0)return;const a=s.slice(-e);return n=i1(...a)/e,n}rma({source:t,length:e},r){if(t===void 0||e===void 0||isNaN(t))return;const n=this._cacheData[`sma_${r}`]||[];n[this._variables.bar_index]=t,this._cacheData[`sma_${r}`]=n;const{sum:s}=this._cacheData[`rma_${r}`]||{},a=1/e,l=s===void 0?this.sma({source:t,length:e},r):a*t+(1-a)*(s||0);return this._cacheDataHandle(`rma_${r}`,{sum:l}),l}atr({length:t},e){const{high:r,close:n}=this._cacheData[`atr_${e}`]||{},{high:s,close:a,low:l}=this._variables,f=r===void 0?s-l:Math.max(Math.max(s-l,Math.abs(s-n)),Math.abs(l-n));return this._cacheDataHandle(`atr_${e}`,{high:s,close:a}),this.rma({source:f,length:t},e)}barssince({condition:t},e){let{count:r}=this._cacheData[`barssince_${e}`]||{};if(t)r=0;else{if(r===void 0)return;r+=1}return this._cacheDataHandle(`barssince_${e}`,{count:r}),r}stdev({source:t,length:e,biased:r=!0},n){if(t===void 0||isNaN(t)||e===void 0)return;const s=this._cacheDataList(t,e,`stdev_${n}`),a=this.sma({source:t,length:e},n);if(s===void 0)return;let l=0;for(let f=0;f<e;f++){const h=this._sum(s[s.length-1-f],-(a||0));l+=h*h}return r||e<=1?Math.sqrt(l/e):Math.sqrt(l/(e-1))}_sum(t,e){let n=t+e;return Math.abs(n)<=1e-10&&(n=0),n}bb({series:t,length:e,mult:r},n){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return[];const s=this.sma({source:t,length:e},n),a=this.stdev({source:t,length:e},n);if(s===void 0||a===void 0)return[];const l=r*a;return[s,s+l,s-l]}bbw({series:t,length:e,mult:r},n){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return;const s=this.sma({source:t,length:e},n),a=this.stdev({source:t,length:e},n);if(s===void 0||a===void 0)return;const l=r*a;return(s+l-(s-l))/s}cci({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;const n=this.sma({source:t,length:e},r),s=this.dev({source:t,length:e},r);if(!(n===void 0||s===void 0))return(t-n)/(.015*s)}change({source:t,length:e=1},r){const n=this._cacheData[`change_${r}`]||[];n[this._variables.bar_index]=t,this._cacheData[`change_${r}`]=n;const s=n[n.length-1-e];if(!(t===void 0||isNaN(t)))return s===void 0?s:typeof t=="boolean"?s!==t:t-s}cmo({series:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;const n=this.change({source:t},r);if(n===void 0)return;const s=this._math.sum({source:n>=0?n:0,length:e},`sm1_${r}`),a=this._math.sum({source:n>=0?0:-n,length:e},`sm2_${r}`);if(!(s===void 0||a===void 0))return 100*(s-a)/(s+a)}cog({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;const n=this._cacheDataList(t,e,`cog_${r}`),s=this._math.sum({source:t,length:e},r);if(s===void 0||n===void 0)return;let a=0;for(let l=0;l<e;l++){const f=n[n.length-1-l];a+=f*(l+1)}return-a/s}correlation({source1:t,source2:e,length:r},n){if(t===void 0||isNaN(t)||e===void 0||isNaN(e)||r===void 0)return;const s=this._cacheDataList([t,e],r,`correlation_${n}`),a=this.sma({source:t,length:r},`sma1_${n}`),l=this.sma({source:e,length:r},`sma2_${n}`);if(a===void 0||l===void 0||s===void 0)return;let f=0,h=0,p=0;for(let d=0;d<r;d++){const[g,w]=s[s.length-1-d],m=g-a,D=w-l;f+=m*D,h+=m*m,p+=D*D}return isNaN(h)||isNaN(f)||isNaN(p)?void 0:f/Math.sqrt(h*p)}cross({source1:t,source2:e},r){if(t===void 0||e===void 0)return!1;const{source1:n,source2:s}=this._cacheData[`cross_${r}`]||{};return this._cacheDataHandle(`cross_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n>=s&&t<e||n<=s&&t>e}crossover({source1:t,source2:e},r){if(t===void 0||e===void 0)return!1;const{source1:n,source2:s}=this._cacheData[`crossover_${r}`]||{};return this._cacheDataHandle(`crossover_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n<=s&&t>e}crossunder({source1:t,source2:e},r){if(t===void 0||e===void 0)return!1;const{source1:n,source2:s}=this._cacheData[`crossunder_${r}`]||{};return this._cacheDataHandle(`crossunder_${r}`,{source1:t,source2:e}),n===void 0||s===void 0?!1:n>=s&&t<e}cum({source:t=0},e){t=isNaN(t)?0:t;let{sum:r}=this._cacheData[`cum_${e}`]||{};return r=r||0,r+=t,this._cacheDataHandle(`cum_${e}`,{sum:r}),r}dev({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return;const n=this.sma({source:t,length:e},r);let s=0;const a=this._cacheDataList(t,e,`dev_${r}`);if(!(!a||n===void 0)){for(let l=0;l<e;l++){const f=a[a.length-1-l];s+=Math.abs(f-n)}return s/e}}dmi({diLength:t,adxSmoothing:e},r){if(t===void 0||e===void 0)return[void 0,void 0,void 0];const n=`dmi_${r}`,{low:s,high:a,close:l,PDMS:f,NDMS:h,TRS:p,ADX:c,count:d=0}=this._cacheData[n]||{},{low:g,high:w,close:m}=this._variables;if(s===void 0||a===void 0||l===void 0)return this._cacheData[n]={low:g,high:w,close:m,PDMS:f,NDMS:h,TRS:w-g,count:1},[void 0,void 0,void 0];let D=w-a,v=s-g;D=D>v&&D>0?D:0,v=v>D&&v>0?v:0,D===v&&(D=v=0);const E=Math.max(w-g,Math.abs(w-l),Math.abs(g-l));if(d<t)return this._cacheDataHandle(n,{low:g,high:w,close:m,PDMS:(f||0)+D,NDMS:(h||0)+v,TRS:(p||0)+E,count:d+1}),[void 0,void 0,void 0];{const b=f-f/t+D,N=h-h/t+v,x=p-p/t+E,F=b/x*100,M=N/x*100,S=Math.abs((F-M)/(F+M))*100;let I=S,C=[F,M,void 0];if(d+1-t<e){const O=d+1-t;I=((c||0)*(O-1)+S)/O}else I=(c*(e-1)+S)/e,C=[F,M,I];return this._cacheDataHandle(n,{low:g,high:w,close:m,PDMS:b,NDMS:N,TRS:x,ADX:I,count:d+1}),C}}ema({source:t,length:e},r){if(t===void 0||e===void 0||isNaN(t))return;let{sum:n,count:s=1}=this._cacheData[`ema_${r}`]||{};const a=this.sma({source:t,length:e},r);if(s>e){const l=2/(e+1);n=n===void 0?t:l*t+(1-l)*(n||0)}else n=a;return s+=1,this._cacheDataHandle(`ema_${r}`,{sum:n,count:s}),n}falling({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return!1;const{source:n,fallings:s=[]}=this._cacheData[`falling_${r}`]||{};s.push(n>t);const a=s.slice(-e);return this._cacheDataHandle(`falling_${r}`,{source:t,fallings:a}),a.length<e?!1:a.every(l=>l)}rising({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0)return!1;const{source:n,risings:s=[]}=this._cacheData[`rising_${r}`]||{};s.push(n<t);const a=s.slice(-e);return this._cacheDataHandle(`rising_${r}`,{source:t,risings:a}),a.length<e?!1:a.every(l=>l)}highest({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`highest_${r}`]||[],{high:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`highest_${r}`]=n;const l=n.filter(()=>!0);if(!(l.length<e))return Math.max(...l.slice(-e))}highestbars({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`highestbars_${r}`]||[],{high:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`highestbars_${r}`]=n;const l=n.filter(()=>!0);return l.length<e?void 0:l.slice(-e).reduce((h,p,c,d)=>p>=d[h]?c:h,0)-e+1}wma({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`wma_${r}`);if(!n)return;let s=0,a=0;for(let l=0;l<e;l++){const f=(e-l)*e;s+=f,a+=n[n.length-1-l]*f}return a/s}hma({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this.wma({source:t,length:e},r),s=this.wma({source:t,length:Math.round(e/2)},r);return n===void 0||s===void 0?void 0:this.wma({source:2*s-n,length:Math.floor(Math.sqrt(e))},`hma_${r}`)}kc({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return[void 0,void 0,void 0];const a=this.ema({source:t,length:e},s),{ta:l,high:f,low:h}=this._variables,p=n?l.tr:f-h,c=this.ema({source:p,length:e},`range_${s}`);return[a,a+c*r,a-c*r]}kcw({series:t,length:e,mult:r,useTrueRange:n=!0},s){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return;const a=this.ema({source:t,length:e},s),{ta:l,high:f,low:h}=this._variables,p=n?l.tr:f-h,c=this.ema({source:p,length:e},`range_${s}`);return(a+c*r-(a-c*r))/a}linreg({source:t,length:e,offset:r},n){if(e===void 0||r===void 0)return;const s=this._cacheDataList(t,e,`dev_${n}`);if(!s)return;const a=s.slice(-e).filter(g=>g!==void 0);let l=0,f=0,h=0,p=0;for(const[g,w]of a.entries())l+=g,f+=w,h+=g*w,p+=g*g;const c=(e*h-l*f)/(e*p-l*l);return(f-c*l)/e+c*(e-1-r)}lowest({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`lowest_${r}`]||[],{low:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`lowest_${r}`]=n;const l=n.filter(()=>!0);if(!(l.length<e))return Math.min(...l.slice(-e))}lowestbars({source:t,length:e},r){if(e===void 0||e<=0)return;const n=this._cacheData[`lowestbars_${r}`]||[],{low:s,bar_index:a}=this._variables;typeof t!="number"?n[a]=s:n[a]=t,this._cacheData[`lowestbars_${r}`]=n;const l=n.filter(()=>!0);return l.length<e?void 0:l.slice(-e).reduce((h,p,c,d)=>p<=d[h]?c:h,0)-e+1}macd({source:t,fastlen:e,slowlen:r,siglen:n},s){if(t===void 0||isNaN(t)||e===void 0||r===void 0||n===void 0)return[void 0,void 0,void 0];const a=this.ema({source:t,length:e},`ema1_${s}`),l=this.ema({source:t,length:r},`ema2_${s}`);if(a===void 0||l===void 0)return[void 0,void 0,void 0];const f=a-l,h=this.ema({source:f,length:n},`macd_${s}`);if(h===void 0)return[f,h,void 0];const p=f-h;return[f,h,p]}max({source:t},e){if(t===void 0||isNaN(t))return;let r=this._cacheData[`max_${e}`]||0;return t>r&&(r=t),this._cacheData[`max_${e}`]=r,r}min({source:t},e){if(t===void 0||isNaN(t))return;let r=this._cacheData[`min_${e}`]||1/0;return t<r&&(r=t),this._cacheData[`min_${e}`]=r,r}median({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`dev_${r}`);if(n)return $c(n.slice(-e))}mfi({series:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const{volume:n}=this._variables,s=this.change({source:t},r),a=this._math.sum({source:n*(s>=0?0:t),length:e},`lower_${r}`),l=this._math.sum({source:n*(s<=0?0:t),length:e},`upper_${r}`);if(!(l===void 0||a===void 0))return 100-100/(1+l/a)}mode({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<=0)return;const n=this._cacheDataList(t,e,`mode_${r}`);if(n)return Ia(Fc(n.slice(-e)))}mom({source:t,length:e},r){if(e===void 0||e<0)return;const n=`mom_${r}`,s=this._cacheData[n]||[];if(s[this._variables.bar_index]=t,this._cacheData[n]=s,s.length<=e||t===void 0||isNaN(t))return;let a=s.length-e-1,l;for(;l===void 0&&a>=0;)l=s[a],a--;return l===void 0?l:t-l}percentile_linear_interpolation({source:t,length:e,percentage:r},n){if(e===void 0||r===void 0||e<0||r<0||r>100)return;const s=this._cacheDataList(t,e+1,`percentile_linear_interpolation_${n}`);if(!s)return;const a=this._sort(s.slice(-(e+1))),l=a.length;r/=100;const f=1/(l*2);if(r<=f)return a[0];if(r>=1-1/(l*2))return a[l-1];for(const[h,p]of a.entries()){const c=a[h-1];if(r<(h+.5)/l)return c===void 0||p===void 0?void 0:c+(p-c)*(r-(h-.5)/l)/(1/l)}}percentile_nearest_rank({source:t,length:e,percentage:r},n){if(e===void 0||r===void 0||t===void 0||isNaN(t)||e<0||r<0||r>100)return;const s=this._cacheDataList(t,e,`percentile_nearest_rank_${n}`);if(!s)return;const a=this._sort(s.slice(-e)),l=r/100*a.length,f=Math.ceil(l)-1;return a[f>=a.length?a.length-1:f]}percentrank({source:t,length:e},r){if(e===void 0||e<0)return;const n=this._cacheDataList(t,e+1,`percentile_nearest_rank_${r}`);if(!n)return;const s=n.slice(-(e+1)),a=t;if(a===void 0)return;let l=0;for(let f=0;f<s.length;f++)s[f]!==void 0&&(s[f]<a||s[f]===a&&f<e)&&l++;return l/(s.length-1)*100}pivot_point_levels({type:t,anchor:e,developing:r},n){const s=new Qt;let{close:a,open:l,low:f,high:h}=this._variables;const p=`pivot_point_levels_${n}`,{close:c,low:d,high:g,open:w,result:m}=this._cacheData[p]||{};if(!e&&(g&&d&&(h=Math.max(g,h),f=Math.min(d,f)),this._cacheDataHandle(p,{close:a,open:l,low:f,high:h,result:m}),!r))return s._value=m||[],s;const D={close:a,open:l,low:f,high:h};e===!0&&!r&&(a=c,l=w,f=d,h=g);const v=this._getPivotPointLevels(h,f,a,l,r,t);return this._cacheDataHandle(p,{...D,result:v}),s._value=v,s}_getPivotPointLevels(t,e,r,n,s,a){if(r===void 0||n===void 0||e===void 0||t===void 0)return[];switch(a){case Zn.traditional:return this._traditional(t,e,r);case Zn.fibonacci:return this._fibonacci(t,e,r);case Zn.woodie:return s?[]:this._woodie(t,e);case Zn.classic:return this._classic(t,e,r);case Zn.dm:return this._DM(t,e,r,n);case Zn.camarilla:return this._camarilla(t,e,r);default:return[]}}_traditional(t,e,r){const n=(t+e+r)/3,s=n*2-e,a=n+(t-e),l=n*2+(t-2*e),f=n*3+(t-3*e),h=n*4+(t-4*e),p=n*2-t,c=n-(t-e),d=n*2-(2*t-e),g=n*3-(3*t-e),w=n*4-(4*t-e);return[n,s,p,a,c,l,d,f,g,h,w]}_fibonacci(t,e,r){const n=(t+e+r)/3,s=n+.382*(t-e),a=n-.382*(t-e),l=n+.618*(t-e),f=n-.618*(t-e),h=n+(t-e),p=n-(t-e);return[n,s,a,l,f,h,p]}_woodie(t,e){const{open:r}=this._variables,n=(t+e+2*r)/4,s=2*n-e,a=2*n-t,l=n+(t-e),f=n-(t-e),h=t+2*(n-e),p=e-2*(t-n),c=h+(t-e),d=p-(t-e);return[n,s,a,l,f,h,p,c,d]}_classic(t,e,r){const n=(t+e+r)/3,s=2*n-e,a=2*n-t,l=n+(t-e),f=n-(t-e),h=n+2*(t-e),p=n-2*(t-e),c=n+3*(t-e),d=n-3*(t-e);return[n,s,a,l,f,h,p,c,d]}_DM(t,e,r,n){let s;n===r?s=t+e+2*r:r>n?s=2*t+e+r:s=2*e+t+r;const a=s/4,l=s/2-e,f=s/2-t;return[a,l,f]}_camarilla(t,e,r){const n=(t+e+r)/3,s=r+1.1*(t-e)/12,a=r-1.1*(t-e)/12,l=r+1.1*(t-e)/6,f=r-1.1*(t-e)/6,h=r+1.1*(t-e)/4,p=r-1.1*(t-e)/4,c=r+1.1*(t-e)/2,d=r-1.1*(t-e)/2,g=t/e*r,w=r-(g-r);return[n,s,a,l,f,h,p,c,d,g,w]}pivothigh({source:t=this._variables.high,leftbars:e,rightbars:r},n){if(e===void 0||r===void 0||e<0||r<0)return;const s=this._cacheDataList(t,e+r+1,`pivothigh_${n}`);if(!s)return;const a=s.slice(-(e+r+1)),l=a[e];return Math.max(...a)===l?l:void 0}pivotlow({source:t=this._variables.low,leftbars:e,rightbars:r},n){if(e===void 0||r===void 0||e<0||r<0)return;const s=this._cacheDataList(t,e+r+1,`pivotlow_${n}`);if(!s)return;const a=s.slice(-(e+r+1)),l=a[e];return Math.min(...a)===l?l:void 0}range({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<0)return;const n=this._cacheDataList(t,e,`range_${r}`);if(!n)return;const s=n.filter(f=>f!==void 0).slice(-e),a=Math.max(...s),l=Math.min(...s);return a-l}roc({source:t,length:e},r){if(e===void 0||e<0)return;const n=this._cacheDataList(t,e+1,`roc_${r}`),s=this.change({source:t,length:e},r);if(n)return 100*s/n[n.length-1-e]}rsi({source:t,length:e},r){if(e===void 0||t===void 0||isNaN(t)||e<0)return;const{source:n}=this._cacheData[`rsi_${r}`]||{},s=Math.max(t-n,0),a=Math.max(n-t,0),l=this.rma({source:s,length:e},`rma1_${r}`),f=this.rma({source:a,length:e},`rma2_${r}`);if(this._cacheDataHandle(`rsi_${r}`,{source:t}),!(l===void 0||f===void 0))return 100-100/(1+l/f)}sar({start:t,inc:e,max:r},n){if(t===void 0||e===void 0||r===void 0)return;const{close:s,low:a,high:l,preLow:f,preHigh:h,data:p={}}=this._cacheData[`sar_${n}`]||{};let{result:c,maxMin:d,acceleration:g,isBelow:w}=p,m=!1;const{close:D,low:v,high:E,bar_index:b}=this._variables;return b===1&&(D>s?(w=!0,d=E,c=a):(w=!1,d=v,c=l),m=!0,g=t),c=c+g*(d-c),w?c>v&&(m=!0,w=!1,c=Math.max(E,d||0),d=v,g=t):c<E&&(m=!0,w=!0,c=Math.min(v,d||0),d=E,g=t),m||(w?E>(d||0)&&(d=E,g=Math.min((g||0)+e,r)):v<(d||0)&&(d=v,g=Math.min((g||0)+e,r))),w?(c=Math.min(c,a),b>1&&(c=Math.min(c,f))):(c=Math.max(c,l),b>1&&(c=Math.max(c,h))),this._cacheDataHandle(`sar_${n}`,{high:E,close:D,low:v,preLow:a,preHigh:l,data:Object.assign(p,{result:c,maxMin:d,acceleration:g,isBelow:w})}),c}stoch({source:t,high:e,low:r,length:n},s){if(n===void 0||e===void 0||r===void 0||t===void 0||isNaN(t)||n<0)return;const a=this.lowest({source:r,length:n},s),l=this.highest({source:e,length:n},s);if(!(a===void 0||l===void 0))return 100*(this._variables.close-a)/(l-a)}supertrend({factor:t,atrPeriod:e},r){if(t===void 0||e===void 0)return[void 0,void 0];const{hl2:n,close:s}=this._variables,a=`supertrend_${r}`,{upperBand:l,lowerBand:f,superTrend:h,atr:p,close:c}=this._cacheData[a]||{},d=this.atr({length:e},r);if(d===void 0)return this._cacheDataHandle(a,{close:s}),[void 0,void 0];let g=n+t*d,w=n-t*d;const m=l||0,D=f||0;w=w>D||c<D?w:D,g=g<m||c>m?g:m;let v;p===void 0?v=1:h===m?v=s>g?-1:1:v=s<w?1:-1;const E=v===-1?w:g;return this._cacheDataHandle(a,{upperBand:g,lowerBand:w,superTrend:E,atr:d,close:s}),[E,v]}swma({source:t},e){let{list:r}=this._cacheData[`swma_${e}`]||{};if(r||(r=[]),r.push(t),r=r.slice(-4),this._cacheDataHandle(`swma_${e}`,{list:r}),!(r.filter(n=>n!==void 0).length<4))return r[3]*1/6+r[2]*2/6+r[1]*2/6+r[0]*1/6}tr({handle_na:t=!1},e){const{close:r,low:n,high:s}=this._variables,{close:a}=this._cacheData[`tr_${e}`]||{};return this._cacheDataHandle(`tr_${e}`,{close:r}),a===void 0?t?s-n:void 0:Math.max(s-n,Math.abs(s-a),Math.abs(n-a))}tsi({source:t,short_length:e,long_length:r},n){if(t===void 0||isNaN(t)||e===void 0||r===void 0)return;const s=this.change({source:t},n);if(s===void 0)return;const a=this.ema({source:Math.abs(s),length:e},`absema1_${n}`),l=this.ema({source:s,length:e},`ema1_${n}`);if(l===void 0)return;const f=this.ema({source:l,length:r},`ema2_${n}`),h=this.ema({source:a,length:e},`absema2_${n}`);if(f!==void 0)return f/h}valuewhen({condition:t,source:e,occurrence:r},n){if(e===void 0||r===void 0||r<0)return;let{list:s}=this._cacheData[`valuewhen_${n}`]||{};return s||(s=[]),t&&s.push(e),this._cacheDataHandle(`valuewhen_${n}`,{list:s}),s[s.length-1-r]}variance({source:t,length:e,biased:r=!0},n){if(t===void 0||isNaN(t)||e===void 0||e<0)return;const s=this.sma({source:t,length:e},n),a=this._cacheDataList(t,e,`mode_${n}`);if(!a||s===void 0)return;const l=a.filter(h=>h!==void 0&&!isNaN(h)).slice(-e);if(l.length<e)return;const f=l.reduce((h,p)=>h+Math.pow(p-s,2),0);if(f!==void 0)return r||e<=1?f/e:f/(e-1)}vwap({source:t,anchor:e,stdev_mult:r},n){if(t===void 0)return;e=e===void 0?this._timeframe.change({timeframe:"1D"},n):e;const{volume:s}=this._variables;let{sum:a=0,sumV:l=0,count:f=0,isReset:h,sumS:p=0}=this._cacheData[`vwap_${n}`]||{};if(e&&(a=l=f=p=0,h=!0),!h)return r!==void 0?[]:void 0;const c=t*s+a,d=s+l,g=c/d;return f++,r!==void 0?(p=s*Math.pow(t,2)+p,this._cacheDataHandle(`vwap_${n}`,{sum:c,sumV:d,count:f,isReset:h,sumS:p}),this._computeBands(p,d,r,g)):(this._cacheDataHandle(`vwap_${n}`,{sum:c,sumV:d,count:f,isReset:h}),g)}_computeBands(t,e,r,n){let s=t/e-Math.pow(n,2);s=s<0?0:s;const a=Math.sqrt(s),l=a!==void 0&&!isNaN(a)?n+r*a:void 0,f=a!==void 0&&!isNaN(a)?n-r*a:void 0;return[n,l,f]}vwma({source:t,length:e},r){if(t===void 0||isNaN(t)||e===void 0||e<=0)return;const{volume:n}=this._variables,s=this.sma({source:t*n,length:e},`sma1_${r}`),a=this.sma({source:n,length:e},`sma2_${r}`);if(!(s===void 0||a===void 0))return s/a}wpr({length:t},e){if(t===void 0||t<=0)return;const r=this.highest({length:t},e),n=this.lowest({length:t},e),{close:s}=this._variables;if(!(r===void 0||n===void 0))return(r-s)/(r-n)*-100}_sort(t){const e=t.length;for(let r=0;r<e;r++){let n={};for(let s=0;s<e-r;s++){const{currentVal:a,currentIndex:l}=n,f=t[s];if(f!==void 0){if(a!==void 0&&f<a){t.splice(s,1),t.splice(l,0,f),n={currentIndex:l+1,currentVal:a};continue}n={currentIndex:s,currentVal:f}}}}return t}_cacheDataList(t,e,r){const n=this._cacheData[r]||[];n[this._variables.bar_index]=t,this._cacheData[r]=n;const s=n.filter(()=>!0);if(!(s.length<e))return s}_cacheDataHandle(t,e){const{barIndex:r}=this._cacheData[t]||{};r!==this._variables.bar_index&&(this._cacheData[t]=Object.assign(e,{barIndex:this._variables.bar_index}))}}const Ye={onlyInLoop:"'$text' is only allowed inside loops",invalidType:"Invalid argument 'expr$index' in 'operator SQBR' call",typeUseError:"Cannot specify a type form '$text' without also specifying the type.",notTypeKeyword:"'$text' is not a valid type keyword in variable declaration",undeclared:"Undeclared identifier '$name'",repeatVar:"'$name' is already defined",typeRepeatErr:"type '$name' is already defined.",typeMismatch:"Cannot call '$operator' with argument '$index'. An argument of '$typeE' type was used but a '$typeR' is expected.",assignTypeMismatch:"Cannot assign a value of the `$typeE` type to the '$name' variable. The variable is declared with the `$typeR` type.",voidNotVar:"Void expression cannot be assigned to a variable",declareTypeErr:"Declared type '$type' is not compatible with assigned type '$valueType'",mapKeyValErr:"Cannot put <$typeA, $typeB> pairs into a map containing `$typeC` keys and `$typeD` values. The maps passed into the `$name()` function must have the same key types and value types.",inputSourceErr:"Invalid value for the '$name' parameter of the '$funcName' function. Possible values: [open, high, low, close, hl2, hlc3, ohlc4, hlcc4, volume].",buildInUseErr:"Cannot use '$name' as the default value of a type's field. The default value cannot be a function, variable or calculation.",argsLenErr:"Too many arguments passed into the `$name()` function call. Passed $lenA arguments but expected $lenB.",requiredParamErr:"No value assigned to the `$argName` parameter in $name()",argsSyntaxErr:"Syntax error after the argument for `$argName`. Arguments without their parameter name cannot be used after arguments with parameter names.",requestArgsErr:"Type $type cannot be used in $name '$argName' argument",mapKeyErr:"Incorrect `key` type `$type` in the variable. The `key` type must be one of the following: int, float, string, bool, color.",templateErr:"Incorrect number of arguments for the template: $countA expected, $countB passed.",templateNoSupportErr:"The '$name()' function does not support templates",ifOrSwitchTypeErr:"Return type of one of the '$keyword' blocks is not compatible with return type of other block(s) ($types)",argsNameErr:"The '$name' function does not have an argument with the name '$argName'",noFiledErr:"Object has no field $name",methodNotExistErr:"Could not find method or method reference '$methodName' for '$name'",tupleVarErr:"Syntax error: The quantities of tuple elements on each side of the assignment operator do not match. The right side has $indexA but the left side has $indexB.",tupleLeftVarErr:"Invalid assignment. Cannot assign a tuple to a variable '$name'.",tupleRightVarErr:"Cannot assign a variable to a tuple. The right side must be a function call or structure ('if', 'switch', 'for', 'while') returning a tuple with the same number of elements.",tempateTypeErr:"Syntax error: Only templates for arrays and matrices consist of a single type identifier enclosed in angle brackets.",qualifierErr:"'$name' is not a valid type qualifier. Possible values: 'const', 'simple', 'series'",notFindFuncErr:"Could not find function or function reference '$name'",naVarErr:"Value with NA type cannot be assigned to a variable that was defined without type keyword",notHistoryErr:"Variable '$name' doesn't have history values",defaultValueErr:"The default value cannot be a function, variable or calculation.",defaultValueTypeErr:"Default value of type $typeE can not be assigned to an argument of type $typeR",unaryErr:"Syntax error at input '$sign'",funcArgAssignErr:"Function arguments cannot be mutable ('$name')",declaredErr:"A variable declared with the '$prefix' keyword cannot accept values of the '$type' form. Assign a '$prefix' value to this variable or remove the '$prefix' keyword from its declaration.",globalFuncErr:"Cannot use '$name' in local scope",onlyStatementErr:"Scripts must contain one declaration statement: `indicator()`, `strategy()` or `library()`, Your script has $count.",modifyGlobalVarErr:"Cannot modify global variable '$name' in function",inputDefvalErr:"Arguments of input function must be of constant type, or 'source' builtin variables.",objectIsNaErr:"Cannot access the '$name' $type of an na object. The object is 'na'.",buidinAssignErr:"Cannot assign a new value to the built-in variable '$name'.",buidinVarErr:"Cannot shadow the built-in variable `$name` because it has already been used as a built-in.",useNaErr:"Cannot use an `na` value of an unspecified type in the `$name` function.",libraryTitleErr:"Invalid argument 'title' in 'library' call. It cannot contain spaces, special characters or begin with a digit.",exportFuncArgErr:"All exported functions args should be typified",indiRunErr:"An indicator must contain at least one of the following: any `plot*()` function, `barcolor()`, `bgcolor()`, `hline()`, `alertcondition()`, or any drawing (line, label, box, table, polyline).",libraryExportErr:"A library must contain at least one exported function, method, or type.",strategyRunErr:"A strategy must contain at least one of the following: any `strategy.*()` function that creates orders, any `plot*()` function, `barcolor()`, `bgcolor()`, `hline()`, or any drawing (line, label, box, table, polyline).",exportUseErr:"Only libraries can contain exported $type.",funcRepeatErr:"The '$name' function has overloads with the same parameters. The type of parameters must be different in overloaded versions of functions.",importMultipleErr:"Cannot import a library more than once",importNotExitErr:"The user '$username' does not have a published library titled '$libraryName'",importNameRepeatErr:"More than one import uses the same alias: $name. Previous usage at line: $line",exportFuncHasInputErr:"The exported function '$func' depends on the '$name' input variable, which is not allowed.",libraryTitleIsKeywordErr:"Invalid argument 'title' in 'library' call. Token: '$name' can't be used as library title.",exportFuncUseGlobalVarErr:"Cannot use global variables in exported functions. Function: $func",loopRuntimeErr:"Loop takes too long to execute (> 500 ms)",paramsErr:"Invalid value '$value' for '$param' parameter of the '$func' function. Possible values: $targetVal",displayErr:"Invalid argument 'display' in '$func' call. Possible values: $values"};Xr.SERIES,Xr.SIMPLE,Xr.INPUT,Xr.CONST,Xr.INT,Xr.FLOAT,Xr.BOOL,Xr.COLOR,Xr.STRING;const c1=["close","open","high","low","hl2","hlc3","hlcc4","ohlc4","volume"],h1=["case","catch","default","delete","do","finally","function","instanceof","new","return","this","throw","try","typeof","void","with"],p1=["linefill","polyline","matrix","series","simple","string","array","color","const","float","label","table","bool","line","box","int","map","continue","for","varip","var","in","export","import","method","switch","break","while","else","type","and","for","not","as","by","if","in","or","to"];class d1{constructor(t,e,r){z(this,"_cacheData");z(this,"_variables");z(this,"_errorListener");z(this,"_historyInputs");z(this,"_name");this._cacheData={},this._variables=t,this._errorListener=e,this._name=`inputs_${r}`,this._historyInputs=self.workerStorage.get(this._name)||{}}update(t){for(const e of t){const r=e.id;this._cacheData[r]=Object.assign(this._cacheData[r]||{},{...e,isModify:!0}),self.workerStorage.updateValue(this._name,`in_${e.index}`,{modifyDefval:e.sourceTypeName||e.defval})}}input(t,e){return this._cacheHandle(t,e)}int(t,e){return this._cacheHandle(t,e,sr.INT)}bool(t,e){return this._cacheHandle(t,e,sr.BOOL)}color(t,e){return this._cacheHandle(t,e,sr.COLOR)}time(t,e){return this._cacheHandle(t,e,sr.TIME)}float(t,e){return this._cacheHandle(t,e,sr.FLOAT)}price(t,e){return this._cacheHandle(t,e,sr.PRICE)}source(t,e){return this._cacheHandle(t,e,sr.SOURCE)}string(t,e){return this._cacheHandle(t,e,sr.STRING)}symbol(t,e){return this._cacheHandle(t,e,sr.SYMBOL)}session(t,e){return this._cacheHandle(t,e,sr.SESSION)}text_area(t,e){return this._cacheHandle(t,e,sr.TEXT_AREA)}timeframe(t,e){return this._cacheHandle(t,e,sr.TIMEFRAME)}_cacheHandle(t,e,r){if(e.startsWith("export"))return t.defval;const n=`${r||"input"}_${e}`,s=this._cacheData[n];if(t.defval===void 0&&this._errorListener.addError(Ye.inputDefvalErr,e,jt.Error),s)s.isModify?s.sourceTypeName&&(this._cacheData[n].defval=this._variables[s.sourceTypeName]):Object.assign(this._cacheData[n],t);else{const{defval:a,display:l}=t;this._displayVerify(e,l),t={inputType:r,...t},this._cacheData[n]=t,this._judgeHistoryInputs(t),(r||t.inputType)===sr.SOURCE?this._cacheData[n].options=c1:t.options&&!t.options.includes(a)&&this._errorListener.addError(`input's defval should be in options, but '${a}' is not in [${t.options.toString()}]`,e,jt.Error)}return this._cacheData[n].defval}_judgeHistoryInputs(t){const{defval:e,sourceTypeName:r,index:n}=t;let s=r||e;const a=`in_${n}`,l=this._historyInputs[a];if(!l)self.workerStorage.setValue(this._name,a,{defval:s});else{const{defval:f,modifyDefval:h}=l;f===s?s=h||s:self.workerStorage.setValue(this._name,a,{defval:s})}r?t.sourceTypeName=s:t.defval=s}_displayVerify(t,e){!e||!e.length||e.includes(Ue.dataWindow)||e.includes(Ue.statusLine)||this._errorListener.addError(Qe(Ye.displayErr,{func:"input",values:"[display.none, display.data_window, display.status_line, display.all]"}),t,jt.Error)}getInputs(){const t=Object.keys(this._cacheData),e=[];for(const r of t){const n=this._cacheData[r];n.id=r,e.push(n)}return e.sort((r,n)=>(r.index||0)-(n.index||0))}}class _1{color({x:t}){return t}new({color:t,transp:e=100}){_t(e)&&(e=100);const{r,g:n,b:s}=this._parseColor(t||"");return`rgba(${Math.round(r)}, ${Math.round(n)}, ${Math.round(s)}, ${(100-e)/100})`}rgb({red:t=0,green:e=0,blue:r=0,transp:n=0}){return _t(n)&&(n=0),_t(t)&&(t=0),_t(e)&&(e=0),_t(r)&&(r=0),`rgba(${t}, ${e}, ${r}, ${(100-n)/100})`}g({color:t}){return t?this._parseColor(t).g:0}r({color:t}){return t?this._parseColor(t).r:0}b({color:t}){return t?this._parseColor(t).b:0}t({color:t}){return t?Math.round(this._parseColor(t).a*100):0}from_gradient({value:t,bottom_value:e,top_value:r,bottom_color:n,top_color:s}){if(_t(t)||_t(e)||_t(r))return"rgba(0,0,0,1)";const a=(t-e)/(r-e),l=Math.min(Math.max(a,0),1),{r:f,g:h,b:p,a:c}=this._parseColor(n||"rgba(0,0,0,0)"),{r:d,g,b:w,a:m}=this._parseColor(s||"rgba(0,0,0,0)"),D=f+l*(d-f),v=h+l*(g-h),E=p+l*(w-p),b=c+l*(m-c);return`rgba(${Math.round(D)}, ${Math.round(v)}, ${Math.round(E)}, ${b.toFixed(2)})`}_parseColor(t){let e,r,n,s;if(t.startsWith("#")){e=parseInt(t.substring(1,3),16),r=parseInt(t.substring(3,5),16),n=parseInt(t.substring(5,7),16);const a=t.substring(7);a?s=(255-parseInt(a,16))/255:s=1}else{const a=this._parserRgbColor(t);e=a[0]||0,r=a[1]||0,n=a[2]||0,s=a[3]||1}return{r:e,g:r,b:n,a:s}}_parserRgbColor(t){var e;return((e=t.match(/\d+/g))==null?void 0:e.map(Number))||[]}}var zt={};const m1=Object.prototype.toString;function Xi(i){const t=m1.call(i);return t.endsWith("Array]")&&!t.includes("Big")}var g1=Object.freeze({__proto__:null,isAnyArray:Xi}),v1=Ce(g1);function w1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Xi(i))throw new TypeError("input must be an array");if(i.length===0)throw new TypeError("input must not be empty");var e=t.fromIndex,r=e===void 0?0:e,n=t.toIndex,s=n===void 0?i.length:n;if(r<0||r>=i.length||!Number.isInteger(r))throw new Error("fromIndex must be a positive integer smaller than length");if(s<=r||s>i.length||!Number.isInteger(s))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var a=i[r],l=r+1;l<s;l++)i[l]>a&&(a=i[l]);return a}function y1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Xi(i))throw new TypeError("input must be an array");if(i.length===0)throw new TypeError("input must not be empty");var e=t.fromIndex,r=e===void 0?0:e,n=t.toIndex,s=n===void 0?i.length:n;if(r<0||r>=i.length||!Number.isInteger(r))throw new Error("fromIndex must be a positive integer smaller than length");if(s<=r||s>i.length||!Number.isInteger(s))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var a=i[r],l=r+1;l<s;l++)i[l]<a&&(a=i[l]);return a}function D1(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Xi(i)){if(i.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var e;if(t.output!==void 0){if(!Xi(t.output))throw new TypeError("output option must be an array if specified");e=t.output}else e=new Array(i.length);var r=y1(i),n=w1(i);if(r===n)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var s=t.min,a=s===void 0?t.autoMinMax?r:0:s,l=t.max,f=l===void 0?t.autoMinMax?n:1:l;if(a>=f)throw new RangeError("min option must be smaller than max option");for(var h=(f-a)/(n-r),p=0;p<i.length;p++)e[p]=(i[p]-r)*h+a;return e}var b1=Object.freeze({__proto__:null,default:D1}),E1=Ce(b1);Object.defineProperty(zt,"__esModule",{value:!0});var ar=v1,Lc=E1;const to=" ".repeat(2),Rc=" ".repeat(4);function x1(){return Pc(this)}function Pc(i,t={}){const{maxRows:e=15,maxColumns:r=10,maxNumSize:n=8,padMinus:s="auto"}=t;return`${i.constructor.name} {
55
+ ${to}[
56
+ ${Rc}${A1(i,e,r,n,s)}
57
+ ${to}]
58
+ ${to}rows: ${i.rows}
59
+ ${to}columns: ${i.columns}
60
+ }`}function A1(i,t,e,r,n){const{rows:s,columns:a}=i,l=Math.min(s,t),f=Math.min(a,e),h=[];if(n==="auto"){n=!1;t:for(let p=0;p<l;p++)for(let c=0;c<f;c++)if(i.get(p,c)<0){n=!0;break t}}for(let p=0;p<l;p++){let c=[];for(let d=0;d<f;d++)c.push(C1(i.get(p,d),r,n));h.push(`${c.join(" ")}`)}return f!==a&&(h[h.length-1]+=` ... ${a-e} more columns`),l!==s&&h.push(`... ${s-t} more rows`),h.join(`
61
+ ${Rc}`)}function C1(i,t,e){return(i>=0&&e?` ${zc(i,t-1)}`:zc(i,t)).padEnd(t)}function zc(i,t){let e=i.toString();if(e.length<=t)return e;let r=i.toFixed(t);if(r.length>t&&(r=i.toFixed(Math.max(0,t-(r.length-t)))),r.length<=t&&!r.startsWith("0.000")&&!r.startsWith("-0.000"))return r;let n=i.toExponential(t);return n.length>t&&(n=i.toExponential(Math.max(0,t-(n.length-t)))),n.slice(0)}function F1(i,t){i.prototype.add=function(r){return typeof r=="number"?this.addS(r):this.addM(r)},i.prototype.addS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)+r);return this},i.prototype.addM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)+r.get(n,s));return this},i.add=function(r,n){return new t(r).add(n)},i.prototype.sub=function(r){return typeof r=="number"?this.subS(r):this.subM(r)},i.prototype.subS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)-r);return this},i.prototype.subM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)-r.get(n,s));return this},i.sub=function(r,n){return new t(r).sub(n)},i.prototype.subtract=i.prototype.sub,i.prototype.subtractS=i.prototype.subS,i.prototype.subtractM=i.prototype.subM,i.subtract=i.sub,i.prototype.mul=function(r){return typeof r=="number"?this.mulS(r):this.mulM(r)},i.prototype.mulS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)*r);return this},i.prototype.mulM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)*r.get(n,s));return this},i.mul=function(r,n){return new t(r).mul(n)},i.prototype.multiply=i.prototype.mul,i.prototype.multiplyS=i.prototype.mulS,i.prototype.multiplyM=i.prototype.mulM,i.multiply=i.mul,i.prototype.div=function(r){return typeof r=="number"?this.divS(r):this.divM(r)},i.prototype.divS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)/r);return this},i.prototype.divM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)/r.get(n,s));return this},i.div=function(r,n){return new t(r).div(n)},i.prototype.divide=i.prototype.div,i.prototype.divideS=i.prototype.divS,i.prototype.divideM=i.prototype.divM,i.divide=i.div,i.prototype.mod=function(r){return typeof r=="number"?this.modS(r):this.modM(r)},i.prototype.modS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)%r);return this},i.prototype.modM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)%r.get(n,s));return this},i.mod=function(r,n){return new t(r).mod(n)},i.prototype.modulus=i.prototype.mod,i.prototype.modulusS=i.prototype.modS,i.prototype.modulusM=i.prototype.modM,i.modulus=i.mod,i.prototype.and=function(r){return typeof r=="number"?this.andS(r):this.andM(r)},i.prototype.andS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)&r);return this},i.prototype.andM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)&r.get(n,s));return this},i.and=function(r,n){return new t(r).and(n)},i.prototype.or=function(r){return typeof r=="number"?this.orS(r):this.orM(r)},i.prototype.orS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)|r);return this},i.prototype.orM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)|r.get(n,s));return this},i.or=function(r,n){return new t(r).or(n)},i.prototype.xor=function(r){return typeof r=="number"?this.xorS(r):this.xorM(r)},i.prototype.xorS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)^r);return this},i.prototype.xorM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)^r.get(n,s));return this},i.xor=function(r,n){return new t(r).xor(n)},i.prototype.leftShift=function(r){return typeof r=="number"?this.leftShiftS(r):this.leftShiftM(r)},i.prototype.leftShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)<<r);return this},i.prototype.leftShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)<<r.get(n,s));return this},i.leftShift=function(r,n){return new t(r).leftShift(n)},i.prototype.signPropagatingRightShift=function(r){return typeof r=="number"?this.signPropagatingRightShiftS(r):this.signPropagatingRightShiftM(r)},i.prototype.signPropagatingRightShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>r);return this},i.prototype.signPropagatingRightShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>r.get(n,s));return this},i.signPropagatingRightShift=function(r,n){return new t(r).signPropagatingRightShift(n)},i.prototype.rightShift=function(r){return typeof r=="number"?this.rightShiftS(r):this.rightShiftM(r)},i.prototype.rightShiftS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>>r);return this},i.prototype.rightShiftM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,this.get(n,s)>>>r.get(n,s));return this},i.rightShift=function(r,n){return new t(r).rightShift(n)},i.prototype.zeroFillRightShift=i.prototype.rightShift,i.prototype.zeroFillRightShiftS=i.prototype.rightShiftS,i.prototype.zeroFillRightShiftM=i.prototype.rightShiftM,i.zeroFillRightShift=i.rightShift,i.prototype.not=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,~this.get(r,n));return this},i.not=function(r){return new t(r).not()},i.prototype.abs=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.abs(this.get(r,n)));return this},i.abs=function(r){return new t(r).abs()},i.prototype.acos=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.acos(this.get(r,n)));return this},i.acos=function(r){return new t(r).acos()},i.prototype.acosh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.acosh(this.get(r,n)));return this},i.acosh=function(r){return new t(r).acosh()},i.prototype.asin=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.asin(this.get(r,n)));return this},i.asin=function(r){return new t(r).asin()},i.prototype.asinh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.asinh(this.get(r,n)));return this},i.asinh=function(r){return new t(r).asinh()},i.prototype.atan=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.atan(this.get(r,n)));return this},i.atan=function(r){return new t(r).atan()},i.prototype.atanh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.atanh(this.get(r,n)));return this},i.atanh=function(r){return new t(r).atanh()},i.prototype.cbrt=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cbrt(this.get(r,n)));return this},i.cbrt=function(r){return new t(r).cbrt()},i.prototype.ceil=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.ceil(this.get(r,n)));return this},i.ceil=function(r){return new t(r).ceil()},i.prototype.clz32=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.clz32(this.get(r,n)));return this},i.clz32=function(r){return new t(r).clz32()},i.prototype.cos=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cos(this.get(r,n)));return this},i.cos=function(r){return new t(r).cos()},i.prototype.cosh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.cosh(this.get(r,n)));return this},i.cosh=function(r){return new t(r).cosh()},i.prototype.exp=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.exp(this.get(r,n)));return this},i.exp=function(r){return new t(r).exp()},i.prototype.expm1=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.expm1(this.get(r,n)));return this},i.expm1=function(r){return new t(r).expm1()},i.prototype.floor=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.floor(this.get(r,n)));return this},i.floor=function(r){return new t(r).floor()},i.prototype.fround=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.fround(this.get(r,n)));return this},i.fround=function(r){return new t(r).fround()},i.prototype.log=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log(this.get(r,n)));return this},i.log=function(r){return new t(r).log()},i.prototype.log1p=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log1p(this.get(r,n)));return this},i.log1p=function(r){return new t(r).log1p()},i.prototype.log10=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log10(this.get(r,n)));return this},i.log10=function(r){return new t(r).log10()},i.prototype.log2=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.log2(this.get(r,n)));return this},i.log2=function(r){return new t(r).log2()},i.prototype.round=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.round(this.get(r,n)));return this},i.round=function(r){return new t(r).round()},i.prototype.sign=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sign(this.get(r,n)));return this},i.sign=function(r){return new t(r).sign()},i.prototype.sin=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sin(this.get(r,n)));return this},i.sin=function(r){return new t(r).sin()},i.prototype.sinh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sinh(this.get(r,n)));return this},i.sinh=function(r){return new t(r).sinh()},i.prototype.sqrt=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.sqrt(this.get(r,n)));return this},i.sqrt=function(r){return new t(r).sqrt()},i.prototype.tan=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.tan(this.get(r,n)));return this},i.tan=function(r){return new t(r).tan()},i.prototype.tanh=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.tanh(this.get(r,n)));return this},i.tanh=function(r){return new t(r).tanh()},i.prototype.trunc=function(){for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.set(r,n,Math.trunc(this.get(r,n)));return this},i.trunc=function(r){return new t(r).trunc()},i.pow=function(r,n){return new t(r).pow(n)},i.prototype.pow=function(r){return typeof r=="number"?this.powS(r):this.powM(r)},i.prototype.powS=function(r){for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,Math.pow(this.get(n,s),r));return this},i.prototype.powM=function(r){if(r=t.checkMatrix(r),this.rows!==r.rows||this.columns!==r.columns)throw new RangeError("Matrices dimensions must be equal");for(let n=0;n<this.rows;n++)for(let s=0;s<this.columns;s++)this.set(n,s,Math.pow(this.get(n,s),r.get(n,s)));return this}}function Nr(i,t,e){let r=e?i.rows:i.rows-1;if(t<0||t>r)throw new RangeError("Row index out of range")}function Sr(i,t,e){let r=e?i.columns:i.columns-1;if(t<0||t>r)throw new RangeError("Column index out of range")}function yi(i,t){if(t.to1DArray&&(t=t.to1DArray()),t.length!==i.columns)throw new RangeError("vector size must be the same as the number of columns");return t}function Di(i,t){if(t.to1DArray&&(t=t.to1DArray()),t.length!==i.rows)throw new RangeError("vector size must be the same as the number of rows");return t}function $a(i,t){if(!ar.isAnyArray(t))throw new TypeError("row indices must be an array");for(let e=0;e<t.length;e++)if(t[e]<0||t[e]>=i.rows)throw new RangeError("row indices are out of range")}function La(i,t){if(!ar.isAnyArray(t))throw new TypeError("column indices must be an array");for(let e=0;e<t.length;e++)if(t[e]<0||t[e]>=i.columns)throw new RangeError("column indices are out of range")}function Ra(i,t,e,r,n){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(ro("startRow",t),ro("endRow",e),ro("startColumn",r),ro("endColumn",n),t>e||r>n||t<0||t>=i.rows||e<0||e>=i.rows||r<0||r>=i.columns||n<0||n>=i.columns)throw new RangeError("Submatrix indices are out of range")}function eo(i,t=0){let e=[];for(let r=0;r<i;r++)e.push(t);return e}function ro(i,t){if(typeof t!="number")throw new TypeError(`${i} must be a number`)}function bi(i){if(i.isEmpty())throw new Error("Empty matrix has no elements to index")}function M1(i){let t=eo(i.rows);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[e]+=i.get(e,r);return t}function N1(i){let t=eo(i.columns);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[r]+=i.get(e,r);return t}function S1(i){let t=0;for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)t+=i.get(e,r);return t}function B1(i){let t=eo(i.rows,1);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[e]*=i.get(e,r);return t}function O1(i){let t=eo(i.columns,1);for(let e=0;e<i.rows;++e)for(let r=0;r<i.columns;++r)t[r]*=i.get(e,r);return t}function T1(i){let t=1;for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)t*=i.get(e,r);return t}function I1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<r;a++){let l=0,f=0,h=0;for(let p=0;p<n;p++)h=i.get(a,p)-e[a],l+=h,f+=h*h;t?s.push((f-l*l/n)/(n-1)):s.push((f-l*l/n)/n)}return s}function $1(i,t,e){const r=i.rows,n=i.columns,s=[];for(let a=0;a<n;a++){let l=0,f=0,h=0;for(let p=0;p<r;p++)h=i.get(p,a)-e[a],l+=h,f+=h*h;t?s.push((f-l*l/r)/(r-1)):s.push((f-l*l/r)/r)}return s}function L1(i,t,e){const r=i.rows,n=i.columns,s=r*n;let a=0,l=0,f=0;for(let h=0;h<r;h++)for(let p=0;p<n;p++)f=i.get(h,p)-e,a+=f,l+=f*f;return t?(l-a*a/s)/(s-1):(l-a*a/s)/s}function R1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t[e])}function P1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t[r])}function z1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)-t)}function q1(i){const t=[];for(let e=0;e<i.rows;e++){let r=0;for(let n=0;n<i.columns;n++)r+=Math.pow(i.get(e,n),2)/(i.columns-1);t.push(Math.sqrt(r))}return t}function k1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t[e])}function U1(i){const t=[];for(let e=0;e<i.columns;e++){let r=0;for(let n=0;n<i.rows;n++)r+=Math.pow(i.get(n,e),2)/(i.rows-1);t.push(Math.sqrt(r))}return t}function W1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t[r])}function j1(i){const t=i.size-1;let e=0;for(let r=0;r<i.columns;r++)for(let n=0;n<i.rows;n++)e+=Math.pow(i.get(n,r),2)/t;return Math.sqrt(e)}function Y1(i,t){for(let e=0;e<i.rows;e++)for(let r=0;r<i.columns;r++)i.set(e,r,i.get(e,r)/t)}class $t{static from1DArray(t,e,r){if(t*e!==r.length)throw new RangeError("data length does not match given dimensions");let s=new pt(t,e);for(let a=0;a<t;a++)for(let l=0;l<e;l++)s.set(a,l,r[a*e+l]);return s}static rowVector(t){let e=new pt(1,t.length);for(let r=0;r<t.length;r++)e.set(0,r,t[r]);return e}static columnVector(t){let e=new pt(t.length,1);for(let r=0;r<t.length;r++)e.set(r,0,t[r]);return e}static zeros(t,e){return new pt(t,e)}static ones(t,e){return new pt(t,e).fill(1)}static rand(t,e,r={}){if(typeof r!="object")throw new TypeError("options must be an object");const{random:n=Math.random}=r;let s=new pt(t,e);for(let a=0;a<t;a++)for(let l=0;l<e;l++)s.set(a,l,n());return s}static randInt(t,e,r={}){if(typeof r!="object")throw new TypeError("options must be an object");const{min:n=0,max:s=1e3,random:a=Math.random}=r;if(!Number.isInteger(n))throw new TypeError("min must be an integer");if(!Number.isInteger(s))throw new TypeError("max must be an integer");if(n>=s)throw new RangeError("min must be smaller than max");let l=s-n,f=new pt(t,e);for(let h=0;h<t;h++)for(let p=0;p<e;p++){let c=n+Math.round(a()*l);f.set(h,p,c)}return f}static eye(t,e,r){e===void 0&&(e=t),r===void 0&&(r=1);let n=Math.min(t,e),s=this.zeros(t,e);for(let a=0;a<n;a++)s.set(a,a,r);return s}static diag(t,e,r){let n=t.length;e===void 0&&(e=n),r===void 0&&(r=e);let s=Math.min(n,e,r),a=this.zeros(e,r);for(let l=0;l<s;l++)a.set(l,l,t[l]);return a}static min(t,e){t=this.checkMatrix(t),e=this.checkMatrix(e);let r=t.rows,n=t.columns,s=new pt(r,n);for(let a=0;a<r;a++)for(let l=0;l<n;l++)s.set(a,l,Math.min(t.get(a,l),e.get(a,l)));return s}static max(t,e){t=this.checkMatrix(t),e=this.checkMatrix(e);let r=t.rows,n=t.columns,s=new this(r,n);for(let a=0;a<r;a++)for(let l=0;l<n;l++)s.set(a,l,Math.max(t.get(a,l),e.get(a,l)));return s}static checkMatrix(t){return $t.isMatrix(t)?t:new pt(t)}static isMatrix(t){return t!=null&&t.klass==="Matrix"}get size(){return this.rows*this.columns}apply(t){if(typeof t!="function")throw new TypeError("callback must be a function");for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.call(this,e,r);return this}to1DArray(){let t=[];for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.push(this.get(e,r));return t}to2DArray(){let t=[];for(let e=0;e<this.rows;e++){t.push([]);for(let r=0;r<this.columns;r++)t[e].push(this.get(e,r))}return t}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let t=0;t<this.rows;t++)for(let e=0;e<=t;e++)if(this.get(t,e)!==this.get(e,t))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let t=0;t<this.rows;t++)if(this.get(t,t)!==0)return!1;return!0}isEchelonForm(){let t=0,e=0,r=-1,n=!0,s=!1;for(;t<this.rows&&n;){for(e=0,s=!1;e<this.columns&&s===!1;)this.get(t,e)===0?e++:this.get(t,e)===1&&e>r?(s=!0,r=e):(n=!1,s=!0);t++}return n}isReducedEchelonForm(){let t=0,e=0,r=-1,n=!0,s=!1;for(;t<this.rows&&n;){for(e=0,s=!1;e<this.columns&&s===!1;)this.get(t,e)===0?e++:this.get(t,e)===1&&e>r?(s=!0,r=e):(n=!1,s=!0);for(let a=e+1;a<this.rows;a++)this.get(t,a)!==0&&(n=!1);t++}return n}echelonForm(){let t=this.clone(),e=0,r=0;for(;e<t.rows&&r<t.columns;){let n=e;for(let s=e;s<t.rows;s++)t.get(s,r)>t.get(n,r)&&(n=s);if(t.get(n,r)===0)r++;else{t.swapRows(e,n);let s=t.get(e,r);for(let a=r;a<t.columns;a++)t.set(e,a,t.get(e,a)/s);for(let a=e+1;a<t.rows;a++){let l=t.get(a,r)/t.get(e,r);t.set(a,r,0);for(let f=r+1;f<t.columns;f++)t.set(a,f,t.get(a,f)-t.get(e,f)*l)}e++,r++}}return t}reducedEchelonForm(){let t=this.echelonForm(),e=t.columns,r=t.rows,n=r-1;for(;n>=0;)if(t.maxRow(n)===0)n--;else{let s=0,a=!1;for(;s<r&&a===!1;)t.get(n,s)===1?a=!0:s++;for(let l=0;l<n;l++){let f=t.get(l,s);for(let h=s;h<e;h++){let p=t.get(l,h)-f*t.get(n,h);t.set(l,h,p)}}n--}return t}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{rows:e=1,columns:r=1}=t;if(!Number.isInteger(e)||e<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(r)||r<=0)throw new TypeError("columns must be a positive integer");let n=new pt(this.rows*e,this.columns*r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)n.setSubMatrix(this,this.rows*s,this.columns*a);return n}fill(t){for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,t);return this}neg(){return this.mulS(-1)}getRow(t){Nr(this,t);let e=[];for(let r=0;r<this.columns;r++)e.push(this.get(t,r));return e}getRowVector(t){return pt.rowVector(this.getRow(t))}setRow(t,e){Nr(this,t),e=yi(this,e);for(let r=0;r<this.columns;r++)this.set(t,r,e[r]);return this}swapRows(t,e){Nr(this,t),Nr(this,e);for(let r=0;r<this.columns;r++){let n=this.get(t,r);this.set(t,r,this.get(e,r)),this.set(e,r,n)}return this}getColumn(t){Sr(this,t);let e=[];for(let r=0;r<this.rows;r++)e.push(this.get(r,t));return e}getColumnVector(t){return pt.columnVector(this.getColumn(t))}setColumn(t,e){Sr(this,t),e=Di(this,e);for(let r=0;r<this.rows;r++)this.set(r,t,e[r]);return this}swapColumns(t,e){Sr(this,t),Sr(this,e);for(let r=0;r<this.rows;r++){let n=this.get(r,t);this.set(r,t,this.get(r,e)),this.set(r,e,n)}return this}addRowVector(t){t=yi(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)+t[r]);return this}subRowVector(t){t=yi(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)-t[r]);return this}mulRowVector(t){t=yi(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)*t[r]);return this}divRowVector(t){t=yi(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)/t[r]);return this}addColumnVector(t){t=Di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)+t[e]);return this}subColumnVector(t){t=Di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)-t[e]);return this}mulColumnVector(t){t=Di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)*t[e]);return this}divColumnVector(t){t=Di(this,t);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)this.set(e,r,this.get(e,r)/t[e]);return this}mulRow(t,e){Nr(this,t);for(let r=0;r<this.columns;r++)this.set(t,r,this.get(t,r)*e);return this}mulColumn(t,e){Sr(this,t);for(let r=0;r<this.rows;r++)this.set(r,t,this.get(r,t)*e);return this}max(t){if(this.isEmpty())return NaN;switch(t){case"row":{const e=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e[r]&&(e[r]=this.get(r,n));return e}case"column":{const e=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e[n]&&(e[n]=this.get(r,n));return e}case void 0:{let e=this.get(0,0);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>e&&(e=this.get(r,n));return e}default:throw new Error(`invalid option: ${t}`)}}maxIndex(){bi(this);let t=this.get(0,0),e=[0,0];for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)>t&&(t=this.get(r,n),e[0]=r,e[1]=n);return e}min(t){if(this.isEmpty())return NaN;switch(t){case"row":{const e=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e[r]&&(e[r]=this.get(r,n));return e}case"column":{const e=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e[n]&&(e[n]=this.get(r,n));return e}case void 0:{let e=this.get(0,0);for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<e&&(e=this.get(r,n));return e}default:throw new Error(`invalid option: ${t}`)}}minIndex(){bi(this);let t=this.get(0,0),e=[0,0];for(let r=0;r<this.rows;r++)for(let n=0;n<this.columns;n++)this.get(r,n)<t&&(t=this.get(r,n),e[0]=r,e[1]=n);return e}maxRow(t){if(Nr(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;r<this.columns;r++)this.get(t,r)>e&&(e=this.get(t,r));return e}maxRowIndex(t){Nr(this,t),bi(this);let e=this.get(t,0),r=[t,0];for(let n=1;n<this.columns;n++)this.get(t,n)>e&&(e=this.get(t,n),r[1]=n);return r}minRow(t){if(Nr(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;r<this.columns;r++)this.get(t,r)<e&&(e=this.get(t,r));return e}minRowIndex(t){Nr(this,t),bi(this);let e=this.get(t,0),r=[t,0];for(let n=1;n<this.columns;n++)this.get(t,n)<e&&(e=this.get(t,n),r[1]=n);return r}maxColumn(t){if(Sr(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r<this.rows;r++)this.get(r,t)>e&&(e=this.get(r,t));return e}maxColumnIndex(t){Sr(this,t),bi(this);let e=this.get(0,t),r=[0,t];for(let n=1;n<this.rows;n++)this.get(n,t)>e&&(e=this.get(n,t),r[0]=n);return r}minColumn(t){if(Sr(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r<this.rows;r++)this.get(r,t)<e&&(e=this.get(r,t));return e}minColumnIndex(t){Sr(this,t),bi(this);let e=this.get(0,t),r=[0,t];for(let n=1;n<this.rows;n++)this.get(n,t)<e&&(e=this.get(n,t),r[0]=n);return r}diag(){let t=Math.min(this.rows,this.columns),e=[];for(let r=0;r<t;r++)e.push(this.get(r,r));return e}norm(t="frobenius"){switch(t){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${t}`)}}cumulativeSum(){let t=0;for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t+=this.get(e,r),this.set(e,r,t);return this}dot(t){$t.isMatrix(t)&&(t=t.to1DArray());let e=this.to1DArray();if(e.length!==t.length)throw new RangeError("vectors do not have the same size");let r=0;for(let n=0;n<e.length;n++)r+=e[n]*t[n];return r}mmul(t){t=pt.checkMatrix(t);let e=this.rows,r=this.columns,n=t.columns,s=new pt(e,n),a=new Float64Array(r);for(let l=0;l<n;l++){for(let f=0;f<r;f++)a[f]=t.get(f,l);for(let f=0;f<e;f++){let h=0;for(let p=0;p<r;p++)h+=this.get(f,p)*a[p];s.set(f,l,h)}}return s}strassen2x2(t){t=pt.checkMatrix(t);let e=new pt(2,2);const r=this.get(0,0),n=t.get(0,0),s=this.get(0,1),a=t.get(0,1),l=this.get(1,0),f=t.get(1,0),h=this.get(1,1),p=t.get(1,1),c=(r+h)*(n+p),d=(l+h)*n,g=r*(a-p),w=h*(f-n),m=(r+s)*p,D=(l-r)*(n+a),v=(s-h)*(f+p),E=c+w-m+v,b=g+m,N=d+w,x=c-d+g+D;return e.set(0,0,E),e.set(0,1,b),e.set(1,0,N),e.set(1,1,x),e}strassen3x3(t){t=pt.checkMatrix(t);let e=new pt(3,3);const r=this.get(0,0),n=this.get(0,1),s=this.get(0,2),a=this.get(1,0),l=this.get(1,1),f=this.get(1,2),h=this.get(2,0),p=this.get(2,1),c=this.get(2,2),d=t.get(0,0),g=t.get(0,1),w=t.get(0,2),m=t.get(1,0),D=t.get(1,1),v=t.get(1,2),E=t.get(2,0),b=t.get(2,1),N=t.get(2,2),x=(r+n+s-a-l-p-c)*D,F=(r-a)*(-g+D),M=l*(-d+g+m-D-v-E+N),S=(-r+a+l)*(d-g+D),I=(a+l)*(-d+g),C=r*d,O=(-r+h+p)*(d-w+v),L=(-r+h)*(w-v),U=(h+p)*(-d+w),k=(r+n+s-l-f-h-p)*v,W=p*(-d+w+m-D-v-E+b),P=(-s+p+c)*(D+E-b),G=(s-c)*(D-b),Z=s*E,X=(p+c)*(-E+b),tt=(-s+l+f)*(v+E-N),ft=(s-f)*(v-N),vt=(l+f)*(-E+N),lt=n*m,yt=f*b,bt=a*w,Bt=h*g,Et=c*N,oe=C+Z+lt,Tt=x+S+I+C+P+Z+X,Nt=C+O+U+k+Z+tt+vt,ue=F+M+S+C+Z+tt+ft,re=F+S+I+C+yt,qt=Z+tt+ft+vt+bt,Jt=C+O+L+W+P+G+Z,Te=P+G+Z+X+Bt,mr=C+O+L+U+Et;return e.set(0,0,oe),e.set(0,1,Tt),e.set(0,2,Nt),e.set(1,0,ue),e.set(1,1,re),e.set(1,2,qt),e.set(2,0,Jt),e.set(2,1,Te),e.set(2,2,mr),e}mmulStrassen(t){t=pt.checkMatrix(t);let e=this.clone(),r=e.rows,n=e.columns,s=t.rows,a=t.columns;n!==s&&console.warn(`Multiplying ${r} x ${n} and ${s} x ${a} matrix: dimensions do not match.`);function l(c,d,g){let w=c.rows,m=c.columns;if(w===d&&m===g)return c;{let D=$t.zeros(d,g);return D=D.setSubMatrix(c,0,0),D}}let f=Math.max(r,s),h=Math.max(n,a);e=l(e,f,h),t=l(t,f,h);function p(c,d,g,w){if(g<=512||w<=512)return c.mmul(d);g%2===1&&w%2===1?(c=l(c,g+1,w+1),d=l(d,g+1,w+1)):g%2===1?(c=l(c,g+1,w),d=l(d,g+1,w)):w%2===1&&(c=l(c,g,w+1),d=l(d,g,w+1));let m=parseInt(c.rows/2,10),D=parseInt(c.columns/2,10),v=c.subMatrix(0,m-1,0,D-1),E=d.subMatrix(0,m-1,0,D-1),b=c.subMatrix(0,m-1,D,c.columns-1),N=d.subMatrix(0,m-1,D,d.columns-1),x=c.subMatrix(m,c.rows-1,0,D-1),F=d.subMatrix(m,d.rows-1,0,D-1),M=c.subMatrix(m,c.rows-1,D,c.columns-1),S=d.subMatrix(m,d.rows-1,D,d.columns-1),I=p($t.add(v,M),$t.add(E,S),m,D),C=p($t.add(x,M),E,m,D),O=p(v,$t.sub(N,S),m,D),L=p(M,$t.sub(F,E),m,D),U=p($t.add(v,b),S,m,D),k=p($t.sub(x,v),$t.add(E,N),m,D),W=p($t.sub(b,M),$t.add(F,S),m,D),P=$t.add(I,L);P.sub(U),P.add(W);let G=$t.add(O,U),Z=$t.add(C,L),X=$t.sub(I,C);X.add(O),X.add(k);let tt=$t.zeros(2*P.rows,2*P.columns);return tt=tt.setSubMatrix(P,0,0),tt=tt.setSubMatrix(G,P.rows,0),tt=tt.setSubMatrix(Z,0,P.columns),tt=tt.setSubMatrix(X,P.rows,P.columns),tt.subMatrix(0,g-1,0,w-1)}return p(e,t,f,h)}scaleRows(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let n=new pt(this.rows,this.columns);for(let s=0;s<this.rows;s++){const a=this.getRow(s);a.length>0&&Lc(a,{min:e,max:r,output:a}),n.setRow(s,a)}return n}scaleColumns(t={}){if(typeof t!="object")throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let n=new pt(this.rows,this.columns);for(let s=0;s<this.columns;s++){const a=this.getColumn(s);a.length&&Lc(a,{min:e,max:r,output:a}),n.setColumn(s,a)}return n}flipRows(){const t=Math.ceil(this.columns/2);for(let e=0;e<this.rows;e++)for(let r=0;r<t;r++){let n=this.get(e,r),s=this.get(e,this.columns-1-r);this.set(e,r,s),this.set(e,this.columns-1-r,n)}return this}flipColumns(){const t=Math.ceil(this.rows/2);for(let e=0;e<this.columns;e++)for(let r=0;r<t;r++){let n=this.get(r,e),s=this.get(this.rows-1-r,e);this.set(r,e,s),this.set(this.rows-1-r,e,n)}return this}kroneckerProduct(t){t=pt.checkMatrix(t);let e=this.rows,r=this.columns,n=t.rows,s=t.columns,a=new pt(e*n,r*s);for(let l=0;l<e;l++)for(let f=0;f<r;f++)for(let h=0;h<n;h++)for(let p=0;p<s;p++)a.set(n*l+h,s*f+p,this.get(l,f)*t.get(h,p));return a}kroneckerSum(t){if(t=pt.checkMatrix(t),!this.isSquare()||!t.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let e=this.rows,r=t.rows,n=this.kroneckerProduct(pt.eye(r,r)),s=pt.eye(e,e).kroneckerProduct(t);return n.add(s)}transpose(){let t=new pt(this.columns,this.rows);for(let e=0;e<this.rows;e++)for(let r=0;r<this.columns;r++)t.set(r,e,this.get(e,r));return t}sortRows(t=qc){for(let e=0;e<this.rows;e++)this.setRow(e,this.getRow(e).sort(t));return this}sortColumns(t=qc){for(let e=0;e<this.columns;e++)this.setColumn(e,this.getColumn(e).sort(t));return this}subMatrix(t,e,r,n){Ra(this,t,e,r,n);let s=new pt(e-t+1,n-r+1);for(let a=t;a<=e;a++)for(let l=r;l<=n;l++)s.set(a-t,l-r,this.get(a,l));return s}subMatrixRow(t,e,r){if(e===void 0&&(e=0),r===void 0&&(r=this.columns-1),e>r||e<0||e>=this.columns||r<0||r>=this.columns)throw new RangeError("Argument out of range");let n=new pt(t.length,r-e+1);for(let s=0;s<t.length;s++)for(let a=e;a<=r;a++){if(t[s]<0||t[s]>=this.rows)throw new RangeError(`Row index out of range: ${t[s]}`);n.set(s,a-e,this.get(t[s],a))}return n}subMatrixColumn(t,e,r){if(e===void 0&&(e=0),r===void 0&&(r=this.rows-1),e>r||e<0||e>=this.rows||r<0||r>=this.rows)throw new RangeError("Argument out of range");let n=new pt(r-e+1,t.length);for(let s=0;s<t.length;s++)for(let a=e;a<=r;a++){if(t[s]<0||t[s]>=this.columns)throw new RangeError(`Column index out of range: ${t[s]}`);n.set(a-e,s,this.get(a,t[s]))}return n}setSubMatrix(t,e,r){if(t=pt.checkMatrix(t),t.isEmpty())return this;let n=e+t.rows-1,s=r+t.columns-1;Ra(this,e,n,r,s);for(let a=0;a<t.rows;a++)for(let l=0;l<t.columns;l++)this.set(e+a,r+l,t.get(a,l));return this}selection(t,e){$a(this,t),La(this,e);let r=new pt(t.length,e.length);for(let n=0;n<t.length;n++){let s=t[n];for(let a=0;a<e.length;a++){let l=e[a];r.set(n,a,this.get(s,l))}}return r}trace(){let t=Math.min(this.rows,this.columns),e=0;for(let r=0;r<t;r++)e+=this.get(r,r);return e}clone(){return this.constructor.copy(this,new pt(this.rows,this.columns))}static copy(t,e){for(const[r,n,s]of t.entries())e.set(r,n,s);return e}sum(t){switch(t){case"row":return M1(this);case"column":return N1(this);case void 0:return S1(this);default:throw new Error(`invalid option: ${t}`)}}product(t){switch(t){case"row":return B1(this);case"column":return O1(this);case void 0:return T1(this);default:throw new Error(`invalid option: ${t}`)}}mean(t){const e=this.sum(t);switch(t){case"row":{for(let r=0;r<this.rows;r++)e[r]/=this.columns;return e}case"column":{for(let r=0;r<this.columns;r++)e[r]/=this.rows;return e}case void 0:return e/this.size;default:throw new Error(`invalid option: ${t}`)}}variance(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");const{unbiased:r=!0,mean:n=this.mean(t)}=e;if(typeof r!="boolean")throw new TypeError("unbiased must be a boolean");switch(t){case"row":{if(!ar.isAnyArray(n))throw new TypeError("mean must be an array");return I1(this,r,n)}case"column":{if(!ar.isAnyArray(n))throw new TypeError("mean must be an array");return $1(this,r,n)}case void 0:{if(typeof n!="number")throw new TypeError("mean must be a number");return L1(this,r,n)}default:throw new Error(`invalid option: ${t}`)}}standardDeviation(t,e){typeof t=="object"&&(e=t,t=void 0);const r=this.variance(t,e);if(t===void 0)return Math.sqrt(r);for(let n=0;n<r.length;n++)r[n]=Math.sqrt(r[n]);return r}center(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");const{center:r=this.mean(t)}=e;switch(t){case"row":{if(!ar.isAnyArray(r))throw new TypeError("center must be an array");return R1(this,r),this}case"column":{if(!ar.isAnyArray(r))throw new TypeError("center must be an array");return P1(this,r),this}case void 0:{if(typeof r!="number")throw new TypeError("center must be a number");return z1(this,r),this}default:throw new Error(`invalid option: ${t}`)}}scale(t,e={}){if(typeof t=="object"&&(e=t,t=void 0),typeof e!="object")throw new TypeError("options must be an object");let r=e.scale;switch(t){case"row":{if(r===void 0)r=q1(this);else if(!ar.isAnyArray(r))throw new TypeError("scale must be an array");return k1(this,r),this}case"column":{if(r===void 0)r=U1(this);else if(!ar.isAnyArray(r))throw new TypeError("scale must be an array");return W1(this,r),this}case void 0:{if(r===void 0)r=j1(this);else if(typeof r!="number")throw new TypeError("scale must be a number");return Y1(this,r),this}default:throw new Error(`invalid option: ${t}`)}}toString(t){return Pc(this,t)}[Symbol.iterator](){return this.entries()}*entries(){for(let t=0;t<this.rows;t++)for(let e=0;e<this.columns;e++)yield[t,e,this.get(t,e)]}*values(){for(let t=0;t<this.rows;t++)for(let e=0;e<this.columns;e++)yield this.get(t,e)}}$t.prototype.klass="Matrix",typeof Symbol<"u"&&($t.prototype[Symbol.for("nodejs.util.inspect.custom")]=x1);function qc(i,t){return i-t}function V1(i){return i.every(t=>typeof t=="number")}$t.random=$t.rand,$t.randomInt=$t.randInt,$t.diagonal=$t.diag,$t.prototype.diagonal=$t.prototype.diag,$t.identity=$t.eye,$t.prototype.negate=$t.prototype.neg,$t.prototype.tensorProduct=$t.prototype.kroneckerProduct;let pt=(Fi=class extends $t{constructor(e,r){super();Al(this,rs);z(this,"data");if(Fi.isMatrix(e))Cl(this,rs,Fl).call(this,e.rows,e.columns),Fi.copy(e,this);else if(Number.isInteger(e)&&e>=0)Cl(this,rs,Fl).call(this,e,r);else if(ar.isAnyArray(e)){const n=e;if(e=n.length,r=e?n[0].length:0,typeof r!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let s=0;s<e;s++){if(n[s].length!==r)throw new RangeError("Inconsistent array dimensions");if(!V1(n[s]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(n[s]))}this.rows=e,this.columns=r}else throw new TypeError("First argument must be a positive number or an array")}set(e,r,n){return this.data[e][r]=n,this}get(e,r){return this.data[e][r]}removeRow(e){return Nr(this,e),this.data.splice(e,1),this.rows-=1,this}addRow(e,r){return r===void 0&&(r=e,e=this.rows),Nr(this,e,!0),r=Float64Array.from(yi(this,r)),this.data.splice(e,0,r),this.rows+=1,this}removeColumn(e){Sr(this,e);for(let r=0;r<this.rows;r++){const n=new Float64Array(this.columns-1);for(let s=0;s<e;s++)n[s]=this.data[r][s];for(let s=e+1;s<this.columns;s++)n[s-1]=this.data[r][s];this.data[r]=n}return this.columns-=1,this}addColumn(e,r){typeof r>"u"&&(r=e,e=this.columns),Sr(this,e,!0),r=Di(this,r);for(let n=0;n<this.rows;n++){const s=new Float64Array(this.columns+1);let a=0;for(;a<e;a++)s[a]=this.data[n][a];for(s[a++]=r[n];a<this.columns+1;a++)s[a]=this.data[n][a-1];this.data[n]=s}return this.columns+=1,this}},rs=new WeakSet,Fl=function(e,r){if(this.data=[],Number.isInteger(r)&&r>=0)for(let n=0;n<e;n++)this.data.push(new Float64Array(r));else throw new TypeError("nColumns must be a positive integer");this.rows=e,this.columns=r},Fi);F1($t,pt);const _o=class _o extends $t{constructor(e){super();Al(this,Ke,void 0);if(pt.isMatrix(e)){if(!e.isSymmetric())throw new TypeError("not symmetric data");oa(this,Ke,pt.copy(e,new pt(e.rows,e.rows)))}else if(Number.isInteger(e)&&e>=0)oa(this,Ke,new pt(e,e));else if(oa(this,Ke,new pt(e)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return Jr(this,Ke).size}get rows(){return Jr(this,Ke).rows}get columns(){return Jr(this,Ke).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(e){return pt.isMatrix(e)&&e.klassType==="SymmetricMatrix"}static zeros(e){return new this(e)}static ones(e){return new this(e).fill(1)}clone(){const e=new _o(this.diagonalSize);for(const[r,n,s]of this.upperRightEntries())e.set(r,n,s);return e}toMatrix(){return new pt(this)}get(e,r){return Jr(this,Ke).get(e,r)}set(e,r,n){return Jr(this,Ke).set(e,r,n),Jr(this,Ke).set(r,e,n),this}removeCross(e){return Jr(this,Ke).removeRow(e),Jr(this,Ke).removeColumn(e),this}addCross(e,r){r===void 0&&(r=e,e=this.diagonalSize);const n=r.slice();return n.splice(e,1),Jr(this,Ke).addRow(e,n),Jr(this,Ke).addColumn(e,r),this}applyMask(e){if(e.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const r=[];for(const[n,s]of e.entries())s||r.push(n);r.reverse();for(const n of r)this.removeCross(n);return this}toCompact(){const{diagonalSize:e}=this,r=new Array(e*(e+1)/2);for(let n=0,s=0,a=0;a<r.length;a++)r[a]=this.get(s,n),++n>=e&&(n=++s);return r}static fromCompact(e){const r=e.length,n=(Math.sqrt(8*r+1)-1)/2;if(!Number.isInteger(n))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(e)}`);const s=new _o(n);for(let a=0,l=0,f=0;f<r;f++)s.set(a,l,e[f]),++a>=n&&(a=++l);return s}*upperRightEntries(){for(let e=0,r=0;e<this.diagonalSize;void 0){const n=this.get(e,r);yield[e,r,n],++r>=this.diagonalSize&&(r=++e)}}*upperRightValues(){for(let e=0,r=0;e<this.diagonalSize;void 0)yield this.get(e,r),++r>=this.diagonalSize&&(r=++e)}};Ke=new WeakMap;let Jn=_o;Jn.prototype.klassType="SymmetricMatrix";class no extends Jn{static isDistanceMatrix(t){return Jn.isSymmetricMatrix(t)&&t.klassSubType==="DistanceMatrix"}constructor(t){if(super(t),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(t,e,r){return t===e&&(r=0),super.set(t,e,r)}addCross(t,e){return e===void 0&&(e=t,t=this.diagonalSize),e=e.slice(),e[t]=0,super.addCross(t,e)}toSymmetricMatrix(){return new Jn(this)}clone(){const t=new no(this.diagonalSize);for(const[e,r,n]of this.upperRightEntries())e!==r&&t.set(e,r,n);return t}toCompact(){const{diagonalSize:t}=this,e=(t-1)*t/2,r=new Array(e);for(let n=1,s=0,a=0;a<r.length;a++)r[a]=this.get(s,n),++n>=t&&(n=++s+1);return r}static fromCompact(t){const e=t.length,r=(Math.sqrt(8*e+1)+1)/2;if(!Number.isInteger(r))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(t)}`);const n=new this(r);for(let s=1,a=0,l=0;l<e;l++)n.set(s,a,t[l]),++s>=r&&(s=++a+1);return n}}no.prototype.klassSubType="DistanceMatrix";class fn extends $t{constructor(t,e,r){super(),this.matrix=t,this.rows=e,this.columns=r}}class Z1 extends fn{constructor(t,e){Sr(t,e),super(t,t.rows,1),this.column=e}set(t,e,r){return this.matrix.set(t,this.column,r),this}get(t){return this.matrix.get(t,this.column)}}class G1 extends fn{constructor(t,e){La(t,e),super(t,t.rows,e.length),this.columnIndices=e}set(t,e,r){return this.matrix.set(t,this.columnIndices[e],r),this}get(t,e){return this.matrix.get(t,this.columnIndices[e])}}class K1 extends fn{constructor(t){super(t,t.rows,t.columns)}set(t,e,r){return this.matrix.set(t,this.columns-e-1,r),this}get(t,e){return this.matrix.get(t,this.columns-e-1)}}class H1 extends fn{constructor(t){super(t,t.rows,t.columns)}set(t,e,r){return this.matrix.set(this.rows-t-1,e,r),this}get(t,e){return this.matrix.get(this.rows-t-1,e)}}class J1 extends fn{constructor(t,e){Nr(t,e),super(t,1,t.columns),this.row=e}set(t,e,r){return this.matrix.set(this.row,e,r),this}get(t,e){return this.matrix.get(this.row,e)}}class X1 extends fn{constructor(t,e){$a(t,e),super(t,e.length,t.columns),this.rowIndices=e}set(t,e,r){return this.matrix.set(this.rowIndices[t],e,r),this}get(t,e){return this.matrix.get(this.rowIndices[t],e)}}class io extends fn{constructor(t,e,r){$a(t,e),La(t,r),super(t,e.length,r.length),this.rowIndices=e,this.columnIndices=r}set(t,e,r){return this.matrix.set(this.rowIndices[t],this.columnIndices[e],r),this}get(t,e){return this.matrix.get(this.rowIndices[t],this.columnIndices[e])}}class Q1 extends fn{constructor(t,e,r,n,s){Ra(t,e,r,n,s),super(t,r-e+1,s-n+1),this.startRow=e,this.startColumn=n}set(t,e,r){return this.matrix.set(this.startRow+t,this.startColumn+e,r),this}get(t,e){return this.matrix.get(this.startRow+t,this.startColumn+e)}}class tw extends fn{constructor(t){super(t,t.columns,t.rows)}set(t,e,r){return this.matrix.set(e,t,r),this}get(t,e){return this.matrix.get(e,t)}}class kc extends $t{constructor(t,e={}){const{rows:r=1}=e;if(t.length%r!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=r,this.columns=t.length/r,this.data=t}set(t,e,r){let n=this._calculateIndex(t,e);return this.data[n]=r,this}get(t,e){let r=this._calculateIndex(t,e);return this.data[r]}_calculateIndex(t,e){return t*this.columns+e}}class _r extends $t{constructor(t){super(),this.data=t,this.rows=t.length,this.columns=t[0].length}set(t,e,r){return this.data[t][e]=r,this}get(t,e){return this.data[t][e]}}function ew(i,t){if(ar.isAnyArray(i))return i[0]&&ar.isAnyArray(i[0])?new _r(i):new kc(i,t);throw new Error("the argument is not an array")}class so{constructor(t){t=_r.checkMatrix(t);let e=t.clone(),r=e.rows,n=e.columns,s=new Float64Array(r),a=1,l,f,h,p,c,d,g,w,m;for(l=0;l<r;l++)s[l]=l;for(w=new Float64Array(r),f=0;f<n;f++){for(l=0;l<r;l++)w[l]=e.get(l,f);for(l=0;l<r;l++){for(m=Math.min(l,f),c=0,h=0;h<m;h++)c+=e.get(l,h)*w[h];w[l]-=c,e.set(l,f,w[l])}for(p=f,l=f+1;l<r;l++)Math.abs(w[l])>Math.abs(w[p])&&(p=l);if(p!==f){for(h=0;h<n;h++)d=e.get(p,h),e.set(p,h,e.get(f,h)),e.set(f,h,d);g=s[p],s[p]=s[f],s[f]=g,a=-a}if(f<r&&e.get(f,f)!==0)for(l=f+1;l<r;l++)e.set(l,f,e.get(l,f)/e.get(f,f))}this.LU=e,this.pivotVector=s,this.pivotSign=a}isSingular(){let t=this.LU,e=t.columns;for(let r=0;r<e;r++)if(t.get(r,r)===0)return!0;return!1}solve(t){t=pt.checkMatrix(t);let e=this.LU;if(e.rows!==t.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let n=t.columns,s=t.subMatrixRow(this.pivotVector,0,n-1),a=e.columns,l,f,h;for(h=0;h<a;h++)for(l=h+1;l<a;l++)for(f=0;f<n;f++)s.set(l,f,s.get(l,f)-s.get(h,f)*e.get(l,h));for(h=a-1;h>=0;h--){for(f=0;f<n;f++)s.set(h,f,s.get(h,f)/e.get(h,h));for(l=0;l<h;l++)for(f=0;f<n;f++)s.set(l,f,s.get(l,f)-s.get(h,f)*e.get(l,h))}return s}get determinant(){let t=this.LU;if(!t.isSquare())throw new Error("Matrix must be square");let e=this.pivotSign,r=t.columns;for(let n=0;n<r;n++)e*=t.get(n,n);return e}get lowerTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,n=new pt(e,r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)s>a?n.set(s,a,t.get(s,a)):s===a?n.set(s,a,1):n.set(s,a,0);return n}get upperTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,n=new pt(e,r);for(let s=0;s<e;s++)for(let a=0;a<r;a++)s<=a?n.set(s,a,t.get(s,a)):n.set(s,a,0);return n}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function cn(i,t){let e=0;return Math.abs(i)>Math.abs(t)?(e=t/i,Math.abs(i)*Math.sqrt(1+e*e)):t!==0?(e=i/t,Math.abs(t)*Math.sqrt(1+e*e)):0}class Pa{constructor(t){t=_r.checkMatrix(t);let e=t.clone(),r=t.rows,n=t.columns,s=new Float64Array(n),a,l,f,h;for(f=0;f<n;f++){let p=0;for(a=f;a<r;a++)p=cn(p,e.get(a,f));if(p!==0){for(e.get(f,f)<0&&(p=-p),a=f;a<r;a++)e.set(a,f,e.get(a,f)/p);for(e.set(f,f,e.get(f,f)+1),l=f+1;l<n;l++){for(h=0,a=f;a<r;a++)h+=e.get(a,f)*e.get(a,l);for(h=-h/e.get(f,f),a=f;a<r;a++)e.set(a,l,e.get(a,l)+h*e.get(a,f))}}s[f]=-p}this.QR=e,this.Rdiag=s}solve(t){t=pt.checkMatrix(t);let e=this.QR,r=e.rows;if(t.rows!==r)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let n=t.columns,s=t.clone(),a=e.columns,l,f,h,p;for(h=0;h<a;h++)for(f=0;f<n;f++){for(p=0,l=h;l<r;l++)p+=e.get(l,h)*s.get(l,f);for(p=-p/e.get(h,h),l=h;l<r;l++)s.set(l,f,s.get(l,f)+p*e.get(l,h))}for(h=a-1;h>=0;h--){for(f=0;f<n;f++)s.set(h,f,s.get(h,f)/this.Rdiag[h]);for(l=0;l<h;l++)for(f=0;f<n;f++)s.set(l,f,s.get(l,f)-s.get(h,f)*e.get(l,h))}return s.subMatrix(0,a-1,0,n-1)}isFullRank(){let t=this.QR.columns;for(let e=0;e<t;e++)if(this.Rdiag[e]===0)return!1;return!0}get upperTriangularMatrix(){let t=this.QR,e=t.columns,r=new pt(e,e),n,s;for(n=0;n<e;n++)for(s=0;s<e;s++)n<s?r.set(n,s,t.get(n,s)):n===s?r.set(n,s,this.Rdiag[n]):r.set(n,s,0);return r}get orthogonalMatrix(){let t=this.QR,e=t.rows,r=t.columns,n=new pt(e,r),s,a,l,f;for(l=r-1;l>=0;l--){for(s=0;s<e;s++)n.set(s,l,0);for(n.set(l,l,1),a=l;a<r;a++)if(t.get(l,l)!==0){for(f=0,s=l;s<e;s++)f+=t.get(s,l)*n.get(s,a);for(f=-f/t.get(l,l),s=l;s<e;s++)n.set(s,a,n.get(s,a)+f*t.get(s,l))}}return n}}class Ei{constructor(t,e={}){if(t=_r.checkMatrix(t),t.isEmpty())throw new Error("Matrix must be non-empty");let r=t.rows,n=t.columns;const{computeLeftSingularVectors:s=!0,computeRightSingularVectors:a=!0,autoTranspose:l=!1}=e;let f=!!s,h=!!a,p=!1,c;if(r<n)if(!l)c=t.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{c=t.transpose(),r=c.rows,n=c.columns,p=!0;let C=f;f=h,h=C}else c=t.clone();let d=Math.min(r,n),g=Math.min(r+1,n),w=new Float64Array(g),m=new pt(r,d),D=new pt(n,n),v=new Float64Array(n),E=new Float64Array(r),b=new Float64Array(g);for(let C=0;C<g;C++)b[C]=C;let N=Math.min(r-1,n),x=Math.max(0,Math.min(n-2,r)),F=Math.max(N,x);for(let C=0;C<F;C++){if(C<N){w[C]=0;for(let O=C;O<r;O++)w[C]=cn(w[C],c.get(O,C));if(w[C]!==0){c.get(C,C)<0&&(w[C]=-w[C]);for(let O=C;O<r;O++)c.set(O,C,c.get(O,C)/w[C]);c.set(C,C,c.get(C,C)+1)}w[C]=-w[C]}for(let O=C+1;O<n;O++){if(C<N&&w[C]!==0){let L=0;for(let U=C;U<r;U++)L+=c.get(U,C)*c.get(U,O);L=-L/c.get(C,C);for(let U=C;U<r;U++)c.set(U,O,c.get(U,O)+L*c.get(U,C))}v[O]=c.get(C,O)}if(f&&C<N)for(let O=C;O<r;O++)m.set(O,C,c.get(O,C));if(C<x){v[C]=0;for(let O=C+1;O<n;O++)v[C]=cn(v[C],v[O]);if(v[C]!==0){v[C+1]<0&&(v[C]=0-v[C]);for(let O=C+1;O<n;O++)v[O]/=v[C];v[C+1]+=1}if(v[C]=-v[C],C+1<r&&v[C]!==0){for(let O=C+1;O<r;O++)E[O]=0;for(let O=C+1;O<r;O++)for(let L=C+1;L<n;L++)E[O]+=v[L]*c.get(O,L);for(let O=C+1;O<n;O++){let L=-v[O]/v[C+1];for(let U=C+1;U<r;U++)c.set(U,O,c.get(U,O)+L*E[U])}}if(h)for(let O=C+1;O<n;O++)D.set(O,C,v[O])}}let M=Math.min(n,r+1);if(N<n&&(w[N]=c.get(N,N)),r<M&&(w[M-1]=0),x+1<M&&(v[x]=c.get(x,M-1)),v[M-1]=0,f){for(let C=N;C<d;C++){for(let O=0;O<r;O++)m.set(O,C,0);m.set(C,C,1)}for(let C=N-1;C>=0;C--)if(w[C]!==0){for(let O=C+1;O<d;O++){let L=0;for(let U=C;U<r;U++)L+=m.get(U,C)*m.get(U,O);L=-L/m.get(C,C);for(let U=C;U<r;U++)m.set(U,O,m.get(U,O)+L*m.get(U,C))}for(let O=C;O<r;O++)m.set(O,C,-m.get(O,C));m.set(C,C,1+m.get(C,C));for(let O=0;O<C-1;O++)m.set(O,C,0)}else{for(let O=0;O<r;O++)m.set(O,C,0);m.set(C,C,1)}}if(h)for(let C=n-1;C>=0;C--){if(C<x&&v[C]!==0)for(let O=C+1;O<n;O++){let L=0;for(let U=C+1;U<n;U++)L+=D.get(U,C)*D.get(U,O);L=-L/D.get(C+1,C);for(let U=C+1;U<n;U++)D.set(U,O,D.get(U,O)+L*D.get(U,C))}for(let O=0;O<n;O++)D.set(O,C,0);D.set(C,C,1)}let S=M-1,I=Number.EPSILON;for(;M>0;){let C,O;for(C=M-2;C>=-1&&C!==-1;C--){const L=Number.MIN_VALUE+I*Math.abs(w[C]+Math.abs(w[C+1]));if(Math.abs(v[C])<=L||Number.isNaN(v[C])){v[C]=0;break}}if(C===M-2)O=4;else{let L;for(L=M-1;L>=C&&L!==C;L--){let U=(L!==M?Math.abs(v[L]):0)+(L!==C+1?Math.abs(v[L-1]):0);if(Math.abs(w[L])<=I*U){w[L]=0;break}}L===C?O=3:L===M-1?O=1:(O=2,C=L)}switch(C++,O){case 1:{let L=v[M-2];v[M-2]=0;for(let U=M-2;U>=C;U--){let k=cn(w[U],L),W=w[U]/k,P=L/k;if(w[U]=k,U!==C&&(L=-P*v[U-1],v[U-1]=W*v[U-1]),h)for(let G=0;G<n;G++)k=W*D.get(G,U)+P*D.get(G,M-1),D.set(G,M-1,-P*D.get(G,U)+W*D.get(G,M-1)),D.set(G,U,k)}break}case 2:{let L=v[C-1];v[C-1]=0;for(let U=C;U<M;U++){let k=cn(w[U],L),W=w[U]/k,P=L/k;if(w[U]=k,L=-P*v[U],v[U]=W*v[U],f)for(let G=0;G<r;G++)k=W*m.get(G,U)+P*m.get(G,C-1),m.set(G,C-1,-P*m.get(G,U)+W*m.get(G,C-1)),m.set(G,U,k)}break}case 3:{const L=Math.max(Math.abs(w[M-1]),Math.abs(w[M-2]),Math.abs(v[M-2]),Math.abs(w[C]),Math.abs(v[C])),U=w[M-1]/L,k=w[M-2]/L,W=v[M-2]/L,P=w[C]/L,G=v[C]/L,Z=((k+U)*(k-U)+W*W)/2,X=U*W*(U*W);let tt=0;(Z!==0||X!==0)&&(Z<0?tt=0-Math.sqrt(Z*Z+X):tt=Math.sqrt(Z*Z+X),tt=X/(Z+tt));let ft=(P+U)*(P-U)+tt,vt=P*G;for(let lt=C;lt<M-1;lt++){let yt=cn(ft,vt);yt===0&&(yt=Number.MIN_VALUE);let bt=ft/yt,Bt=vt/yt;if(lt!==C&&(v[lt-1]=yt),ft=bt*w[lt]+Bt*v[lt],v[lt]=bt*v[lt]-Bt*w[lt],vt=Bt*w[lt+1],w[lt+1]=bt*w[lt+1],h)for(let Et=0;Et<n;Et++)yt=bt*D.get(Et,lt)+Bt*D.get(Et,lt+1),D.set(Et,lt+1,-Bt*D.get(Et,lt)+bt*D.get(Et,lt+1)),D.set(Et,lt,yt);if(yt=cn(ft,vt),yt===0&&(yt=Number.MIN_VALUE),bt=ft/yt,Bt=vt/yt,w[lt]=yt,ft=bt*v[lt]+Bt*w[lt+1],w[lt+1]=-Bt*v[lt]+bt*w[lt+1],vt=Bt*v[lt+1],v[lt+1]=bt*v[lt+1],f&&lt<r-1)for(let Et=0;Et<r;Et++)yt=bt*m.get(Et,lt)+Bt*m.get(Et,lt+1),m.set(Et,lt+1,-Bt*m.get(Et,lt)+bt*m.get(Et,lt+1)),m.set(Et,lt,yt)}v[M-2]=ft;break}case 4:{if(w[C]<=0&&(w[C]=w[C]<0?-w[C]:0,h))for(let L=0;L<=S;L++)D.set(L,C,-D.get(L,C));for(;C<S&&!(w[C]>=w[C+1]);){let L=w[C];if(w[C]=w[C+1],w[C+1]=L,h&&C<n-1)for(let U=0;U<n;U++)L=D.get(U,C+1),D.set(U,C+1,D.get(U,C)),D.set(U,C,L);if(f&&C<r-1)for(let U=0;U<r;U++)L=m.get(U,C+1),m.set(U,C+1,m.get(U,C)),m.set(U,C,L);C++}M--;break}}}if(p){let C=D;D=m,m=C}this.m=r,this.n=n,this.s=w,this.U=m,this.V=D}solve(t){let e=t,r=this.threshold,n=this.s.length,s=pt.zeros(n,n);for(let d=0;d<n;d++)Math.abs(this.s[d])<=r?s.set(d,d,0):s.set(d,d,1/this.s[d]);let a=this.U,l=this.rightSingularVectors,f=l.mmul(s),h=l.rows,p=a.rows,c=pt.zeros(h,p);for(let d=0;d<h;d++)for(let g=0;g<p;g++){let w=0;for(let m=0;m<n;m++)w+=f.get(d,m)*a.get(g,m);c.set(d,g,w)}return c.mmul(e)}solveForDiagonal(t){return this.solve(pt.diag(t))}inverse(){let t=this.V,e=this.threshold,r=t.rows,n=t.columns,s=new pt(r,this.s.length);for(let p=0;p<r;p++)for(let c=0;c<n;c++)Math.abs(this.s[c])>e&&s.set(p,c,t.get(p,c)/this.s[c]);let a=this.U,l=a.rows,f=a.columns,h=new pt(r,l);for(let p=0;p<r;p++)for(let c=0;c<l;c++){let d=0;for(let g=0;g<f;g++)d+=s.get(p,g)*a.get(c,g);h.set(p,c,d)}return h}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let t=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,e=0,r=this.s;for(let n=0,s=r.length;n<s;n++)r[n]>t&&e++;return e}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return pt.diag(this.s)}}function rw(i,t=!1){return i=_r.checkMatrix(i),t?new Ei(i).inverse():Uc(i,pt.eye(i.rows))}function Uc(i,t,e=!1){return i=_r.checkMatrix(i),t=_r.checkMatrix(t),e?new Ei(i).solve(t):i.isSquare()?new so(i).solve(t):new Pa(i).solve(t)}function oo(i){if(i=pt.checkMatrix(i),i.isSquare()){if(i.columns===0)return 1;let t,e,r,n;if(i.columns===2)return t=i.get(0,0),e=i.get(0,1),r=i.get(1,0),n=i.get(1,1),t*n-e*r;if(i.columns===3){let s,a,l;return s=new io(i,[1,2],[1,2]),a=new io(i,[1,2],[0,2]),l=new io(i,[1,2],[0,1]),t=i.get(0,0),e=i.get(0,1),r=i.get(0,2),t*oo(s)-e*oo(a)+r*oo(l)}else return new so(i).determinant}else throw Error("determinant can only be calculated for a square matrix")}function nw(i,t){let e=[];for(let r=0;r<i;r++)r!==t&&e.push(r);return e}function iw(i,t,e,r=1e-9,n=1e-9){if(i>n)return new Array(t.rows+1).fill(0);{let s=t.addRow(e,[0]);for(let a=0;a<s.rows;a++)Math.abs(s.get(a,0))<r&&s.set(a,0,0);return s.to1DArray()}}function sw(i,t={}){const{thresholdValue:e=1e-9,thresholdError:r=1e-9}=t;i=pt.checkMatrix(i);let n=i.rows,s=new pt(n,n);for(let a=0;a<n;a++){let l=pt.columnVector(i.getRow(a)),f=i.subMatrixRow(nw(n,a)).transpose(),p=new Ei(f).solve(l),c=pt.sub(l,f.mmul(p)).abs().max();s.setRow(a,iw(c,p,a,e,r))}return s}function ow(i,t=Number.EPSILON){if(i=pt.checkMatrix(i),i.isEmpty())return i.transpose();let e=new Ei(i,{autoTranspose:!0}),r=e.leftSingularVectors,n=e.rightSingularVectors,s=e.diagonal;for(let a=0;a<s.length;a++)Math.abs(s[a])>t?s[a]=1/s[a]:s[a]=0;return n.mmul(pt.diag(s).mmul(r.transpose()))}function aw(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!ar.isAnyArray(t)?(e=t,t=i,r=!0):t=new pt(t),i.rows!==t.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:n=!0}=e;n&&(i=i.center("column"),r||(t=t.center("column")));const s=i.transpose().mmul(t);for(let a=0;a<s.rows;a++)for(let l=0;l<s.columns;l++)s.set(a,l,s.get(a,l)*(1/(i.rows-1)));return s}function uw(i,t=i,e={}){i=new pt(i);let r=!1;if(typeof t=="object"&&!pt.isMatrix(t)&&!ar.isAnyArray(t)?(e=t,t=i,r=!0):t=new pt(t),i.rows!==t.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:n=!0,scale:s=!0}=e;n&&(i.center("column"),r||t.center("column")),s&&(i.scale("column"),r||t.scale("column"));const a=i.standardDeviation("column",{unbiased:!0}),l=r?a:t.standardDeviation("column",{unbiased:!0}),f=i.transpose().mmul(t);for(let h=0;h<f.rows;h++)for(let p=0;p<f.columns;p++)f.set(h,p,f.get(h,p)*(1/(a[h]*l[p]))*(1/(i.rows-1)));return f}let Wc=class{constructor(t,e={}){const{assumeSymmetric:r=!1}=e;if(t=_r.checkMatrix(t),!t.isSquare())throw new Error("Matrix is not a square matrix");if(t.isEmpty())throw new Error("Matrix must be non-empty");let n=t.columns,s=new pt(n,n),a=new Float64Array(n),l=new Float64Array(n),f=t,h,p,c=!1;if(r?c=!0:c=t.isSymmetric(),c){for(h=0;h<n;h++)for(p=0;p<n;p++)s.set(h,p,f.get(h,p));lw(n,l,a,s),fw(n,l,a,s)}else{let d=new pt(n,n),g=new Float64Array(n);for(p=0;p<n;p++)for(h=0;h<n;h++)d.set(h,p,f.get(h,p));cw(n,d,g,s),hw(n,l,a,s,d)}this.n=n,this.e=l,this.d=a,this.V=s}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let t=this.n,e=this.e,r=this.d,n=new pt(t,t),s,a;for(s=0;s<t;s++){for(a=0;a<t;a++)n.set(s,a,0);n.set(s,s,r[s]),e[s]>0?n.set(s,s+1,e[s]):e[s]<0&&n.set(s,s-1,e[s])}return n}};function lw(i,t,e,r){let n,s,a,l,f,h,p,c;for(f=0;f<i;f++)e[f]=r.get(i-1,f);for(l=i-1;l>0;l--){for(c=0,a=0,h=0;h<l;h++)c=c+Math.abs(e[h]);if(c===0)for(t[l]=e[l-1],f=0;f<l;f++)e[f]=r.get(l-1,f),r.set(l,f,0),r.set(f,l,0);else{for(h=0;h<l;h++)e[h]/=c,a+=e[h]*e[h];for(n=e[l-1],s=Math.sqrt(a),n>0&&(s=-s),t[l]=c*s,a=a-n*s,e[l-1]=n-s,f=0;f<l;f++)t[f]=0;for(f=0;f<l;f++){for(n=e[f],r.set(f,l,n),s=t[f]+r.get(f,f)*n,h=f+1;h<=l-1;h++)s+=r.get(h,f)*e[h],t[h]+=r.get(h,f)*n;t[f]=s}for(n=0,f=0;f<l;f++)t[f]/=a,n+=t[f]*e[f];for(p=n/(a+a),f=0;f<l;f++)t[f]-=p*e[f];for(f=0;f<l;f++){for(n=e[f],s=t[f],h=f;h<=l-1;h++)r.set(h,f,r.get(h,f)-(n*t[h]+s*e[h]));e[f]=r.get(l-1,f),r.set(l,f,0)}}e[l]=a}for(l=0;l<i-1;l++){if(r.set(i-1,l,r.get(l,l)),r.set(l,l,1),a=e[l+1],a!==0){for(h=0;h<=l;h++)e[h]=r.get(h,l+1)/a;for(f=0;f<=l;f++){for(s=0,h=0;h<=l;h++)s+=r.get(h,l+1)*r.get(h,f);for(h=0;h<=l;h++)r.set(h,f,r.get(h,f)-s*e[h])}}for(h=0;h<=l;h++)r.set(h,l+1,0)}for(f=0;f<i;f++)e[f]=r.get(i-1,f),r.set(i-1,f,0);r.set(i-1,i-1,1),t[0]=0}function fw(i,t,e,r){let n,s,a,l,f,h,p,c,d,g,w,m,D,v,E,b;for(a=1;a<i;a++)t[a-1]=t[a];t[i-1]=0;let N=0,x=0,F=Number.EPSILON;for(h=0;h<i;h++){for(x=Math.max(x,Math.abs(e[h])+Math.abs(t[h])),p=h;p<i&&!(Math.abs(t[p])<=F*x);)p++;if(p>h)do{for(n=e[h],c=(e[h+1]-n)/(2*t[h]),d=cn(c,1),c<0&&(d=-d),e[h]=t[h]/(c+d),e[h+1]=t[h]*(c+d),g=e[h+1],s=n-e[h],a=h+2;a<i;a++)e[a]-=s;for(N=N+s,c=e[p],w=1,m=w,D=w,v=t[h+1],E=0,b=0,a=p-1;a>=h;a--)for(D=m,m=w,b=E,n=w*t[a],s=w*c,d=cn(c,t[a]),t[a+1]=E*d,E=t[a]/d,w=c/d,c=w*e[a]-E*n,e[a+1]=s+E*(w*n+E*e[a]),f=0;f<i;f++)s=r.get(f,a+1),r.set(f,a+1,E*r.get(f,a)+w*s),r.set(f,a,w*r.get(f,a)-E*s);c=-E*b*D*v*t[h]/g,t[h]=E*c,e[h]=w*c}while(Math.abs(t[h])>F*x);e[h]=e[h]+N,t[h]=0}for(a=0;a<i-1;a++){for(f=a,c=e[a],l=a+1;l<i;l++)e[l]<c&&(f=l,c=e[l]);if(f!==a)for(e[f]=e[a],e[a]=c,l=0;l<i;l++)c=r.get(l,a),r.set(l,a,r.get(l,f)),r.set(l,f,c)}}function cw(i,t,e,r){let n=0,s=i-1,a,l,f,h,p,c,d;for(c=n+1;c<=s-1;c++){for(d=0,h=c;h<=s;h++)d=d+Math.abs(t.get(h,c-1));if(d!==0){for(f=0,h=s;h>=c;h--)e[h]=t.get(h,c-1)/d,f+=e[h]*e[h];for(l=Math.sqrt(f),e[c]>0&&(l=-l),f=f-e[c]*l,e[c]=e[c]-l,p=c;p<i;p++){for(a=0,h=s;h>=c;h--)a+=e[h]*t.get(h,p);for(a=a/f,h=c;h<=s;h++)t.set(h,p,t.get(h,p)-a*e[h])}for(h=0;h<=s;h++){for(a=0,p=s;p>=c;p--)a+=e[p]*t.get(h,p);for(a=a/f,p=c;p<=s;p++)t.set(h,p,t.get(h,p)-a*e[p])}e[c]=d*e[c],t.set(c,c-1,d*l)}}for(h=0;h<i;h++)for(p=0;p<i;p++)r.set(h,p,h===p?1:0);for(c=s-1;c>=n+1;c--)if(t.get(c,c-1)!==0){for(h=c+1;h<=s;h++)e[h]=t.get(h,c-1);for(p=c;p<=s;p++){for(l=0,h=c;h<=s;h++)l+=e[h]*r.get(h,p);for(l=l/e[c]/t.get(c,c-1),h=c;h<=s;h++)r.set(h,p,r.get(h,p)+l*e[h])}}}function hw(i,t,e,r,n){let s=i-1,a=0,l=i-1,f=Number.EPSILON,h=0,p=0,c=0,d=0,g=0,w=0,m=0,D=0,v,E,b,N,x,F,M,S,I,C,O,L,U,k,W;for(v=0;v<i;v++)for((v<a||v>l)&&(e[v]=n.get(v,v),t[v]=0),E=Math.max(v-1,0);E<i;E++)p=p+Math.abs(n.get(v,E));for(;s>=a;){for(N=s;N>a&&(w=Math.abs(n.get(N-1,N-1))+Math.abs(n.get(N,N)),w===0&&(w=p),!(Math.abs(n.get(N,N-1))<f*w));)N--;if(N===s)n.set(s,s,n.get(s,s)+h),e[s]=n.get(s,s),t[s]=0,s--,D=0;else if(N===s-1){if(M=n.get(s,s-1)*n.get(s-1,s),c=(n.get(s-1,s-1)-n.get(s,s))/2,d=c*c+M,m=Math.sqrt(Math.abs(d)),n.set(s,s,n.get(s,s)+h),n.set(s-1,s-1,n.get(s-1,s-1)+h),S=n.get(s,s),d>=0){for(m=c>=0?c+m:c-m,e[s-1]=S+m,e[s]=e[s-1],m!==0&&(e[s]=S-M/m),t[s-1]=0,t[s]=0,S=n.get(s,s-1),w=Math.abs(S)+Math.abs(m),c=S/w,d=m/w,g=Math.sqrt(c*c+d*d),c=c/g,d=d/g,E=s-1;E<i;E++)m=n.get(s-1,E),n.set(s-1,E,d*m+c*n.get(s,E)),n.set(s,E,d*n.get(s,E)-c*m);for(v=0;v<=s;v++)m=n.get(v,s-1),n.set(v,s-1,d*m+c*n.get(v,s)),n.set(v,s,d*n.get(v,s)-c*m);for(v=a;v<=l;v++)m=r.get(v,s-1),r.set(v,s-1,d*m+c*r.get(v,s)),r.set(v,s,d*r.get(v,s)-c*m)}else e[s-1]=S+c,e[s]=S+c,t[s-1]=m,t[s]=-m;s=s-2,D=0}else{if(S=n.get(s,s),I=0,M=0,N<s&&(I=n.get(s-1,s-1),M=n.get(s,s-1)*n.get(s-1,s)),D===10){for(h+=S,v=a;v<=s;v++)n.set(v,v,n.get(v,v)-S);w=Math.abs(n.get(s,s-1))+Math.abs(n.get(s-1,s-2)),S=I=.75*w,M=-.4375*w*w}if(D===30&&(w=(I-S)/2,w=w*w+M,w>0)){for(w=Math.sqrt(w),I<S&&(w=-w),w=S-M/((I-S)/2+w),v=a;v<=s;v++)n.set(v,v,n.get(v,v)-w);h+=w,S=I=M=.964}for(D=D+1,x=s-2;x>=N&&(m=n.get(x,x),g=S-m,w=I-m,c=(g*w-M)/n.get(x+1,x)+n.get(x,x+1),d=n.get(x+1,x+1)-m-g-w,g=n.get(x+2,x+1),w=Math.abs(c)+Math.abs(d)+Math.abs(g),c=c/w,d=d/w,g=g/w,!(x===N||Math.abs(n.get(x,x-1))*(Math.abs(d)+Math.abs(g))<f*(Math.abs(c)*(Math.abs(n.get(x-1,x-1))+Math.abs(m)+Math.abs(n.get(x+1,x+1))))));)x--;for(v=x+2;v<=s;v++)n.set(v,v-2,0),v>x+2&&n.set(v,v-3,0);for(b=x;b<=s-1&&(k=b!==s-1,b!==x&&(c=n.get(b,b-1),d=n.get(b+1,b-1),g=k?n.get(b+2,b-1):0,S=Math.abs(c)+Math.abs(d)+Math.abs(g),S!==0&&(c=c/S,d=d/S,g=g/S)),S!==0);b++)if(w=Math.sqrt(c*c+d*d+g*g),c<0&&(w=-w),w!==0){for(b!==x?n.set(b,b-1,-w*S):N!==x&&n.set(b,b-1,-n.get(b,b-1)),c=c+w,S=c/w,I=d/w,m=g/w,d=d/c,g=g/c,E=b;E<i;E++)c=n.get(b,E)+d*n.get(b+1,E),k&&(c=c+g*n.get(b+2,E),n.set(b+2,E,n.get(b+2,E)-c*m)),n.set(b,E,n.get(b,E)-c*S),n.set(b+1,E,n.get(b+1,E)-c*I);for(v=0;v<=Math.min(s,b+3);v++)c=S*n.get(v,b)+I*n.get(v,b+1),k&&(c=c+m*n.get(v,b+2),n.set(v,b+2,n.get(v,b+2)-c*g)),n.set(v,b,n.get(v,b)-c),n.set(v,b+1,n.get(v,b+1)-c*d);for(v=a;v<=l;v++)c=S*r.get(v,b)+I*r.get(v,b+1),k&&(c=c+m*r.get(v,b+2),r.set(v,b+2,r.get(v,b+2)-c*g)),r.set(v,b,r.get(v,b)-c),r.set(v,b+1,r.get(v,b+1)-c*d)}}}if(p!==0){for(s=i-1;s>=0;s--)if(c=e[s],d=t[s],d===0)for(N=s,n.set(s,s,1),v=s-1;v>=0;v--){for(M=n.get(v,v)-c,g=0,E=N;E<=s;E++)g=g+n.get(v,E)*n.get(E,s);if(t[v]<0)m=M,w=g;else if(N=v,t[v]===0?n.set(v,s,M!==0?-g/M:-g/(f*p)):(S=n.get(v,v+1),I=n.get(v+1,v),d=(e[v]-c)*(e[v]-c)+t[v]*t[v],F=(S*w-m*g)/d,n.set(v,s,F),n.set(v+1,s,Math.abs(S)>Math.abs(m)?(-g-M*F)/S:(-w-I*F)/m)),F=Math.abs(n.get(v,s)),f*F*F>1)for(E=v;E<=s;E++)n.set(E,s,n.get(E,s)/F)}else if(d<0)for(N=s-1,Math.abs(n.get(s,s-1))>Math.abs(n.get(s-1,s))?(n.set(s-1,s-1,d/n.get(s,s-1)),n.set(s-1,s,-(n.get(s,s)-c)/n.get(s,s-1))):(W=ao(0,-n.get(s-1,s),n.get(s-1,s-1)-c,d),n.set(s-1,s-1,W[0]),n.set(s-1,s,W[1])),n.set(s,s-1,0),n.set(s,s,1),v=s-2;v>=0;v--){for(C=0,O=0,E=N;E<=s;E++)C=C+n.get(v,E)*n.get(E,s-1),O=O+n.get(v,E)*n.get(E,s);if(M=n.get(v,v)-c,t[v]<0)m=M,g=C,w=O;else if(N=v,t[v]===0?(W=ao(-C,-O,M,d),n.set(v,s-1,W[0]),n.set(v,s,W[1])):(S=n.get(v,v+1),I=n.get(v+1,v),L=(e[v]-c)*(e[v]-c)+t[v]*t[v]-d*d,U=(e[v]-c)*2*d,L===0&&U===0&&(L=f*p*(Math.abs(M)+Math.abs(d)+Math.abs(S)+Math.abs(I)+Math.abs(m))),W=ao(S*g-m*C+d*O,S*w-m*O-d*C,L,U),n.set(v,s-1,W[0]),n.set(v,s,W[1]),Math.abs(S)>Math.abs(m)+Math.abs(d)?(n.set(v+1,s-1,(-C-M*n.get(v,s-1)+d*n.get(v,s))/S),n.set(v+1,s,(-O-M*n.get(v,s)-d*n.get(v,s-1))/S)):(W=ao(-g-I*n.get(v,s-1),-w-I*n.get(v,s),m,d),n.set(v+1,s-1,W[0]),n.set(v+1,s,W[1]))),F=Math.max(Math.abs(n.get(v,s-1)),Math.abs(n.get(v,s))),f*F*F>1)for(E=v;E<=s;E++)n.set(E,s-1,n.get(E,s-1)/F),n.set(E,s,n.get(E,s)/F)}for(v=0;v<i;v++)if(v<a||v>l)for(E=v;E<i;E++)r.set(v,E,n.get(v,E));for(E=i-1;E>=a;E--)for(v=a;v<=l;v++){for(m=0,b=a;b<=Math.min(E,l);b++)m=m+r.get(v,b)*n.get(b,E);r.set(v,E,m)}}}function ao(i,t,e,r){let n,s;return Math.abs(e)>Math.abs(r)?(n=r/e,s=e+n*r,[(i+n*t)/s,(t-n*i)/s]):(n=e/r,s=r+n*e,[(n*i+t)/s,(n*t-i)/s])}class jc{constructor(t){if(t=_r.checkMatrix(t),!t.isSymmetric())throw new Error("Matrix is not symmetric");let e=t,r=e.rows,n=new pt(r,r),s=!0,a,l,f;for(l=0;l<r;l++){let h=0;for(f=0;f<l;f++){let p=0;for(a=0;a<f;a++)p+=n.get(f,a)*n.get(l,a);p=(e.get(l,f)-p)/n.get(f,f),n.set(l,f,p),h=h+p*p}for(h=e.get(l,l)-h,s&=h>0,n.set(l,l,Math.sqrt(Math.max(h,0))),f=l+1;f<r;f++)n.set(l,f,0)}this.L=n,this.positiveDefinite=!!s}isPositiveDefinite(){return this.positiveDefinite}solve(t){t=_r.checkMatrix(t);let e=this.L,r=e.rows;if(t.rows!==r)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let n=t.columns,s=t.clone(),a,l,f;for(f=0;f<r;f++)for(l=0;l<n;l++){for(a=0;a<f;a++)s.set(f,l,s.get(f,l)-s.get(a,l)*e.get(f,a));s.set(f,l,s.get(f,l)/e.get(f,f))}for(f=r-1;f>=0;f--)for(l=0;l<n;l++){for(a=f+1;a<r;a++)s.set(f,l,s.get(f,l)-s.get(a,l)*e.get(a,f));s.set(f,l,s.get(f,l)/e.get(f,f))}return s}get lowerTriangularMatrix(){return this.L}}class Yc{constructor(t,e={}){t=_r.checkMatrix(t);let{Y:r}=e;const{scaleScores:n=!1,maxIterations:s=1e3,terminationCriteria:a=1e-10}=e;let l;if(r){if(ar.isAnyArray(r)&&typeof r[0]=="number"?r=pt.columnVector(r):r=_r.checkMatrix(r),r.rows!==t.rows)throw new Error("Y should have the same number of rows as X");l=r.getColumnVector(0)}else l=t.getColumnVector(0);let f=1,h,p,c,d;for(let g=0;g<s&&f>a;g++)c=t.transpose().mmul(l).div(l.transpose().mmul(l).get(0,0)),c=c.div(c.norm()),h=t.mmul(c).div(c.transpose().mmul(c).get(0,0)),g>0&&(f=h.clone().sub(d).pow(2).sum()),d=h.clone(),r?(p=r.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),p=p.div(p.norm()),l=r.mmul(p).div(p.transpose().mmul(p).get(0,0))):l=h;if(r){let g=t.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0));g=g.div(g.norm());let w=t.clone().sub(h.clone().mmul(g.transpose())),m=l.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),D=r.clone().sub(h.clone().mulS(m.get(0,0)).mmul(p.transpose()));this.t=h,this.p=g.transpose(),this.w=c.transpose(),this.q=p,this.u=l,this.s=h.transpose().mmul(h),this.xResidual=w,this.yResidual=D,this.betas=m}else this.w=c.transpose(),this.s=h.transpose().mmul(h).sqrt(),n?this.t=h.clone().div(this.s.get(0,0)):this.t=h,this.xResidual=t.sub(h.mmul(c.transpose()))}}zt.AbstractMatrix=$t,zt.CHO=jc,zt.CholeskyDecomposition=jc,zt.DistanceMatrix=no,zt.EVD=Wc;var pw=zt.EigenvalueDecomposition=Wc;zt.LU=so,zt.LuDecomposition=so;var Vc=zt.Matrix=pt;zt.MatrixColumnSelectionView=G1,zt.MatrixColumnView=Z1,zt.MatrixFlipColumnView=K1,zt.MatrixFlipRowView=H1,zt.MatrixRowSelectionView=X1,zt.MatrixRowView=J1,zt.MatrixSelectionView=io,zt.MatrixSubView=Q1,zt.MatrixTransposeView=tw,zt.NIPALS=Yc,zt.Nipals=Yc,zt.QR=Pa,zt.QrDecomposition=Pa,zt.SVD=Ei,zt.SingularValueDecomposition=Ei,zt.SymmetricMatrix=Jn,zt.WrapperMatrix1D=kc,zt.WrapperMatrix2D=_r,zt.correlation=uw,zt.covariance=aw;var Zc=zt.default=pt;zt.determinant=oo,zt.inverse=rw,zt.linearDependencies=sw,zt.pseudoInverse=ow,zt.solve=Uc,zt.wrap=ew;const Gc=pw,Kc=Vc;Zc.Matrix&&Zc.Matrix;class dw{constructor(t){z(this,"_errorListener");this._errorListener=t}new({rows:t,columns:e,initial_value:r}={}){return new za(t,e,r,this._errorListener)}avg({id:t}){return t==null?void 0:t.avg()}col({id:t,column:e}){return t==null?void 0:t.col({column:e})}det({id:t}){return t==null?void 0:t.det()}get({id:t,row:e,column:r}){return t==null?void 0:t.get({row:e,column:r})}inv({id:t}){return t==null?void 0:t.inv()}max({id:t}){return t==null?void 0:t.max()}min({id:t}){return t==null?void 0:t.min()}pow({id:t,power:e}){return t==null?void 0:t.pow({power:e})}row({id:t,row:e}){return t==null?void 0:t.row({row:e})}set({id:t,row:e,column:r,value:n}){t==null||t.set({row:e,column:r,value:n})}sum({id1:t,id2:e}){return t==null?void 0:t.sum({id2:e})}copy({id:t}){return t==null?void 0:t.copy()}diff({id1:t,id2:e}){return t==null?void 0:t.diff({id2:e})}rows({id:t}){return t==null?void 0:t.rows()}columns({id:t}){return t==null?void 0:t.columns()}fill({id:t,value:e,from_row:r,to_row:n,from_column:s,to_column:a}){t==null||t.fill({value:e,from_row:r,to_row:n,from_column:s,to_column:a})}kron({id1:t,id2:e}){return t==null?void 0:t.kron({id2:e})}mode({id:t}){return t==null?void 0:t.mode()}mult({id1:t,id2:e}){return t==null?void 0:t.mult({id2:e})}pinv({id:t}){return t==null?void 0:t.pinv()}rank({id:t}){return t==null?void 0:t.rank()}sort({id:t,column:e,order:r}){t==null||t.sort({column:e,order:r})}trace({id:t}){return t==null?void 0:t.trace()}concat({id1:t,id2:e}){return t==null?void 0:t.concat({id2:e})}median({id:t}){return t==null?void 0:t.median()}add_col({id:t,column:e,array_id:r}){t==null||t.add_col({column:e,array_id:r})}add_row({id:t,row:e,array_id:r}){t==null||t.add_row({row:e,array_id:r})}is_zero({id:t}){return t==null?void 0:t.is_zero()}reshape({id:t,rows:e,columns:r},n){return t==null?void 0:t.reshape({rows:e,columns:r},n)}reverse({id:t}){t==null||t.reverse()}is_binary({id:t}){return t==null?void 0:t.is_binary()}is_square({id:t}){return t==null?void 0:t.is_square()}submatrix({id:t,from_row:e,to_row:r,from_column:n,to_column:s}){return t==null?void 0:t.submatrix({from_row:e,to_row:r,from_column:n,to_column:s})}swap_rows({id:t,row1:e,row2:r}){t==null||t.swap_rows({row1:e,row2:r})}transpose({id:t}){return t==null?void 0:t.transpose()}remove_col({id:t,column:e}){return t==null?void 0:t.remove_col({column:e})}remove_row({id:t,row:e}){return t==null?void 0:t.remove_row({row:e})}eigenvalues({id:t}){return t==null?void 0:t.eigenvalues()}is_diagonal({id:t}){return t==null?void 0:t.is_diagonal()}is_identity({id:t}){return t==null?void 0:t.is_identity()}eigenvectors({id:t}){return t==null?void 0:t.eigenvectors()}is_symmetric({id:t}){return t==null?void 0:t.is_symmetric()}swap_columns({id:t,column1:e,column2:r}){t==null||t.swap_columns({column1:e,column2:r})}is_stochastic({id:t}){return t==null?void 0:t.is_stochastic()}is_triangular({id:t}){return t==null?void 0:t.is_triangular()}elements_count({id:t}){return t==null?void 0:t.elements_count()}is_antidiagonal({id:t}){return t==null?void 0:t.is_antidiagonal()}is_antisymmetric({id:t}){return t==null?void 0:t.is_antisymmetric()}}class za{constructor(t=0,e=0,r=void 0,n){z(this,"_matrixInstance");z(this,"_errorListener");this._matrixInstance=this._createMatrix(t,e,r),this._errorListener=n}get _matrixArray(){return this._matrixInstance.map(t=>[...t._value])}get _value(){return this._matrixInstance}set _value(t){this._matrixInstance=t}get isMatrix(){return!0}_createMatrix(t,e,r){return Array.from(new Array(t),()=>new Qt(e,r,this._errorListener))}avg(){let t=0,e=0;for(const n of this._matrixInstance)for(const s of n._value)t+=_t(s)?0:s,e+=1;return t/e}col({column:t}){const e=[],r=new Qt(0,void 0,this._errorListener);if(_t(t))return r;for(const n of this._matrixInstance)e.push(n._value[t]);return r._value=e,r}det(){return Ic(this._matrixArray)}get({row:t,column:e}){var r,n;if(!(_t(t)||_t(e)))return(n=(r=this._matrixInstance[t])==null?void 0:r._value)==null?void 0:n[e]}inv(){const t=Qs(this._matrixArray);return this._newMatrix(t)}max(){return o1(this._matrixArray)}min(){return Ia(this._matrixArray)}pow({power:t}){const e=_t(t)?this._matrixArray:u1(this._matrixArray,t);return this._newMatrix(e)}row({row:t}){return _t(t)?new Qt(0,void 0,this._errorListener):this._matrixInstance[t]}set({row:t,column:e,value:r}){_t(t)||_t(e)||this._matrixInstance[t].set({index:e,value:r})}sum({id2:t}){const e=Ji(this._matrixArray,typeof t=="number"?t:t._matrixArray);return this._newMatrix(e)}copy(){return this._newMatrix(this._matrixArray)}diff({id2:t}){const e=t1(this._matrixArray,typeof t=="number"?t:t._matrixArray);return this._newMatrix(e)}rows(){return this._matrixInstance.length}columns(){return this._matrixArray.length&&this._matrixArray[0].length}fill({value:t,from_row:e,to_row:r,from_column:n,to_column:s}={}){_t(e)&&(e=0),_t(r)&&(r=this.rows()),_t(n)&&(n=0),_t(s)&&(s=this.columns());for(const[a,l]of this._matrixInstance.entries())for(const[f]of l._value.entries())a<r&&a>=e&&f>=n&&f<s&&l.set({index:f,value:t})}kron({id2:t}){const e=Xv(this._matrixArray,t._matrixArray);return this._newMatrix(e)}mode(){return Ia(Fc(this._matrixArray))}mult({id2:t}){const e=typeof t=="number"?t:t._matrixArray?t._matrixArray:t._value,r=wi(this._matrixArray,e);return this._newMatrix(r)}pinv(){const t=a1(this._matrixArray);return this._newMatrix(t)}rank(){return this._matrixRank(this._matrixArray)}sort({column:t,order:e=Yn.ascending}={}){_t(t)&&(t=0),this._matrixInstance.sort((r,n)=>{const s=r._value[t],a=n._value[t];return e!==Yn.descending?s-a:a-s})}trace(){return s1(this._matrixArray)}concat({id2:t}){for(const e of t._value)this._matrixInstance.push(e);return this}median(){return $c(this._matrixArray)}add_col({column:t,array_id:e}={}){_t(t)&&(t=this.columns());for(const[r,n]of this._matrixInstance.entries())n.insert({index:t,value:e?e._value[r]:void 0})}add_row({row:t,array_id:e}){_t(t)&&(t=this.rows()),this._matrixInstance.splice(t,0,e||new Qt(this.columns(),void 0,this._errorListener))}is_zero(){return this._matrixArray.every(t=>t.every(e=>e===0))}reshape({rows:t=0,columns:e=0},r){if(t*e!==this.columns()*this.rows()){this._errorListener.addError("New matrix must be of same area as original matrix",r,jt.Error);return}const n=Gv(this._matrixArray,[t,e]);this._matrixInstance=n.map(s=>{const a=new Qt(0,void 0,this._errorListener);return a._value=[...s],a})}reverse(){this._matrixInstance.reverse();for(const t of this._matrixInstance)t.reverse()}is_binary(){return this._matrixArray.every(t=>t.every(e=>e===0||e===1))}is_square(){return this.rows()===this.columns()}submatrix({from_row:t,to_row:e,from_column:r,to_column:n}={}){_t(t)&&(t=0),_t(e)&&(e=this.rows()),_t(r)&&(r=0),_t(n)&&(n=this.columns());const s=this._matrixArray.splice(t,e),a=[];for(const l of s)a.push(l.splice(r,n));return this._newMatrix(a)}swap_rows({row1:t,row2:e}){if(_t(t)||_t(e))return;const r=this._matrixInstance[t],n=this._matrixInstance[e];this._matrixInstance[t]=n,this._matrixInstance[e]=r}transpose(){const t=Nc(this._matrixArray);return this._newMatrix(t)}remove_col({column:t}={}){_t(t)&&(t=this.columns());const e=[];for(const n of this._matrixInstance){const s=n._value.splice(t,1);e.push(s[0])}const r=new Qt(0,void 0,this._errorListener);return r._value=e,r}remove_row({row:t}={}){return _t(t)&&(t=this.rows()),this._matrixInstance.splice(t,1)[0]}eigenvalues(){const t=new Gc(new Kc(this._matrixArray)),e=new Qt(0,void 0,this._errorListener);return e._value=t.realEigenvalues,e}is_diagonal(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<e;s++)if(n!==s&&r[n][s]!==0)return!1;return!0}is_identity(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<e;s++)if(n!==s&&r[n][s]!==0||n===s&&r[n][s]!==1)return!1;return!0}eigenvectors(){const t=new Gc(new Kc(this._matrixArray));return this._newMatrix(t.eigenvectorMatrix.to2DArray())}is_symmetric(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=n+1;s<e;s++)if(r[n][s]!==r[s][n])return!1;return!0}swap_columns({column1:t,column2:e}){if(!(_t(t)||_t(e)))for(const r of this._matrixInstance){const n=r._value[t],s=r._value[e];r.set({index:t,value:s}),r.set({index:e,value:n})}}is_stochastic(){const t=this._matrixArray;for(let e=0;e<t.length;e++){let r=0;for(let n=0;n<t[e].length;n++){if(t[e][n]<0)return!1;r+=t[e][n]}if(Math.abs(r-1)>Number.EPSILON)return!1}return!0}is_triangular(){const t=this.rows(),e=this.columns();return t!==e?!1:this._isUpperTriangular(t)||this._isLowerTriangular(t)}elements_count(){return Kv(this._matrixArray)}is_antidiagonal(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<t;s++)if(n+s!==t-1&&r[n][s]!==0)return!1;return!0}is_antisymmetric(){const t=this.rows(),e=this.columns();if(t!==e)return!1;const r=this._matrixArray;for(let n=0;n<t;n++)for(let s=0;s<t;s++)if(n!==s&&r[n][s]!==-r[s][n])return!1;return!0}_isUpperTriangular(t){const e=this._matrixArray;for(let r=1;r<t;r++)for(let n=0;n<r;n++)if(e[r][n]!==0)return!1;return!0}_isLowerTriangular(t){const e=this._matrixArray;for(let r=0;r<t-1;r++)for(let n=r+1;n<t;n++)if(e[r][n]!==0)return!1;return!0}_newMatrix(t){const e=new za(0,0,void 0,this._errorListener);return e._value=t.map(r=>{const n=new Qt(0,void 0,this._errorListener);return n._value=[...r],n}),e}_matrixRank(t){let e=0;const r=t.length,n=t[0].length,s=[...t].map(a=>[...a]);for(let a=0;a<r&&!(a>=n);a++){let l=a;for(;l<r&&s[l][a]===0;)l++;if(l===r)continue;if(l!==a){const h=s[l];s[l]=s[a],s[a]=h}const f=s[a][a];for(let h=0;h<n;h++)s[a][h]/=f;for(let h=a+1;h<r;h++){const p=s[h][a];s[h]=s[h].map((c,d)=>c-p*s[a][d]),s[h][a]=0}}for(let a=0;a<r;a++)s[a].some(l=>Number(l.toFixed(8))!==0)&&e++;return e}}class _w{constructor(t){z(this,"_variables");z(this,"_cacheData");this._variables=t,this._cacheData={}}change({timeframe:t},e){if(!t)return!0;const r=on(t),n=on(this._variables.timeframe.period);if(r<n)return!0;const s=`change_${e}`,a=this._cacheData[s],l=this._variables.time;if(a){if(a.offset){if(a.currentTime+a.offset<=l)return this._cacheData[s]={currentTime:l,offset:0},!0}else if(a.currentTime+r*1e3<=l)return this._cacheData[s]={currentTime:l,offset:0},!0}else{const f=this._calcTimeOffset(l,t);return this._cacheData[s]={currentTime:l,offset:f},!1}return!1}in_seconds({timeframe:t}={}){return on(t||this._variables.timeframe.period)}from_seconds({seconds:t=0}){const e=t*1e3,r=ee.duration(e);if(r.years())return"12M";const s=r.asMonths();if(Js(s))return`${s}M`;const a=r.asWeeks();if(Js(a))return`${a}M`;const l=r.asDays();if(l>=1)return`${Math.ceil(l)}D`;const f=r.asMinutes();if(f>=1)return`${Math.ceil(f)}`;const h=r.asSeconds();return h<=1?"1S":h<=5?"5S":h<=10?"10S":h<=15?"15S":h<=30?"30S":"1"}_calcTimeOffset(t,e){let r=0;if(e.includes("W")){const l=ee(t).day();e="1D",l!==1&&(r=(8-l)*60*60*24*1e3)}else if(e.includes("M")){const l=ee(t).date();e="1D";const f=ee(t).daysInMonth();l!==1&&(r=(f-l+1)*60*60*24*1e3)}const n=this._variables.getTimeTradingday(t,e),s=on(e)*1e3,a=t-n-Math.floor((t-n)/s)*s;return r?r-a:a}}class mw{constructor(t,e){z(this,"_errorListener");z(this,"_intlNumberFormatter");z(this,"_precision");this._errorListener=t,this._precision=e,this._intlNumberFormatter=new Intl.NumberFormat("en",{notation:"compact"})}pos({source:t="",str:e=""}){return t==null?void 0:t.indexOf(e)}trim({source:t=""}){return t==null?void 0:t.trim()}lower({source:t=""}){return t==null?void 0:t.toLocaleLowerCase()}match({source:t="",regex:e=""}){const r=t==null?void 0:t.match(new RegExp(e));return r?r[0]:""}split({string:t="",separator:e=""}){const r=t==null?void 0:t.split(e),n=new Qt;return n._value=r||[],n}upper({source:t=""}){return t==null?void 0:t.toLocaleUpperCase()}format({formatString:t=""},e){return this._strFormat(t,e)}length({string:t=""}){return t==null?void 0:t.length}repeat({source:t="",repeat:e,separator:r=""},n){if(_t(e)){this._errorListener.addError("Invalid array length",n,jt.Error);return}return Array.from(new Array(e),()=>t).join(r)}replace({source:t="",target:e="",replacement:r="",occurrence:n}){_t(n)&&(n=0);let s=-1;for(let a=0;a<n+1&&(s=t.indexOf(e,s+1),s!==-1);a++);return s!==-1?t.substring(0,s)+r+t.substring(s+e.length):t}contains({source:t="",str:e=""}){return t==null?void 0:t.includes(e)}endswith({source:t="",str:e=""}){return t==null?void 0:t.endsWith(e)}tonumber({string:t=""}){if(/[^\d.]/.test(t))return;const e=parseFloat(t);return isNaN(e)?void 0:e}tostring({value:t,format:e}){if(t===void 0)return"NaN";if(typeof t=="object"){if(t.isArray)return this._arrToStr(t._value,e);if(t.isMatrix){const r=[];for(const n of t._matrixArray)r.push(this._arrToStr(n,e));return r.join(`
62
+ `)}}if(typeof t=="string")return t;if(typeof t=="boolean")return String(t);if(typeof t=="number")return String(this._toStringFormat(t,e))}_arrToStr(t,e){return`[${t.map(n=>typeof n=="number"?this._toStringFormat(n,e):n).toString()}]`}substring({source:t="",begin_pos:e=0,end_pos:r}){return _t(e)&&(e=0),_t(r)&&(r=void 0),t==null?void 0:t.substring(e,r)}startswith({source:t="",str:e=""}){return t==null?void 0:t.startsWith(e)}format_time({time:t,format:e="yyyy-MM-dd'T'HH:mm:ssZ",timezone:r}){return _t(t)&&(t=0),qr(t,r).format(e)}replace_all({source:t="",target:e="",replacement:r=""}){return t==null?void 0:t.replace(new RegExp(e,"g"),r)}_toStringFormat(t,e){if(!e)return t;switch(e){case Gt.mintick:return t.toFixed(this._precision);case Gt.price:return`${t}%`;case Gt.volume:return this._intlNumberFormatter.format(Math.round(t));default:const[r,n]=e.split(".");let[s,a=""]=String(t).split(".");if(r.includes("#")?s=r.replace(/#/,s).replace(/#/g,""):s=`${r}${s}`,n&&n.includes("#")){const l=n.split("#").length-1;a=`${a.substring(0,l)}${n.replace(/#/g,"")}`}else a=n||"";return a?`${s}.${a}`:s}}_formatNumber(t,e){if(!e)return t;switch(e){case"integer":return String(Math.round(t));case"currency":return`$${t}`;case"percent":return`${t*100}%`;default:const r=e.split(".")[1],n=r?r.length:0;return parseFloat(t.toFixed(n))}}_strFormat(t,e){let r=t;return e.forEach((n,s)=>{if(typeof n=="number"){const a=`\\{\\s*${s}\\s*,\\s*number\\s*,\\s*([^\\}]+)\\s*\\}`,l=t.match(new RegExp(a));if(l){const f=l[1];r=r.replace(new RegExp(a,"g"),String(this._formatNumber(n,f)))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),String(n))}else r=r.replace(new RegExp(`\\{${s}\\}`,"g"),n)}),r}}class gw{constructor(t){z(this,"_errorListener");this._errorListener=t}new(){return new qa(this._errorListener)}copy({id:t}){return t==null?void 0:t.copy()}get({id:t,key:e}){return t==null?void 0:t.get({key:e})}put({id:t,key:e,value:r}){return t==null?void 0:t.put({key:e,value:r})}keys({id:t}){return t==null?void 0:t.keys()}size({id:t}){return t==null?void 0:t.size()}clear({id:t}){t==null||t.clear()}remove({id:t,key:e}){return t==null?void 0:t.remove({key:e})}values({id:t}){return t==null?void 0:t.values()}put_all({id:t,id2:e}){t==null||t.put_all({id2:e})}contains({id:t,key:e}){return t==null?void 0:t.contains({key:e})}}class qa{constructor(t){z(this,"_errorListener");z(this,"_mapInstance");this._errorListener=t,this._mapInstance=new Map}get isMap(){return!0}_copyMap(t){const e=new qa(this._errorListener);return e._mapInstance=new Map(t.entries()),e}copy(){return this._copyMap(this._mapInstance)}get({key:t}){return this._mapInstance.get(t)}put({key:t,value:e}){return this._mapInstance.set(t,e)}keys(){const t=new Qt(0,void 0,this._errorListener);return t._value=[...this._mapInstance.keys()],t}size(){return this._mapInstance.size}clear(){this._mapInstance.clear()}remove({key:t}){const e=this._mapInstance.get(t);return this._mapInstance.delete(t),e||void 0}values(){const t=new Qt(0,void 0,this._errorListener);return t._value=[...this._mapInstance.values()],t}put_all({id2:t}){this._mapInstance=new Map([...this._mapInstance,...t._mapInstance])}contains({key:t}){return this._mapInstance.has(t)}}class vw{constructor(t){z(this,"_variables");this._variables=t}new({price:t,time:e,index:r}){return new Xn(t,r,e)}now({price:t}){const{time:e,bar_index:r}=this._variables;return new Xn(t,r,e)}copy({id:t}){const{price:e,time:r,index:n}=t||{};return new Xn(e,n,r)}from_index({price:t,index:e}){return new Xn(t,e)}from_time({price:t,time:e}){return new Xn(t,void 0,e)}}class Xn{constructor(t,e,r){z(this,"_index");z(this,"_price");z(this,"_time");this._index=e,this._price=t,this._time=r}get index(){return this._index}get price(){return this._price}get time(){return this._time}copy(){return new Xn(this._price,this._index,this._time)}}class ww{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultLabel",{text:"",xloc:ve.bar_index,yloc:Wr.price,size:tr.normal,style:de.styleLabelDown,textalign:Ut.alignCenter});this._variables=t,this._errorListener=e}new(t,e){const{time:r,high:n,low:s,bar_index:a}=this._variables,l=`label_${e}_${a}`,f={...this._defaultLabel,...t,id:l,time:r};t.point&&(f.x=f.xloc===ve.bar_index?t.point.index:t.point.time,f.y=t.point.price),f.yloc===Wr.abovebar?f.y=n:f.yloc===Wr.belowbar&&(f.y=s),this._verfiyArgs(t,e);const h=new Qi(l,this._variables,this._errorListener);return e.startsWith("export")||this._variables.label.add(l,f,h),h}_verfiyArgs(t,e){const{xloc:r,yloc:n,style:s,size:a,textalign:l,text_font_family:f}=t,h="label.new";this._paramVerfiy(s,e,h,Object.values(de),"style"),this._paramVerfiy(r,e,h,Object.values(ve),"xloc"),this._paramVerfiy(n,e,h,Object.values(Wr),"yloc"),this._paramVerfiy(a,e,h,Object.values(tr),"size"),this._paramVerfiy(l,e,h,[Ut.alignLeft,Ut.alignCenter,Ut.alignRight],"textalign"),this._paramVerfiy(f,e,h,Object.values(Vn),"text_font_family")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`${n.join(", ")}`}),e,jt.Error)}label(t,e){return t.x?t.x:new Qi(e,this._variables,this._errorListener)}copy({id:t},e){return t==null?void 0:t.copy(e)}get_x({id:t},e){return t==null?void 0:t.get_x(e)}get_y({id:t},e){return t==null?void 0:t.get_y(e)}set_x({id:t,...e},r){t==null||t.set_x(e,r)}set_y({id:t,...e},r){t==null||t.set_y(e,r)}delete({id:t}){t==null||t.delete()}get_text({id:t},e){return t==null?void 0:t.get_text(e)}set_xy({id:t,...e},r){t==null||t.set_xy(e,r)}set_size({id:t,...e},r){t==null||t.set_size(e,r)}set_xloc({id:t,...e},r){t==null||t.set_xloc(e,r)}set_yloc({id:t,...e},r){t==null||t.set_yloc(e,r)}set_style({id:t,...e},r){t==null||t.set_style(e,r)}set_color({id:t,...e},r){t==null||t.set_color(e,r)}set_tooltip({id:t,...e},r){t==null||t.set_tooltip(e,r)}set_point({id:t,...e},r){t==null||t.set_point(e,r)}set_text({id:t,...e},r){t==null||t.set_text(e,r)}set_textcolor({id:t,...e},r){t==null||t.set_textcolor(e,r)}set_textalign({id:t,...e},r){t==null||t.set_textalign(e,r)}set_text_font_family({id:t,...e},r){t==null||t.set_text_font_family(e,r)}}class Qi{constructor(t,e,r){z(this,"_id");z(this,"_variables");z(this,"_errorListener");this._id=t,this._variables=e,this._errorListener=r}copy(t){const e=`label_${t}_${this._variables.bar_index}`,r=this._getLabel(t),n=new Qi(e,this._variables,this._errorListener);return r&&this._variables.label.add(e,{...r,id:e},n),n}get_x(t){var e;return(e=this._getLabel(t))==null?void 0:e.x}get_y(t){var e;return(e=this._getLabel(t))==null?void 0:e.y}set_x({x:t},e){const r=this._getLabel(e);r&&(r.x=t)}set_y({y:t},e){const r=this._getLabel(e);r&&(r.y=t)}delete(){this._variables.label.delete(this._id)}set_xy({x:t,y:e},r){const n=this._getLabel(r);n&&(n.x=t,n.y=e)}get_text(t){var e;return(e=this._getLabel(t))==null?void 0:e.text}set_size({size:t},e){const r=this._getLabel(e);r&&(r.size=t),this._paramVerfiy(t,e,"label.set_size",Object.values(tr),"size")}set_text({text:t},e){const r=this._getLabel(e);r&&(r.text=t)}set_xloc({x:t,xloc:e},r){const n=this._getLabel(r);n&&(n.x=t,n.xloc=e,this._paramVerfiy(e,r,"label.set_xloc",Object.values(ve),"xloc"))}set_yloc({yloc:t},e){const r=this._getLabel(e),{high:n,low:s}=this._variables;r&&(r.yloc=t,t===Wr.abovebar?r.y=n:t===Wr.belowbar&&(r.y=s),this._paramVerfiy(t,e,"label.set_yloc",Object.values(Wr),"yloc"))}set_color({color:t},e){const r=this._getLabel(e);r&&(r.color=t)}set_point({point:t},e){const r=this._getLabel(e);r&&(r.x=r.xloc===ve.bar_index?t==null?void 0:t.index:t==null?void 0:t.time,r.y=t==null?void 0:t.price)}set_style({style:t},e){const r=this._getLabel(e);r&&(r.style=t),this._paramVerfiy(t,e,"label.set_style",Object.values(de),"style")}set_tooltip({tooltip:t},e){const r=this._getLabel(e);r&&(r.tooltip=t)}set_textalign({textalign:t},e){const r=this._getLabel(e);r&&(r.textalign=t),this._paramVerfiy(t,e,"label.set_textalign",[Ut.alignLeft,Ut.alignCenter,Ut.alignRight],"textalign")}set_textcolor({textcolor:t},e){const r=this._getLabel(e);r&&(r.textcolor=t)}set_text_font_family({text_font_family:t},e){const r=this._getLabel(e);r&&(r.text_font_family=t),this._paramVerfiy(t,e,"label.set_text_font_family",Object.values(Vn),"text_font_family")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`${n.join(", ")}`}),e,jt.Error)}_getLabel(t){const e=this._variables.label.get(this._id);return e||console.log(`错误${t}: label 不存在`),e}}const yw={freq_all:kr.freqAll,freq_once_per_bar:kr.freqOncePerBar,freq_once_per_bar_close:kr.freqOncePerBarClose},Dw={gaps_off:ji.gapsOff,gaps_on:ji.gapsOn,lookahead_off:ji.lookaheadOff,lookahead_on:ji.lookaheadOn},xi={aqua:"#00BCD4",black:"#363A45",blue:"#2196F3",fuchsia:"#E040FB",gray:"#787B86",green:"#4CAF50",lime:"#00E676",maroon:"#880E4F",navy:"#311B92",olive:"#808000",orange:"#FF9800",purple:"#9C27B0",red:"#FF5252",silver:"#B2B5BE",teal:"#00897B",white:"#FFFFFF",yellow:"#FFEB3B"},Hc={AUD:"AUD",BTC:"BTC",CAD:"CAD",CHF:"CHF",ETH:"ETH",EUR:"EUR",GBP:"GBP",HKD:"HKD",INR:"INR",JPY:"JPY",KRW:"KRW",MYR:"MYR",NOK:"NOK",NONE:"NONE",NZD:"NZD",RUB:"RUB",SEK:"SEK",SGD:"SGD",TRY:"TRY",USD:"USD",USDT:"USDT",ZAR:"ZAR"},bw={friday:6,monday:2,saturday:7,sunday:1,thursday:5,tuesday:3,wednesday:4},Jc={all:[Ue.dataWindow,Ue.pane,Ue.priceScale,Ue.statusLine],data_window:[Ue.dataWindow],none:[],pane:[Ue.pane],price_scale:[Ue.priceScale],status_line:[Ue.statusLine]},Ew={both:Ur.both,left:Ur.left,none:Ur.none,right:Ur.right},xw={inherit:Gt.inherit,mintick:Gt.mintick,percent:Gt.percent,price:Gt.price,volume:Gt.volume},Aw={style_solid:bs.styleSolid,style_dashed:bs.styleDashed,style_dotted:bs.styleDotted},Cw={style_arrowdown:de.styleArrowdown,style_arrowup:de.styleArrowup,style_circle:de.styleCircle,style_cross:de.styleCross,style_diamond:de.styleDiamond,style_flag:de.styleFlag,style_label_center:de.styleLabelCenter,style_label_down:de.styleLabelDown,style_label_left:de.styleLabelLeft,style_label_lower_left:de.styleLabelLowerLeft,style_label_lower_right:de.styleLabelLowerRight,style_label_right:de.styleLabelRight,style_label_up:de.styleLabelUp,style_label_upper_left:de.styleLabelUpperLeft,style_label_upper_right:de.styleLabelUpperRight,style_none:de.styleNone,style_square:de.styleSquare,style_text_outline:de.styleTextOutline,style_triangledown:de.styleTriangledown,style_triangleup:de.styleTriangleup,style_xcross:de.styleXcross},Fw={style_arrow_both:Ie.styleArrowBoth,style_arrow_left:Ie.styleArrowLeft,style_arrow_right:Ie.styleArrowRight,style_dashed:Ie.styleDashed,style_dotted:Ie.styleDotted,style_solid:Ie.styleSolid},Mw={abovebar:hr.abovebar,absolute:hr.absolute,belowbar:hr.belowbar,bottom:hr.bottom,top:hr.top},Nw={e:2.718281828459045,phi:1.618033988749895,pi:3.141592653589793,rphi:.6180339887498948},Sw={style_area:Cr.styleArea,style_areabr:Cr.styleAreabr,style_circles:Cr.styleCircles,style_columns:Cr.styleColumns,style_cross:Cr.styleCross,style_histogram:Cr.styleHistogram,style_line:Cr.styleLine,style_linebr:Cr.styleLinebr,style_stepline:Cr.styleStepline,style_stepline_diamond:Cr.styleSteplineDiamond,style_steplinebr:Cr.styleSteplinebr},Bw={bottom_center:pr.bottomCenter,bottom_left:pr.bottomLeft,bottom_right:pr.bottomRight,middle_center:pr.middleCenter,middle_left:pr.middleLeft,middle_right:pr.middleRight,top_center:pr.topCenter,top_left:pr.topLeft,top_right:pr.topRight},Ow={left:Es.left,none:Es.none,right:Es.right},Tw={arrowdown:ir.arrowdown,arrowup:ir.arrowup,circle:ir.circle,cross:ir.cross,diamond:ir.diamond,flag:ir.flag,labeldown:ir.labeldown,labelup:ir.labelup,square:ir.square,triangledown:ir.triangledown,triangleup:ir.triangleup,xcross:ir.xcross},Iw={auto:tr.auto,huge:tr.huge,large:tr.large,normal:tr.normal,small:tr.small,tiny:tr.tiny},$w={cash:Se.cash,fixed:Se.fixed,percent_of_equity:Se.percentOfEquity,commission:{cash_per_contract:Fr.cashPerContract,cash_per_order:Fr.cashPerOrder,percent:Fr.percent},direction:{all:_e.all,long:_e.long,short:_e.short},oca:{cancel:an.cancel,none:an.none,reduce:an.reduce}},Lw={align_bottom:Ut.alignBottom,align_center:Ut.alignCenter,align_left:Ut.alignLeft,align_right:Ut.alignRight,align_top:Ut.alignTop,wrap_auto:Ut.wrapAuto,wrap_none:Ut.wrapNone},Rw={bar_index:ve.bar_index,bar_time:ve.bar_time},Pw={abovebar:Wr.abovebar,belowbar:Wr.belowbar,price:Wr.price},zw={actual:xs.actual,estimate:xs.estimate,standardized:xs.standardized};class qw{constructor(){z(this,"adjustment",{dividends:Ds.dividends,none:Ds.none,splits:Ds.splits});z(this,"alert",yw);z(this,"barmerge",Dw);z(this,"color",xi);z(this,"currency",Hc);z(this,"dayofweek",bw);z(this,"earnings",zw);z(this,"display",Jc);z(this,"extend",Ew);z(this,"font",{family_default:Vn.familyDefault,family_monospace:Vn.familyMonospace});z(this,"format",xw);z(this,"hline",Aw);z(this,"label",Cw);z(this,"line",Fw);z(this,"location",Mw);z(this,"math",Nw);z(this,"order",{ascending:Yn.ascending,descending:Yn.descending});z(this,"plot",Sw);z(this,"position",Bw);z(this,"scale",Ow);z(this,"session",{extended:aa.extended,regular:aa.regular});z(this,"shape",Tw);z(this,"size",Iw);z(this,"splits",{denominator:"denominator",numerator:"numerator"});z(this,"strategy",$w);z(this,"text",Lw);z(this,"xloc",Rw);z(this,"yloc",Pw)}updateData(){}}class kw{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultPolyline",{curved:!1,closed:!1,xloc:ve.bar_index,line_color:xi.blue,line_style:Ie.styleSolid,line_width:1});this._variables=t,this._errorListener=e}new(t,e){const r=`polyline_${e}_${this._variables.bar_index}`,n=Object.assign({},this._defaultPolyline,t,{id:r}),s=new Xc(r,this._variables);return this._verfiyArgs(t,e),e.startsWith("export")||this._variables.polyline.add(r,n,s),s}_verfiyArgs(t,e){const{line_style:r,xloc:n}=t,s="polyline.new";this._paramVerfiy(r,e,s,Object.values(Ie),"line_style"),this._paramVerfiy(n,e,s,Object.values(ve),"xloc")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`${n.join(", ")}`}),e,jt.Error)}delete({id:t}){t&&t.delete()}}class Xc{constructor(t,e){z(this,"_id");z(this,"_variables");this._variables=e,this._id=t}delete(){this._variables.polyline.delete(this._id)}}class Uw{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultLine",{xloc:ve.bar_index,extend:Ur.none,style:Ie.styleSolid});this._variables=t,this._errorListener=e}new({first_point:t,second_point:e,...r},n){const s=`line_${n}_${this._variables.bar_index}`,a={...this._defaultLine,...r,id:s};if(t&&e){const f=a.xloc===ve.bar_index?t.index:t.time,h=a.xloc===ve.bar_index?e.index:e.time;Object.assign(a,{x1:f,y1:t.price,x2:h,y2:e.price})}this._verfiyArgs(r,n);const l=new ts(s,this._variables,this._errorListener);return n.startsWith("export")||this._variables.line.add(s,a,l),l}_verfiyArgs(t,e){const{extend:r,xloc:n,style:s}=t,a="line.new";this._paramVerfiy(s,e,a,Object.values(Ie),"style"),this._paramVerfiy(r,e,a,Object.values(Ur),"extend"),this._paramVerfiy(n,e,a,Object.values(ve),"xloc")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`${n.join(", ")}`}),e,jt.Error)}line(t,e){return t.x?t.x:new ts(e,this._variables,this._errorListener)}copy({id:t},e){return t==null?void 0:t.copy(e)}delete({id:t}){t==null||t.delete()}get_x1({id:t},e){return t==null?void 0:t.get_x1(e)}get_x2({id:t},e){return t==null?void 0:t.get_x2(e)}get_y1({id:t},e){return t==null?void 0:t.get_y1(e)}get_y2({id:t},e){return t==null?void 0:t.get_y2(e)}set_x1({id:t,...e},r){t==null||t.set_x1(e,r)}set_x2({id:t,...e},r){t==null||t.set_x2(e,r)}set_y1({id:t,...e},r){t==null||t.set_y1(e,r)}set_y2({id:t,...e},r){t==null||t.set_y2(e,r)}set_xy1({id:t,...e},r){t==null||t.set_xy1(e,r)}set_xy2({id:t,...e},r){t==null||t.set_xy2(e,r)}set_xloc({id:t,...e},r){t==null||t.set_xloc(e,r)}get_price({id:t,...e},r){return t==null?void 0:t.get_price(e,r)}set_color({id:t,...e},r){t==null||t.set_color(e,r)}set_style({id:t,...e},r){t==null||t.set_style(e,r)}set_width({id:t,...e},r){t==null||t.set_width(e,r)}set_extend({id:t,...e},r){t==null||t.set_extend(e,r)}set_first_point({id:t,...e},r){t==null||t.set_first_point(e,r)}set_second_point({id:t,...e},r){t==null||t.set_second_point(e,r)}}class ts{constructor(t,e,r){z(this,"_variables");z(this,"_id");z(this,"_errorListener");this._id=t,this._variables=e,this._errorListener=r}get data(){return this._variables.line.get(this._id)}copy(t){const e=`line_${t}_${this._variables.bar_index}`,r=this._getLine(t),n=new ts(e,this._variables,this._errorListener);return r&&this._variables.line.add(e,{...r,id:e},n),n}delete(){this._variables.line.delete(this._id)}get_price({x:t},e){const r=this._getLine(e);if(t===void 0)return t;if(r&&r.xloc===ve.bar_index){const{x1:n,y1:s,x2:a,y2:l}=r;return n===void 0||a===void 0||s===void 0||l===void 0?void 0:(l-s)/(a-n)*(t-n)+s}}get_x1(t){var e;return(e=this._getLine(t))==null?void 0:e.x1}get_x2(t){var e;return(e=this._getLine(t))==null?void 0:e.x2}get_y1(t){var e;return(e=this._getLine(t))==null?void 0:e.y1}get_y2(t){var e;return(e=this._getLine(t))==null?void 0:e.y2}set_x1({x:t},e){const r=this._getLine(e);r&&(r.x1=t)}set_x2({x:t},e){const r=this._getLine(e);r&&(r.x2=t)}set_y1({y:t},e){const r=this._getLine(e);r&&(r.y1=t)}set_y2({y:t},e){const r=this._getLine(e);r&&(r.y2=t)}set_xy1({x:t,y:e},r){const n=this._getLine(r);n&&(n.x1=t,n.y1=e)}set_xy2({x:t,y:e},r){const n=this._getLine(r);n&&(n.x2=t,n.y2=e)}set_xloc({xloc:t,x1:e,x2:r},n){const s=this._getLine(n);s&&(s.xloc=t,s.x1=e,s.x2=r,this._paramVerfiy(t,n,"line.set_xloc",Object.values(ve),"xloc"))}set_color({color:t},e){const r=this._getLine(e);r&&(r.color=t)}set_style({style:t},e){const r=this._getLine(e);r&&(r.style=t,this._paramVerfiy(t,e,"line.set_style",Object.values(Ie),"style"))}set_width({width:t},e){const r=this._getLine(e);r&&(r.width=t)}set_extend({extend:t},e){const r=this._getLine(e);r&&(r.extend=t,this._paramVerfiy(t,e,"line.set_extend",Object.values(Ur),"extend"))}set_first_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===ve.bar_index?n:s,f=a;l&&(r.x1=l),f&&(r.y1=f)}}set_second_point({point:t},e){const r=this._getLine(e);if(r){const{index:n,time:s,price:a}=t||{},l=r.xloc===ve.bar_index?n:s,f=a;l&&(r.x2=l),f&&(r.y2=f)}}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`${n.join(", ")}`}),e,jt.Error)}_getLine(t){const e=this._variables.line.get(this._id);return e||console.log(`${t}: line 不存在`),e}}class Ww{constructor(t){z(this,"_variables");this._variables=t}new({line1:t,line2:e,color:r},n){const s=`linefill_${n}_${this._variables.bar_index}`,a=t==null?void 0:t.data,l=e==null?void 0:e.data;a&&(a.linefills=a.linefills||[],a.linefills.push(s)),l&&(l.linefills=l.linefills||[],l.linefills.push(s));const f=new uo(this._variables,s,t,e);return n.startsWith("export")||(a||l)&&this._variables.linefill.add(s,{line1:a,line2:l,color:r,id:s},f),f}delete({id:t}){t==null||t.delete()}get_line1({id:t}){return t==null?void 0:t.get_line1()}get_line2({id:t}){return t==null?void 0:t.get_line2()}set_color({id:t,...e}){t==null||t.set_color(e)}}class uo{constructor(t,e,r,n){z(this,"_id");z(this,"_line1");z(this,"_line2");z(this,"_variables");this._variables=t,this._id=e,this._line1=r,this._line2=n}linefill(t,e){return t.x?t.x:new uo(this._variables,e)}delete(){var e,r;const t=this._variables.linefill.get(this._id);if(t){const{line1:n,line2:s}=t;n&&(n.linefills=(e=n.linefills)==null?void 0:e.filter(a=>a!==this._id)),s&&(s.linefills=(r=s.linefills)==null?void 0:r.filter(a=>a!==this._id))}this._line1=void 0,this._line2=void 0,this._variables.linefill.delete(this._id)}get_line1(){return this._line1}get_line2(){return this._line2}set_color({color:t}){const e=this._variables.linefill.get(this._id);e&&(e.color=t)}}class jw{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultBox",{border_color:xi.blue,border_width:1,bgcolor:xi.blue,xloc:ve.bar_index,extend:Ur.none,style:Ie.styleSolid,text:"",text_size:tr.auto,text_color:xi.black,text_halign:Ut.alignCenter,text_valign:Ut.alignCenter,text_wrap:Ut.wrapNone});this._variables=t,this._errorListener=e}box({x:t},e){return t===void 0?new es(this._variables,e,this._errorListener):t}new({top_left:t,bottom_right:e,...r},n){const s=`box_${n}_${this._variables.bar_index}`,a={...this._defaultBox,...r,id:s};if(t){const{price:f,time:h,index:p}=t;a.top=f,a.left=a.xloc===ve.bar_index?p:h}if(e){const{price:f,time:h,index:p}=e;a.bottom=f,a.right=a.xloc===ve.bar_index?p:h}this._verfiyArgs(r,n);const l=new es(this._variables,s,this._errorListener);return n.startsWith("export")||this._variables.box.add(s,a,l),l}_verfiyArgs(t,e){const{border_style:r,extend:n,xloc:s,text_size:a,text_halign:l,text_valign:f,text_wrap:h,text_font_family:p}=t,c="box.new";this._paramVerfiy(r,e,c,[Ie.styleDashed,Ie.styleDotted,Ie.styleSolid],"border_style"),this._paramVerfiy(n,e,c,Object.values(Ur),"extend"),this._paramVerfiy(s,e,c,Object.values(ve),"xloc"),this._paramVerfiy(a,e,c,Object.values(tr),"text_size"),this._paramVerfiy(l,e,c,[Ut.alignLeft,Ut.alignCenter,Ut.alignRight],"text_halign"),this._paramVerfiy(f,e,c,[Ut.alignBottom,Ut.alignCenter,Ut.alignTop],"text_valign"),this._paramVerfiy(h,e,c,[Ut.wrapAuto,Ut.wrapNone],"text_wrap"),this._paramVerfiy(p,e,c,Object.values(Vn),"text_font_family")}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`${n.join(", ")}`}),e,jt.Error)}copy({id:t},e){return t==null?void 0:t.copy(e)}delete({id:t}){t==null||t.delete()}get_top({id:t}){return t==null?void 0:t.get_top()}get_bottom({id:t}){return t==null?void 0:t.get_bottom()}get_left({id:t}){return t==null?void 0:t.get_left()}get_right({id:t}){return t==null?void 0:t.get_right()}set_top({id:t,...e}){t==null||t.set_top(e)}set_bottom({id:t,...e}){t==null||t.set_bottom(e)}set_left({id:t,...e}){t==null||t.set_left(e)}set_right({id:t,...e}){t==null||t.set_right(e)}set_extend({id:t,...e},r){t==null||t.set_extend(e,r)}set_bgcolor({id:t,...e}){t==null||t.set_bgcolor(e)}set_border_color({id:t,...e}){t==null||t.set_border_color(e)}set_border_width({id:t,...e}){t==null||t.set_border_width(e)}set_border_style({id:t,...e},r){t==null||t.set_border_style(e,r)}set_lefttop({id:t,...e}){t==null||t.set_lefttop(e)}set_rightbottom({id:t,...e}){t==null||t.set_rightbottom(e)}set_text_size({id:t,...e},r){t==null||t.set_text_size(e,r)}set_text_wrap({id:t,...e},r){t==null||t.set_text_wrap(e,r)}set_text_color({id:t,...e}){t==null||t.set_text_color(e)}set_text_halign({id:t,...e},r){t==null||t.set_text_halign(e,r)}set_text_valign({id:t,...e},r){t==null||t.set_text_valign(e,r)}set_top_left_point({id:t,...e}){t==null||t.set_top_left_point(e)}set_bottom_right_point({id:t,...e}){t==null||t.set_bottom_right_point(e)}set_text_font_family({id:t,...e},r){t==null||t.set_text_font_family(e,r)}}class es{constructor(t,e,r){z(this,"_id");z(this,"_variables");z(this,"_errorListener");this._variables=t,this._id=e,this._errorListener=r}copy(t){const e=`box_${t}_${this._variables.bar_index}`,r=this._getBox(),n=new es(this._variables,e,this._errorListener);return r&&this._variables.box.add(e,{...r,id:e},n),n}delete(){this._variables.box.delete(this._id)}get_top(){const t=this._getBox();return t&&t.top}set_top({top:t}){const e=this._getBox();e&&(e.top=t)}get_left(){const t=this._getBox();return t&&t.left}set_left({left:t}){const e=this._getBox();e&&(e.left=t)}set_text({text:t}){const e=this._getBox();e&&(e.text=t)}get_right(){const t=this._getBox();return t&&t.right}set_right({right:t}){const e=this._getBox();e&&(e.right=t)}get_bottom(){const t=this._getBox();return t&&t.bottom}set_bottom({bottom:t}){const e=this._getBox();e&&(e.bottom=t)}set_extend({extend:t},e){const r=this._getBox();r&&(r.extend=t,this._paramVerfiy(t,e,"box.set_extend",Object.values(Ur),"extend"))}set_bgcolor({color:t}){const e=this._getBox();e&&(e.bgcolor=t)}set_lefttop({left:t,top:e}){const r=this._getBox();r&&(r.left=t,r.top=e)}set_text_size({text_size:t},e){const r=this._getBox();r&&(r.text_size=t,this._paramVerfiy(t,e,"box.set_text_size",Object.values(tr),"text_size"))}set_text_wrap({text_wrap:t},e){const r=this._getBox();r&&(r.text_wrap=t,this._paramVerfiy(t,e,"box.set_text_wrap",[Ut.wrapAuto,Ut.wrapNone],"text_wrap"))}set_text_color({text_color:t}){const e=this._getBox();e&&(e.text_color=t)}set_rightbottom({right:t,bottom:e}){const r=this._getBox();r&&(r.right=t,r.bottom=e)}set_text_halign({text_halign:t},e){const r=this._getBox();r&&(r.text_halign=t,this._paramVerfiy(t,e,"box.set_text_halign",[Ut.alignLeft,Ut.alignCenter,Ut.alignRight],"text_halign"))}set_text_valign({text_valign:t},e){const r=this._getBox();r&&(r.text_valign=t,this._paramVerfiy(t,e,"box.set_text_valign",[Ut.alignBottom,Ut.alignCenter,Ut.alignTop],"text_valign"))}set_top_left_point({point:t}){const e=this._getBox();if(e){const{index:r,price:n,time:s}=t||{};e.top=n,e.left=e.xloc===ve.bar_index?r:s}}set_border_color({color:t}){const e=this._getBox();e&&(e.border_color=t)}set_border_style({style:t},e){const r=this._getBox();r&&(r.border_style=t,this._paramVerfiy(t,e,"box.set_border_style",[Ie.styleDashed,Ie.styleDotted,Ie.styleSolid],"style"))}set_border_width({width:t}){const e=this._getBox();e&&(e.border_width=t)}set_bottom_right_point({point:t}){const e=this._getBox();if(e){const{index:r,price:n,time:s}=t||{};e.bottom=n,e.right=e.xloc===ve.bar_index?r:s}}set_text_font_family({text_font_family:t},e){const r=this._getBox();r&&(r.text_font_family=t,this._paramVerfiy(t,e,"box.set_text_font_family",Object.values(Vn),"text_font_family"))}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`${n.join(", ")}`}),e,jt.Error)}_getBox(){return this._variables.box.get(this._id)}}class Yw{constructor(t,e){z(this,"_variables");z(this,"_errorListener");z(this,"_defaultTable",{position:pr.topLeft,columns:0,rows:0,frame_width:0,border_width:0});this._variables=t,this._errorListener=e}table({x:t},e){return t||new ka(this._variables,e,this._errorListener)}new(t,e){const r=`table_${e}_${this._variables.bar_index}`,n={...this._defaultTable,...t,cell:[],id:r},s=new ka(this._variables,r,this._errorListener);return this._paramVerfiy(t.position,e,"table.new",Object.values(pr),"position"),e.startsWith("export")||this._variables.table.add(r,n,s),s}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`${n.join(", ")}`}),e,jt.Error)}cell({table_id:t,...e}){t==null||t.cell(e)}cell_set_bgcolor({table_id:t,...e}){t==null||t.cell_set_bgcolor(e)}cell_set_height({table_id:t,...e}){t==null||t.cell_set_height(e)}cell_set_text({table_id:t,...e}){t==null||t.cell_set_text(e)}cell_set_text_color({table_id:t,...e}){t==null||t.cell_set_text_color(e)}cell_set_text_font_family({table_id:t,...e}){t==null||t.cell_set_text_font_family(e)}cell_set_text_halign({table_id:t,...e}){t==null||t.cell_set_text_halign(e)}cell_set_text_valign({table_id:t,...e}){t==null||t.cell_set_text_valign(e)}cell_set_text_size({table_id:t,...e}){t==null||t.cell_set_text_size(e)}cell_set_tooltip({table_id:t,...e}){t==null||t.cell_set_tooltip(e)}cell_set_width({table_id:t,...e}){t==null||t.cell_set_width(e)}clear({table_id:t,...e}){t==null||t.clear(e)}delete({table_id:t}){t==null||t.delete()}merge_cells({table_id:t,...e},r){t==null||t.merge_cells(e,r)}set_bgcolor({table_id:t,...e}){t==null||t.set_bgcolor(e)}set_border_color({table_id:t,...e}){t==null||t.set_border_color(e)}set_border_width({table_id:t,...e}){t==null||t.set_border_width(e)}set_frame_color({table_id:t,...e}){t==null||t.set_frame_color(e)}set_frame_width({table_id:t,...e}){t==null||t.set_frame_width(e)}set_position({table_id:t,...e},r){t==null||t.set_position(e,r)}}class ka{constructor(t,e,r){z(this,"_id");z(this,"_variables");z(this,"_errorListener");z(this,"_defaultCell",{column:0,row:0,text:"",text_color:xi.black,text_halign:Ut.alignCenter,text_valign:Ut.alignCenter,text_size:tr.normal});this._variables=t,this._id=e,this._errorListener=r}cell(t){const e={...this._defaultCell,...t},{column:r=0,row:n=0}=e,s=this._variables.table.get(this._id);if(s){const a=s.cell||[],l=a[n]||[];l[r]=e,a[n]=l,s.cell=a}}cell_set_bgcolor({column:t=0,row:e=0,bgcolor:r}){const n=this._getTableItem(t,e);n&&(n.bgcolor=r)}cell_set_height({column:t=0,row:e=0,height:r}){const n=this._getTableItem(t,e);n&&(n.height=r)}cell_set_text({column:t=0,row:e=0,text:r}){const n=this._getTableItem(t,e);n&&(n.text=r)}cell_set_text_color({column:t=0,row:e=0,text_color:r}){const n=this._getTableItem(t,e);n&&(n.text_color=r)}cell_set_text_font_family({column:t=0,row:e=0,text_font_family:r}){const n=this._getTableItem(t,e);n&&(n.text_font_family=r)}cell_set_text_halign({column:t=0,row:e=0,text_halign:r}){const n=this._getTableItem(t,e);n&&(n.text_halign=r)}cell_set_text_valign({column:t=0,row:e=0,text_valign:r}){const n=this._getTableItem(t,e);n&&(n.text_valign=r)}cell_set_text_size({column:t=0,row:e=0,text_size:r}){const n=this._getTableItem(t,e);n&&(n.text_size=r)}cell_set_tooltip({column:t=0,row:e=0,tooltip:r}){const n=this._getTableItem(t,e);n&&(n.tooltip=r)}cell_set_width({column:t=0,row:e=0,width:r}){const n=this._getTableItem(t,e);n&&(n.width=r)}clear({start_column:t=0,start_row:e=0,end_column:r=0,end_row:n=0}){const s=this._variables.table.get(this._id);if(s){const a=s.cell;if(a)for(let l=e;l<=n;l++)for(let f=t;f<=r;f++){const h=a[l];h&&(h[f]=void 0)}}}delete(){this._variables.table.delete(this._id)}merge_cells({start_column:t=0,start_row:e=0,end_column:r=0,end_row:n=0},s){if(t>r||e>n){console.log(`error ${s}: start_column > end_column or start_row > end_row`);return}const a=this._getTableItem(t,e);if(!a)return;this.clear({start_column:t,start_row:e,end_column:r,end_row:n});const l=this._variables.table.get(this._id);l.cell[e][t]={...a,isMerge:!0,merge_columns:r-t+1,merge_rows:n-e+1}}set_bgcolor({bgcolor:t}){const e=this._variables.table.get(this._id);e&&(e.bgcolor=t)}set_border_color({border_color:t}){const e=this._variables.table.get(this._id);e&&(e.border_color=t)}set_border_width({border_width:t}){const e=this._variables.table.get(this._id);e&&(e.border_width=t)}set_frame_color({frame_color:t}){const e=this._variables.table.get(this._id);e&&(e.frame_color=t)}set_frame_width({frame_width:t}){const e=this._variables.table.get(this._id);e&&(e.frame_width=t)}set_position({position:t},e){const r=this._variables.table.get(this._id);r&&(r.position=t,this._paramVerfiy(t,e,"table.set_position",Object.values(pr),"position"))}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`${n.join(", ")}`}),e,jt.Error)}_getTableItem(t,e){const r=this._variables.table.get(this._id);if(r){const n=r.cell;return n?n[e][t]:void 0}}}class Vw{constructor(t){z(this,"_strategy");this._strategy=t}commission({trade_num:t}){return this._verifyTradeNum(t)&&this._strategy.historyOrders[t].commission||0}entry_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_index}entry_comment({trade_num:t}){if(!this._verifyTradeNum(t))return"";const{comment:e,id:r}=this._strategy.historyOrders[t];return e||r}entry_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].id:""}entry_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_price}entry_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].in_time}exit_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_index}exit_comment({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].out_comment:""}exit_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].out_id:""}exit_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_price}exit_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.historyOrders[t].out_time}max_drawdown({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].trading_loss:0}max_drawdown_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].trading_loss_percent:0}max_runup({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].max_profit:0}max_runup_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].max_profit_percent:0}profit({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].profit:0}profit_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.historyOrders[t].profit_percent:0}size({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{out_qty:e=0,direction:r}=this._strategy.historyOrders[t];return r===_e.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.historyOrders.length;return!(t>=e)}}class Zw{constructor(t){z(this,"_strategy");this._strategy=t}commission({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{qty:e=0,original_qty:r=0,commission:n=0}=this._strategy.orders[t];return n*e/r}entry_bar_index({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_index}entry_comment({trade_num:t}){if(!this._verifyTradeNum(t))return"";const{comment:e,id:r}=this._strategy.orders[t];return e||r}entry_id({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].id:""}entry_price({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_price}entry_time({trade_num:t}){if(this._verifyTradeNum(t))return this._strategy.orders[t].in_time}max_drawdown({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].trading_loss:0}max_drawdown_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].trading_loss_percent:0}max_runup({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].max_profit:0}max_runup_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].max_profit_percent:0}profit({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].profit:0}profit_percent({trade_num:t}){return this._verifyTradeNum(t)?this._strategy.orders[t].profit_percent:0}size({trade_num:t}){if(!this._verifyTradeNum(t))return 0;const{qty:e=0,direction:r}=this._strategy.orders[t];return r===_e.long?e:-e}_verifyTradeNum(t){if(typeof t!="number"||t<0)return!1;const e=this._strategy.orders.length;return!(t>=e)}}class Gw{constructor(t,e){z(this,"_strategy");z(this,"_errorListener");this._strategy=t,this._errorListener=e}allow_entry_in({value:t},e){this._paramVerfiy(t,e,"strategy.risk.allow_entry_in",Object.values(_e),"value"),this._strategy.updateRisk({allow_entry_in:t})}max_cons_loss_days({count:t}){this._strategy.updateRisk({max_cons_loss_days:t})}max_drawdown({value:t,type:e},r){this._paramVerfiy(e,r,"strategy.risk.max_drawdown",[Se.percentOfEquity,Se.cash],"type"),e===Se.percentOfEquity&&(t=t>100?100:t),this._strategy.updateRisk({max_drawdown:t,max_drawdown_type:e})}max_intraday_filled_orders({count:t}){this._strategy.updateRisk({max_intraday_filled_orders:t})}max_intraday_loss({value:t,type:e},r){this._paramVerfiy(e,r,"strategy.risk.max_intraday_loss",[Se.percentOfEquity,Se.cash],"type"),e===Se.percentOfEquity&&(t=t>100?100:t),this._strategy.updateRisk({max_intraday_loss:t,max_intraday_loss_type:e})}max_position_size({contracts:t}){this._strategy.updateRisk({max_position_size:t})}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`${n.join(", ")}`}),e,jt.Error)}}let Kw=class{constructor(t,e,r,n){z(this,"_variables");z(this,"_options");z(this,"_totalChangeCapital");z(this,"_historyOrder");z(this,"_orders");z(this,"_pendingOrders");z(this,"_mintick");z(this,"_funcOptions");z(this,"_pendingCloseOrders");z(this,"_errorListener");z(this,"_risk");z(this,"_opentrades");z(this,"_closedtrades");z(this,"_riskNamespace");this._variables=t,this._errorListener=n,this._options={overlay:!1,format:Gt.inherit,pyramiding:0,calc_on_order_fills:!1,calc_on_every_tick:!1,max_bars_back:0,backtest_fill_limits_assumption:0,default_qty_type:Se.fixed,default_qty_value:1,initial_capital:1e6,currency:Hc.NONE,slippage:0,commission_type:Fr.percent,commission_value:0,process_orders_on_close:!1,close_entries_rule:"FIFO",margin_long:0,margin_short:0,explicit_plot_zorder:!1,max_lines_count:50,max_labels_count:50,max_boxes_count:50,calc_bars_count:0,risk_free_rate:2,use_bar_magnifier:!1,fill_orders_on_standard_ohlc:!1,max_polylines_count:50},this._funcOptions=e,this._totalChangeCapital=0,this._orders=[],this._pendingOrders=[],this._historyOrder=[],this._pendingCloseOrders=[],this._mintick=r,this._variables.strategy.updateOrders(this._orders),this._variables.strategy.updateHistoryOrders(this._historyOrder),this._variables.strategy.updateStrategyOptions(this._options),this._risk={intradayOrders:0},this._opentrades=new Zw(this),this._closedtrades=new Vw(this),this._riskNamespace=new Gw(this,n)}get orders(){return[...this._orders]}get historyOrders(){return[...this._historyOrder]}get _orderProfit(){return this._orders.reduce((t,e)=>t+(e.profit||0),0)}get _freezeCapital(){const{close:t}=this._variables;return this._orders.reduce((e,r)=>e+t*(r.qty||0),0)}get opentrades(){return this._opentrades}get closedtrades(){return this._closedtrades}get risk(){return this._riskNamespace}updateOptions(t){Object.assign(this._options,t),this._maxConsLossDaysVerify(),this._pendingOrderHandle(),this._maxIntradayFilledOrdersVerify(),this._ordersHandle(),!this._options.process_orders_on_close&&this._calcLiquidate()}updateRisk(t){Object.assign(this._risk,t)}endExecution(){this._calcProfitAndLoss(),this._variables.strategy.update(),this._maxDrawdownVerify(),this._maxIntradayLoss(),this._pendingCloseOrderHandle(),this._options.process_orders_on_close&&this._calcLiquidate()}_maxIntradayLoss(){var g;const{max_intraday_loss:t,max_intraday_loss_type:e,isDisabledOpen:r}=this._risk;if(t===void 0||!e||r)return;const{high:n,low:s,time_tradingday:a,time:l,strategy:{netprofit:f,initial_capital:h}}=this._variables;let{preNetprofit:p=0}=this._risk;l===a&&(p=f,this._risk.preNetprofit=f,this._risk.isTemporaryBan=!1);let c=p-f;c+=this._orders.reduce((w,m)=>{const{in_price:D,direction:v,qty:E=0,commission:b=0,original_qty:N=0}=m,x=v===_e.long?1:-1,F=(n-D)*E,M=(s-D)*E,S=x===1?-M:F;return w+S+E/N*b},0);let d=!1;switch(e){case Se.cash:d=t<c;break;case Se.percentOfEquity:const w=c/(h+f)*100;d=t<w;break}if(d){this._risk.isTemporaryBan=!0;const w=(g=this._orders[0])==null?void 0:g.direction;this._closeOrders(this._orders,w===_e.long?s:n,"Close Position (Max intraday Loss)"),this._pendingOrders=[]}}_maxIntradayFilledOrdersVerify(){const{max_intraday_filled_orders:t,intradayOrders:e=0,isDisabledOpen:r}=this._risk;if(t===void 0||r)return;const{time:n,time_tradingday:s,open:a}=this._variables;n===s&&(this._risk.intradayOrders=0,this._risk.isTemporaryBan=!1),t<=e&&(this._risk.isTemporaryBan=!0,this._closeOrders(this._orders,a,"Close Position (Max number of filled orders in one day)"),this._pendingOrders=[])}_maxConsLossDaysVerify(){const{max_cons_loss_days:t,lossDays:e=0,isDisabledOpen:r,totalProfit:n=0}=this._risk;if(t===void 0||r)return;const{time:s,time_tradingday:a,strategy:l,open:f}=this._variables;let h=e;if(s===a){const p=l.netprofit+l.openprofit;p<n?h=0:h++,Object.assign(this._risk,{lossDays:h,totalProfit:p})}t<=h&&this._riskTouchOff(f,"Close Position (Max consecutive loss days)")}_maxDrawdownVerify(){var n;const{max_drawdown:t,max_drawdown_type:e,isDisabledOpen:r}=this._risk;if(!r&&t!==void 0&&e){const{max_drawdown:s,max_drawdown_percent:a}=this._variables.strategy;let l=!1;switch(e){case Se.percentOfEquity:l=a<s;break;case Se.cash:l=t<s;break}if(l){const{high:f,low:h}=this._variables,p=(n=this._orders[0])==null?void 0:n.direction;this._riskTouchOff(p===_e.long?f:h,"Close Position (Max Drawdown)")}}}_riskTouchOff(t,e){this._risk.isDisabledOpen=!0,this._closeOrders(this._orders,t,e),this._pendingOrders=[]}strategy(t,e){this._variables.bar_index||(this._paramVerfiy(t.format,e,"strategy",[Gt.inherit,Gt.price,Gt.percent,Gt.volume],"format"),this._paramVerfiy(t.default_qty_type,e,"strategy",Object.values(Se),"default_qty_type"),this._paramVerfiy(t.commission_type,e,"strategy",Object.values(Fr),"commission_type"),this._options={...t},this._variables.updateMaxLength(t),Object.assign(this._funcOptions,{strategy:this._options,scriptType:"strategy"}))}order(t,e){this._risk.isDisabledOpen||(this._paramVerfiy(t.oca_type,e,"strategy.order",Object.values(an),"oca_type"),this._orderHandle(t))}entry(t,e){this._risk.isDisabledOpen||(this._paramVerfiy(t.oca_type,e,"strategy.entry",Object.values(an),"oca_type"),this._entryHandle(t))}close(t){if(!this._orders.length)return;const{immediately:e}=t;e||this._options.process_orders_on_close?this._pendingCloseOrders.push({...t,place_order_type:"close"}):this._pendingOrders.push({...t,place_order_type:"close"})}close_all(t){if(typeof t=="string"&&(t={}),!this._orders.length)return;const{immediately:e}=t;e||this._options.process_orders_on_close?this._pendingCloseOrders.push({...t,place_order_type:"close_all"}):this._pendingOrders.push({...t,place_order_type:"close_all"})}cancel({id:t}){this._pendingOrders=this._pendingOrders.filter(e=>!(e.id===t&&e.place_order_type!=="close"))}cancel_all(){this._pendingOrders=this._pendingOrders.filter(t=>t.place_order_type==="close_all")}exit(t,e){this._exit(t,e)}convert_to_account({value:t}){return t}convert_to_symbol({value:t}){return t}default_entry_qty({fill_price:t}){return t?this._calcDefaultQty(t):0}_calcDefaultQty(t){const{default_qty_type:e=Se.fixed,default_qty_value:r=1,initial_capital:n}=this._options;switch(e){case Se.fixed:return r;case Se.cash:return r/t;case Se.percentOfEquity:return(n+this._orderProfit+this._totalChangeCapital)*r/100/t}}_getCapital(t,e){const{margin_long:r=0,margin_short:n=0}=this._options;return r<100&&r>0&&t===1?e=e*100/r:n<=100&&n>0&&t===-1&&(e=e*100/n),e}_calcProfitAndLoss(){const{high:t,low:e,close:r}=this._variables;for(const n of this._orders){const{in_price:s,qty:a=0,direction:l}=n,f=l===_e.long?1:-1,h=(r-s)*f*a,p=(t-s)*a,c=(e-s)*a,d=f===1?p:-c,g=f===1?-c:p;this._calcOrderPercent(n,h,d,g)}}_calcOrderPercent(t,e,r,n){const{commission_value:s}=this._options,{close:a}=this._variables,{original_qty:l=0,qty:f=0,in_price:h,max_profit:p=0,trading_loss:c=0}=t;let{commission:d=0}=t;const g=h*f;if(s){const w=this._getCommission(a,f);e=e-w,d=d*f/l,r-=d,n+=d}r=Math.max(r,p),n=Math.min(n,c),Object.assign(t,{profit:e-d,total_profit:this._totalChangeCapital+e,max_profit:r,trading_loss:n,profit_percent:e/g*100,max_profit_percent:r/g*100,trading_loss_percent:n/g*100})}_calcLiquidate(){if(!this._orders.length)return;const{high:t,low:e}=this._variables,{initial_capital:r,margin_long:n=0,margin_short:s=0,commission_value:a=0}=this._options,l=this._orders[0].direction===_e.long?1:-1,f=l===1?e:t,h=(l===1?n:s)/100;if(h<=0)return;const[p,c,d]=this._orders.reduce((v,E)=>{let[b,N,x]=v;const{in_price:F,qty:M=0,original_qty:S=0,commission:I=0}=E,C=F*M,O=f*M;if(b+=C,N+=O,a){const L=this._getCommission(f,M);x+=L+M/S*I}return[b,N,x]},[0,0,0]),g=l*(c-p),m=r+this._totalChangeCapital+g-d-c*h;if(m>=0)return;const D=Math.trunc(m/h/f)*4;this._marginCallOrders(f,D,"Margin Call")}_marginCallOrders(t,e,r){const{close_entries_rule:n="FIFO"}=this._options;if(n==="FIFO"){this._processOrders(this._orders,t,e*this._orders.length,r,r);return}for(const s of this.orders)this._processOrder(s,t,e,r,r);this._orders=this._orders.filter(s=>!s.isDeal),this._variables.strategy.updateOrders(this._orders)}_orderHandle(t){const{process_orders_on_close:e,slippage:r=0}=this._options,{orders:n,isMarketPrice:s,quantities:a,close:l,price:f,activePrice:h}=this._orderArgsParse(t),p=t.direction===_e.long?1:-1;if(a<=0)return;let c=a;if(s&&e){if(n.length){const m=this._processOrders(n,l,c,t.id,t.comment);if(m<=0)return;c=m}const g=l+p*r*this._mintick;if(!this._judgeCapitalEnough(c,g,p))return;this._ocaGroupVerify(c,t.oca_name,t.oca_type),this._calcCurrentOrder({...t,in_price:g,in_index:this._variables.bar_index,in_time:this._variables.time,qty:c,place_order_type:"order"});return}this._judgeCapitalEnough(a,f,p)&&this._addPendingOrders(t,f,c,s,h)}_judgeCapitalEnough(t,e,r){if(t<=0)return!1;const{margin_long:n=0,margin_short:s=0}=this._options;if((n===0||n===100)&&r===1||s===0&&r===-1)return!0;const l=this._getCapital(r,this._options.initial_capital+this._orderProfit+this._totalChangeCapital)-this._freezeCapital;return t*e<=l}_ocaGroupVerify(t,e,r){if(!e||!r||r===an.none)return!1;let n=!1;switch(r){case an.cancel:this._pendingOrders=this._pendingOrders.filter(s=>{if(s.oca_name===e)s.isCancel=!0,n=!0;else return!0});break;case an.reduce:this._pendingOrders=this._pendingOrders.filter(s=>{const{qty:a=0,oca_name:l}=s;if(e===l){const f=a-t;return n=!0,f<=0?(s.isCancel=!0,!1):(s.qty=f,!0)}else return!0});break}return n}_processOrders(t,e,r,n,s){let a=r;for(const l of t)if(a=this._processOrder(l,e,a,n,s),a<=0)break;return this._orders=this._orders.filter(l=>!l.isDeal),this._variables.strategy.updateOrders(this._orders),a}_addPendingOrders(t,e,r,n,s){const a=this._pendingOrders.find(l=>l.id===t.id&&!l.isMarketPrice);if(a)Object.assign(a,{...t,in_price:e,isMarketPrice:n,qty:r,active_price:s});else{const l={...t,in_price:e,isMarketPrice:n,qty:r,active_price:s,place_order_type:"order"};this._pendingOrders.push(l)}}_orderArgsParse(t){const{direction:e,qty:r,stop:n}=t;let s=t.limit||0;const{close:a}=this._variables;let l=a,f=!1,h;const p=e===_e.long?1:-1,c=n&&(n-a)*p>0,{backtest_fill_limits_assumption:d=0}=this._options;d>0&&s&&(s-=d*this._mintick*p);const g=s&&(s-a)*p<0;c&&g?(h=n,l=s):c?l=n:g?l=s:f=!0;const w=r||this._calcDefaultQty(l)||1;return{orders:this._orders.filter(D=>D.direction!==e),isMarketPrice:f,activePrice:h,quantities:w,close:a,price:l}}_entryHandle(t){const{process_orders_on_close:e}=this._options,{orders:r,isMarketPrice:n,quantities:s,close:a,price:l,activePrice:f}=this._orderArgsParse(t);if(s<=0)return;if(r.length&&n&&e){this._entryOrder(r,a,s,t);return}this._judgeCapitalEnough(s,a,t.direction===_e.long?1:-1)&&this._addPendingEntry(t,l,s,n,f)}_entryOrder(t,e,r,n){const{time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{oca_name:f,oca_type:h,direction:p,comment:c,isMarketPrice:d,id:g}=n,w=p===_e.long?1:-1;if(this._closeOrders(t,e,g,c),r=this._getAvailablePositionSize(r,p),r<=0)return;e=e+l*this._mintick*w;const m={...n,in_price:e,original_qty:r,qty:r,in_index:a,in_time:s,place_order_type:"entry"};if(d){this._calcCurrentOrder(m);return}const{pendingOrders:D,orders:v}=this._getEntryOrders(p),E=D.length+v.length;E&&E>=(this._options.pyramiding||0)||!this._judgeCapitalEnough(r,e,w)||(this._ocaGroupVerify(r,f,h),this._calcCurrentOrder(m))}_getAvailablePositionSize(t,e){const{max_position_size:r,allow_entry_in:n}=this._risk;if(n&&n!==_e.all&&n!==e)return 0;if(r===void 0)return t;const s=this._orders.reduce((a,l)=>a+(l.qty||0),0);return s?s+t>r?0:t:t>r?t-r:0}_getEntryOrders(t){const e=this._pendingOrders.filter(n=>["entry","order"].includes(n.place_order_type)&&n.direction===t),r=this._orders.filter(n=>n.direction===t);return{pendingOrders:e,orders:r}}_addPendingEntry(t,e,r,n,s){if(r=this._getAvailablePositionSize(r,t.direction),r<=0)return;const{pendingOrders:a,orders:l}=this._getEntryOrders(t.direction),f=a.length+l.length,h=a.find(p=>p.id===t.id&&p.place_order_type==="entry");if(h)Object.assign(h,{...t,in_price:e,isMarketPrice:n,qty:r,active_price:s});else if(!f||f<(this._options.pyramiding||1)){const p={...t,in_price:e,isMarketPrice:n,qty:r,active_price:s,place_order_type:"entry"};this._pendingOrders.push(p)}}_closeAllOrders(t,e){const{comment:r}=t,{bar_index:n}=this._variables,s=this._orders.filter(a=>a.in_index!==n);s.length&&(this._closeOrders(s,e,"Close position order",r),this._orders=[],this._variables.strategy.updateOrders(this._orders))}_closeOrders(t,e,r,n){for(const s of t)this._closeOrder(s,e,r,n);this._orders=this._orders.filter(s=>!s.isDeal),this._variables.strategy.updateOrders(this._orders)}_closeOrder(t,e,r,n){const{time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{in_price:f,qty:h=0,direction:p}=t,c=p===_e.long?1:-1;e=e-c*l*this._mintick,t.isDeal=!0;const d=(e-f)*c*h,g={...t,out_price:e,out_id:r,out_index:a,out_time:s,out_comment:n,out_qty:h,profit:d};this._calcPercent(g),this._risk.intradayOrders+=1,this._historyOrder.push(g),this._variables.strategy.updateHistoryOrders(this._historyOrder)}_ordersHandle(){const t=this._orders.filter(a=>a.place_order_type==="exit"&&!a.hasExit);if(!t.length)return;const{open:e,low:r,high:n,close:s}=this._variables;for(const a of t){const{stop:l,limit:f,trail_stop_price:h,isMarketPriceLimit:p,isMarketPriceStop:c,direction:d,id:g,out_comment:w,active_price:m,trail_offset:D=0,out_qty:v,comment_loss:E,comment_profit:b,comment_trailing:N}=a;let x=h;const F=d===_e.long?1:-1;let M,S=w;if(p||c?M=e:(f&&r<=f&&n>=f&&(S=b||w,M=f),l&&r<=l&&n>=l&&(M=x?(l-x)*F>0?l:x:l,S=(x===M?N:E)||w)),M)this._processExitOnClose(a,M,{from_entry:g,comment:S,qty:v});else{let I=!1;if(m&&m<=n&&m>=r&&(x=m-D*F*this._mintick,(x-s)*F>=0&&(a.isMarketPriceStop=!0,this._options.process_orders_on_close&&(M=x)),I=!0,a.trail_stop_price=x),x)if((x-e)*F>=0&&!I)M=x;else{const C=(F===1?n:r)-D*F*this._mintick;F===1?x<e&&x>=r&&C>x&&C<s?M=x:C>x?(x=C,C>=s&&(M=C)):x<=n&&r<=x&&(M=x):x>e&&x<=n&&C<x&&C>s?M=x:C<x?(x=C,C<=s&&(M=C)):x<=n&&r<=x&&(M=x),a.trail_stop_price=x}M&&this._processExitOnClose(a,M,{from_entry:g,comment:N||w,qty:v})}}}_pendingOrderHandle(){if(!this._pendingOrders.length)return;const t=[],e=this._pendingOrders.filter(n=>n.place_order_type==="exit"),r=this._pendingOrders.filter(n=>["close","close_all"].includes(n.place_order_type||""));for(const n of r)switch(n.place_order_type){case"close":this._closeOrderHandle(n);break;case"close_all":this._closeAllOrders(n,this._variables.open);break}for(const n of this._pendingOrders){const{isCancel:s,place_order_type:a}=n;if(s)continue;let l;switch(a){case"entry":l=this._entryOrderHandle(n);break;case"order":l=this._orderOrderHandle(n);break}l&&t.push(l)}for(const n of e){const s=this._exitOrderHandle(n);s&&t.push(s)}this._pendingOrders=t}_pendingCloseOrderHandle(){if(!this._pendingCloseOrders.length)return;const t=this._pendingCloseOrders.filter(n=>n.place_order_type==="exit"),e=this._pendingCloseOrders.filter(n=>["close","close_all"].includes(n.place_order_type||"")),{close:r}=this._variables;for(const n of e)switch(n.place_order_type){case"close":this._closeOrderHandle(n,!0);break;case"close_all":this._closeAllOrders(n,r);break}for(const n of t){const{from_entry:s}=n,a=this._orders.filter(l=>!s||l.id===s&&(l.isMarketPriceLimit||l.isMarketPriceStop));for(const l of a)this._processExitOnClose(l,l.limit||l.stop||l.trail_stop_price||r,n)}this._pendingCloseOrders=[]}_entryOrderHandle(t){const{open:e,low:r,high:n}=this._variables,{isMarketPrice:s,qty:a=0,in_price:l,direction:f,active_price:h}=t;if(h&&n>=h&&r<=h)return delete t.active_price,t;let p=l;if(s&&(p=e),p<=n&&p>=r){const c=this._orders.filter(d=>d.direction!==f);this._entryOrder(c,p,a,t)}else return t}_orderOrderHandle(t){const{open:e,low:r,high:n,time:s,bar_index:a}=this._variables,{slippage:l=0}=this._options,{isMarketPrice:f,qty:h=0,in_price:p,direction:c,comment:d,oca_name:g,oca_type:w,active_price:m,id:D}=t;if(m&&n>=m&&r<=m)return delete t.active_price,t;let v=p,E=h;if(f&&(v=e),v<=n&&v>=r){const b=this._orders.filter(x=>x.direction!==c);if(b.length&&(E=this._processOrders(b,v,h,D,d),E<=0))return;const N=c===_e.long?1:-1;this._ocaGroupVerify(E,g,w),this._calcCurrentOrder({...t,in_price:v+N*l*this._mintick,in_index:a,in_time:s,qty:E});return}else return t}_closeOrderHandle(t,e){const{id:r,qty:n,qty_percent:s=100,comment:a}=t,{bar_index:l}=this._variables,f=this._orders.filter(g=>g.id===r&&g.in_index!==l&&(!g.close_qty||g.close_qty<(g.qty||0)));if(!f.length)return;let h=0;if(n?h=n:(h=f.reduce((g,w)=>g+(w.qty||0),h),h=s/100*h),h<=0)return;const{open:p,close:c}=this._variables;let d=h;for(const g of f){const{qty:w=0}=g;d<w?g.close_qty=d:(g.close_qty=w,d-=w)}this._processOrders(this._options.close_entries_rule==="ANY"?f:this._orders,e?c:p,h,`Close entry(s) order ${r}`,a)}_exitOrderHandle(t){const{from_entry:e}=t,r=this._orders.filter(n=>(!e||e===n.id)&&!n.hasExit);if(!(r.length&&!this._ordersToExit(r,t)))return t}_exit(t,e){const{profit:r,loss:n,stop:s,limit:a,trail_offset:l,trail_price:f,trail_points:h,from_entry:p="",id:c}=t;if(this._isNaN(r)&&this._isNaN(n)&&this._isNaN(s)&&this._isNaN(a)&&(this._isNaN(l)||this._isNaN(h)&&this._isNaN(f))){this._errorListener.addError("strategy.exit must have at least one of the following parameters: 'profit', 'limit', 'loss', 'stop' or one of the following pairs: 'trail_offset' and 'trail_price' / 'trail_points'. To close the position at market price, use 'strategy.close'",e,jt.Error);return}const d={...t,place_order_type:"exit"},g=this._orders.filter(D=>(!p||p===D.id)&&!D.hasExit),w=this._pendingOrders.filter(D=>!p||p===D.id);if(g.length){if(!this._ordersToExit(g,d))return}else if(!w.length)return;const m=this._pendingOrders.find(D=>D.id===c);m?Object.assign(m,{...t}):this._pendingOrders.push(d)}_ordersToExit(t,e){const{qty:r,qty_percent:n=100,id:s,comment:a,comment_loss:l,comment_profit:f,comment_trailing:h}=e;let p=r,c=!1;e.comment=a||s;for(const d of t){const{qty:g=0}=d,w=d.direction===_e.long?1:-1;p=r?r>=g?g:r:n/100*g,d.out_qty=p,p<g&&(c=!0),Object.assign(d,{out_comment:a||s,comment_loss:l,comment_profit:f,comment_trailing:h}),!(this._stopProfit(d,w,{...e,qty:p})||this._stopLoss(d,w,{...e,qty:p})||this._trailStopLoss(d,w,{...e,qty:p}))&&(d.place_order_type="exit")}return c}_addExitPendingCloseOrders(t){t.place_order_type="exit";const e=this._pendingCloseOrders.find(r=>r.id===t.id);e?Object.assign(e,{...t}):this._pendingCloseOrders.push(t)}_stopProfit(t,e,r){const{limit:n,profit:s,comment_profit:a,comment:l}=r;let f=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:c}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(f=p+e*s*this._mintick),t.limit=f,f&&(f-h)*e<=0&&(t.isMarketPriceLimit=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),f=h,c))return this._addExitPendingCloseOrders(r),!0}_stopLoss(t,e,r){const{stop:n,loss:s,comment_loss:a,comment:l}=r;let f=n;const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:c}=this._options;if(!this._isNaN(s)&&this._isNaN(n)&&(f=p-e*s*this._mintick),t.stop=f,f&&(f-h)*e>=0&&(t.isMarketPriceStop=!0,r.comment=a||l,Object.assign(t,{out_comment:r.comment}),f=h,c))return this._addExitPendingCloseOrders(r),!0}_trailStopLoss(t,e,r){const{trail_offset:n,trail_price:s,trail_points:a,comment_trailing:l,comment:f}=r;if(!this._isNaN(n)){const{close:h}=this._variables,{in_price:p}=t,{process_orders_on_close:c}=this._options;let d;if(this._isNaN(s)?this._isNaN(a)||(d=p+a*e*this._mintick):d=s,t.trail_offset=n,d&&(d-h)*e<=0){const g=h-n*e*this._mintick;if((g-h)*e>=0&&(t.trail_stop_price=h,t.isMarketPriceStop=!0,r.comment=l||f,Object.assign(t,{out_comment:r.comment}),c))return this._addExitPendingCloseOrders(r),!0;t.trail_stop_price=g}t.active_price=d}}_processExitOnClose(t,e,r){const{qty:n=0,comment:s,id:a}=r,{close_entries_rule:l="FIFO"}=this._options;if(l==="FIFO"){const f=this._processExitOrders(this._orders,e,n,a,s);f&&!f.hasExit?(f.hasExit=!0,Object.assign(t,{trail_stop_price:f.trail_stop_price,stop:f.stop,limit:f.limit,trail_offset:f.trail_offset,active_price:f.active_price})):f&&(t.hasExit=!0)}else t.hasExit=!0,this._processOrders([t],e,n,a,s)}_processExitOrders(t,e,r,n,s){let a=r,l;for(const f of t)if(l=f,a=this._processOrder(f,e,a,n,s),a<=0||!f.hasExit)break;return this._orders=this._orders.filter(f=>!f.isDeal),this._variables.strategy.updateOrders(this._orders),l}_processOrder(t,e,r,n,s){const{time:a,bar_index:l}=this._variables,{slippage:f=0}=this._options,{in_price:h,qty:p=0,max_profit:c=0,trading_loss:d=0,direction:g,commission:w=0,original_qty:m=0}=t,D=g===_e.long?1:-1;if(e=e-D*f*this._mintick,r<p){const v=p-r,E=(e-h)*D*r,b=c/p*r,N=d/p*r;this._calcPercent({...t,out_price:e,out_id:n,out_index:l,out_time:a,out_comment:s,profit:E,out_qty:r,max_profit:b,trading_loss:N});const x=(e-h)*D*v-w*v/m;Object.assign(t,{qty:v,profit:x,max_profit:c-b,trading_loss:d-N,total_profit:this._totalChangeCapital+x}),r=0}else{t.isDeal=!0;const v=(e-h)*D*p;this._calcPercent({...t,out_price:e,out_id:n,out_index:l,out_time:a,out_comment:s,out_qty:p,profit:v}),r-=p}return r}_calcPercent(t){const{commission_value:e}=this._options,{in_price:r,out_qty:n=0,out_price:s=0,original_qty:a=0}=t;let{profit:l=0,max_profit:f=0,trading_loss:h=0,commission:p=0}=t;f=f<0?0:f;const c=r*n;if(this._totalChangeCapital+=l,e){const d=this._getCommission(s,n);this._totalChangeCapital-=d,p=p*n/a+d,l=l-p,Object.assign(t,{commission:p,profit:l,max_profit:f})}Object.assign(t,{total_profit:this._totalChangeCapital,profit_percent:l/c*100,max_profit_percent:f/c*100,trading_loss_percent:h/c*100}),this._risk.intradayOrders+=1,this._historyOrder.push(t),this._variables.strategy.updateHistoryOrders(this._historyOrder)}_getCommission(t,e){const{commission_value:r=0,commission_type:n}=this._options,s=t*e;let a=0;switch(n){case Fr.percent:a=s*r/100;break;case Fr.cashPerContract:a=e*r;break;case Fr.cashPerOrder:a=r;break}return a}_calcCurrentOrder(t){const{commission_value:e}=this._options,{in_price:r,qty:n=0,max_profit:s=0,trading_loss:a=0}=t;let{profit:l=0}=t;const f=r*n;if(e){const h=this._getCommission(r,n);this._totalChangeCapital-=h,l=l-h,Object.assign(t,{commission:h,profit:l,total_profit:this._totalChangeCapital})}Object.assign(t,{original_qty:n,profit_percent:l/f*100,max_profit_percent:s/f*100,trading_loss_percent:a/f*100}),this._risk.intradayOrders+=1,this._orders.push(t),this._variables.strategy.updateOrders(this._orders)}_isNaN(t){return t===void 0||isNaN(t)}_paramVerfiy(t="",e,r,n,s){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`${n.join(", ")}`}),e,jt.Error)}};class Hw{constructor(t){z(this,"_logs");z(this,"_variables");z(this,"_intlFormat");this._variables=t,this._logs=[],this._intlFormat=new Intl.NumberFormat("en-US")}get logs(){return this._logs}clearLogs(){this._logs=[]}info(t,e,r){this._addLog(t,e,"info",r)}error(t,e,r){this._addLog(t,e,"error",r)}warning(t,e,r){this._addLog(t,e,"warning",r)}_addLog(t,e,r,n){if(typeof e=="string"&&(n=e),n.startsWith("export"))return;const{message:s,formatString:a}=t,{time:l,bar_index:f}=this._variables;let h=s;a&&Array.isArray(e)&&e.length&&(h=a.replace(/{(\d+)}/g,(p,c)=>{let d=e[c];return typeof d=="number"&&(d=this._intlFormat.format(parseFloat(d.toFixed(3)))),d!==void 0?d:p})),h&&this._logs.push({message:`[${ee(l).format()}]: ${h}`,time:l,barIndex:f,type:r})}}class Jw{constructor(t){z(this,"_errorListener");this._errorListener=t}error({message:t},e){e.startsWith("export")||this._errorListener.addError(t,e,jt.Error)}}class Xw{constructor(){z(this,"_errors");this._errors=new Map}clear(){this._errors.clear()}get errors(){return zr.flatMap([...this._errors.values()])}addError(t,e,r){const[n,s]=e.split("_").slice(-2),a=this._errors.get(e),l={message:t,endLineNumber:Number(n),startColumn:Number(s)+1,endColumn:Number(s)+1,startLineNumber:Number(n),type:r};a?a.push(l):this._errors.set(e,[l])}}class Qw{constructor(){z(this,"_isMarketOpen");z(this,"_currentBarIndex");z(this,"_totalBarIndex");z(this,"_isRealTimeBar");z(this,"_preBarIndex");this._currentBarIndex=0,this._totalBarIndex=0,this._isRealTimeBar=!1,this._preBarIndex=0,this._isMarketOpen=!0}update(t,e,r,n){this._preBarIndex=this._currentBarIndex,this._currentBarIndex=t,this._totalBarIndex=e,this._isRealTimeBar=r,this._isMarketOpen=n}get isnew(){return!this._isRealTimeBar||this._preBarIndex!==this._currentBarIndex}get islast(){return this._currentBarIndex===this._totalBarIndex}get isfirst(){return this._currentBarIndex===0}get ishistory(){return!this._isRealTimeBar}get isrealtime(){return this._isRealTimeBar}get isconfirmed(){return!this._isRealTimeBar}get islastconfirmedhistory(){return this._isMarketOpen?this._currentBarIndex===this._totalBarIndex-1:this._currentBarIndex===this._totalBarIndex}}class ty{constructor(t){z(this,"_variables");this._variables=t}get isfirstbar(){return this._variables.timeframe.isdwm?!0:this._variables.time===this._variables.time_tradingday}get isfirstbar_regular(){return this._variables.timeframe.isdwm?!0:this._variables.time===this._variables.time_tradingday}get islastbar(){if(this._variables.timeframe.isdwm)return!0;const t=on(this._variables.timeframe.period);return this._variables.time+t===this._variables.time_tradingday+24*60*60*1e3}get islastbar_regular(){if(this._variables.timeframe.isdwm)return!0;const t=on(this._variables.timeframe.period);return this._variables.time+t===this._variables.time_tradingday+24*60*60*1e3}get ismarket(){return!0}get ispostmarket(){return!1}get ispremarket(){return!1}}class ey{constructor(t){z(this,"_orders");z(this,"_historyOrders");z(this,"_options");z(this,"_max_contracts_held_all",0);z(this,"_max_contracts_held_long",0);z(this,"_max_contracts_held_short",0);z(this,"_max_drawdown",0);z(this,"_max_runup",0);z(this,"_max_runup_percent",0);z(this,"_max_drawdown_percent",0);z(this,"_variables");z(this,"_netprofit",0);z(this,"_eventrades",0);z(this,"_avg_trade_percent");z(this,"_closedtrades",0);z(this,"_losstrades",0);z(this,"_grossloss",0);z(this,"_grossloss_percent",0);z(this,"_grossprofit",0);z(this,"_grossprofit_percent",0);z(this,"_wintrades",0);z(this,"_opentrades_capital_held",0);z(this,"_position_avg_price",0);z(this,"_position_size",0);this._orders=[],this._historyOrders=[],this._variables=t}update(){this._calcMaxDrawdownAndMaxRunup()}_calcMaxDrawdownAndMaxRunup(){let t=0,e=0;const{high:r,low:n}=this._variables;for(const h of this._orders){const{in_price:p,qty:c=0,commission:d=0,original_qty:g=0,direction:w}=h,m=w===_e.long?1:-1,D=(r-p)*c,v=(n-p)*c,E=m===1?D:-v,b=m===1?-v:D;t+=b+d*c/g,e+=E+d*c/g}const[s,a]=this._historyOrders.reduce((h,p)=>{let[c,d]=h;const{profit:g=0,commission:w=0}=p;return c+=g,d+=g-w,[c,d]},[0,0]);t-=s,e+=a;const l=t/(this.initial_capital+this.netprofit)*100;this._max_drawdown<t&&(this._max_drawdown=t),l>this._max_drawdown_percent&&(this._max_drawdown_percent=l);const f=e/(this.initial_capital+this.netprofit)*100;e>this._max_runup&&(this._max_runup=e),f>this._max_runup_percent&&(this._max_runup_percent=f)}updateOrders(t){this._orders=t,this._calcMaxContracts()}_calcMaxContracts(){const t=this._orders.length;if(!t)return;const[e,r,n,s,a,l]=this._orders.reduce(([f,h,p,c,d,g],w)=>{const{direction:m,qty:D=0,in_price:v}=w;return m===_e.long?(f+=D,h+=D,g+=D):(f+=D,p+=D,g-=D),c+=D*v,d+=v,[f,h,p,c,d,g]},[0,0,0,0,0,0]);this._position_size=l,this._position_avg_price=a/t,this._opentrades_capital_held=s,this._max_contracts_held_all=Math.max(e,this._max_contracts_held_all),this._max_contracts_held_long=Math.max(r,this._max_contracts_held_long),this._max_contracts_held_short=Math.max(n,this._max_contracts_held_short)}updateHistoryOrders(t){this._historyOrders=t;const e=this._historyOrders.length;this._closedtrades=e;const[r,n,s,a,l,f]=this._historyOrders.reduce((h,p)=>{let[c,d,g,w,m,D]=h;const{profit:v=0,profit_percent:E=0}=p;return c+=v,d+=E,v<0?(g+=v,w+=E):(m+=v,D+=E),[c,d,g,w,m,D]},[0,0,0,0,0,0]);this._avg_trade_percent=e?n/e:void 0,this._netprofit=r,this._grossloss=s,this._grossloss_percent=a,this._grossprofit=l,this._grossprofit_percent=f,this._eventrades=this._historyOrders.filter(h=>h.profit===0).length,this._losstrades=this._historyOrders.filter(h=>(h.profit||0)<0).length,this._wintrades=this._historyOrders.filter(h=>(h.profit||0)>0).length}updateStrategyOptions(t){this._options=t}get long(){return"long"}get short(){return"short"}get account_currency(){return"USD"}get closedtrades(){return this._closedtrades}get opentrades(){return{opentrades:this._orders.length,capital_held:this._opentrades_capital_held}}get avg_losing_trade(){const t=this.losstrades;return t?Math.abs(this.grossloss/t):void 0}get avg_losing_trade_percent(){const t=this.losstrades;return t?Math.abs(this.grossloss_percent/t):void 0}get avg_trade(){if(this.closedtrades)return Math.abs(this.netprofit/this.closedtrades)}get equity(){return this.initial_capital+this.netprofit+this.openprofit}get netprofit(){return this._netprofit}get eventrades(){return this._eventrades}get openprofit(){return this._orders.reduce((t,e)=>{const{profit:r=0}=e;return t+r},0)}get avg_trade_percent(){return this._avg_trade_percent}get avg_winning_trade(){const t=this.wintrades;return t?Math.abs(this.grossprofit/t):void 0}get avg_winning_trade_percent(){const t=this.wintrades;return t?Math.abs(this.grossprofit_percent/t):void 0}get initial_capital(){var t;return((t=this._options)==null?void 0:t.initial_capital)||0}get losstrades(){return this._losstrades}get grossloss(){return this._grossloss}get grossloss_percent(){return this._grossloss_percent}get grossprofit(){return this._grossprofit}get grossprofit_percent(){return this._grossprofit_percent}get wintrades(){return this._wintrades}get margin_liquidation_price(){if(!this._options)return;const{initial_capital:t,margin_long:e=0,margin_short:r=0,commission_type:n,commission_value:s=0}=this._options,a=this._orders[0].direction===_e.long?1:-1,l=(a===1?e:r)/100;if(l<=0)return;const{close:f}=this._variables,[h,p]=this._orders.reduce((c,d)=>{let[g,w]=c;const{in_price:m,qty:D=0,original_qty:v=0}=d,E=m*D;if(g+=E,s){let b=0;switch(n){case Fr.percent:b=(E+D*f)*s/100;break;case Fr.cashPerContract:b=D*s*2;break;case Fr.cashPerOrder:b=D/v*s+s;break}w+=b}return[g,w]},[0,0]);return(h-(t+this.netprofit-p))*a/this.position_size/(1-a*l)}get max_contracts_held_all(){return this._max_contracts_held_all}get max_contracts_held_long(){return this._max_contracts_held_long}get max_contracts_held_short(){return this._max_contracts_held_short}get max_drawdown(){return this._max_drawdown}get max_runup(){return this._max_runup}get max_runup_percent(){return this._max_runup_percent}get max_drawdown_percent(){return this._max_drawdown_percent}get netprofit_percent(){return this.netprofit/this.initial_capital*100}get openprofit_percent(){return this.openprofit/(this.initial_capital+this.netprofit)*100}get position_avg_price(){return this._position_avg_price}get position_entry_name(){if(this._orders.length)return this._orders[0].id}get position_size(){return this._position_size}}class ry{constructor(){z(this,"_preAccdist");z(this,"_preNvi");z(this,"_prePvi");z(this,"_preObv");z(this,"_prePvt");z(this,"_preWad");z(this,"_preVwap");z(this,"_preValue");z(this,"_currentData");z(this,"_preData");this._preAccdist=0,this._preNvi=0,this._prePvi=0,this._preObv=0,this._prePvt=0,this._preWad=0,this._preVwap={},this._preValue={},this._currentData={},this._preData={}}update(t){this._preValue={},t.barIndex!==this._currentData.barIndex&&(this._preData={...this._currentData}),this._currentData={...t}}get isRealTime(){return this._preData.barIndex===this._currentData.barIndex}get accdist(){if(this._preValue.accdist)return this._preValue.accdist;const{close:t,low:e,high:r,volume:n}=this._currentData;if(r===e)return this._preAccdist;const s=(t-e-(r-t))/(r-e)*n+this._preAccdist;return!this.isRealTime&&(this._preAccdist=s),this._preValue.accdist=s,s}get iii(){if(this._preValue.iii)return this._preValue.iii;const{close:t,low:e,high:r,volume:n}=this._currentData,s=(2*t-r-e)/((r-e)*n);return this._preValue.iii=s,s}get nvi(){return this._preValue.nvi?this._preValue.nvi:this._getNvi()}get wvad(){if(this._preValue.wvad)return this._preValue.wvad;const{close:t,low:e,high:r,volume:n,open:s}=this._currentData,a=(t-s)/(r-e)*n;return this._preValue.wvad=a,a}get obv(){if(this._preValue.obv)return this._preValue.obv;const{close:t,volume:e}=this._currentData,{close:r}=this._preData;if(r===void 0){this._preObv=0;return}const n=Math.sign(t-r)*e+this._preObv;return!this.isRealTime&&(this._preObv=n),this._preValue.obv=n,n}get pvi(){return this._preValue.pvi?this._preValue.pvi:this._getPvi()}get tr(){if(this._preValue.tr)return this._preValue.tr;const{low:t,high:e}=this._currentData,{close:r}=this._preData;if(r===void 0)return;const n=Math.max(e-t,Math.abs(e-r),Math.abs(t-r));return this._preValue.tr=n,n}get pvt(){if(this._preValue.pvt)return this._preValue.pvt;const{close:t,volume:e}=this._currentData,{close:r}=this._preData;if(r===void 0){this._prePvt=0;return}const n=(t-r)/r*e+this._prePvt;return!this.isRealTime&&(this._prePvt=n),this._preValue.pvt=n,n}get wad(){if(this._preValue.wad)return this._preValue.wad;const{close:t,high:e,low:r}=this._currentData,{close:n}=this._preData;if(n===void 0)return this._preWad=0,0;const s=Math.max(e,n),a=Math.min(r,n),l=t-n,h=(l>0?t-a:l<0?t-s:0)+this._preWad;return!this.isRealTime&&(this._preWad=h),this._preValue.wad=h,h}get vwap(){if(this._preValue.vwap)return this._preValue.vwap;const{hlc3:t,volume:e}=this._currentData;let{sum:r=0,sumV:n=0,isReset:s}=this._preVwap;if(self.buildInFunctions.timeframe.change({timeframe:"1D"},"vwap_buildin")&&(s=!0,r=n=0),!s)return;const l=t*e+r,f=e+n;!this.isRealTime&&(this._preVwap={sum:l,sumV:f,isReset:s});const h=l/f;return this._preValue.vwap=h,h}_getNvi(){const t=this._preNvi||1,{close:e=0,volume:r=0}=this._preData,{close:n,volume:s}=this._currentData;let a=1;const l=t||1;return n&&e?a=s<r?l+(n-e)/e*l:l:a=l,!this.isRealTime&&(this._preNvi=a),this._preValue.nvi=a,a}_getPvi(){const t=this._prePvi||1,{close:e=0,volume:r=0}=this._preData,{close:n,volume:s}=this._currentData;let a=1;const l=t||1;return n&&e?a=s>r?l+(n-e)/e*l:l:a=l,!this.isRealTime&&(this._prePvi=a),this._preValue.pvi=a,a}}class ny{constructor(){z(this,"_period");z(this,"_multiplier");z(this,"_unit");this._period="1",this._multiplier=1,this._unit="m"}update(t){if(!t)return;this._period=t;const[e,r]=ys(t);this._multiplier=e,this._unit=r}get isdaily(){return this._unit==="d"}get isdwm(){return["d","w","M"].includes(this._unit)}get isintraday(){return["s","m","h"].includes(this._unit)}get isminutes(){return this._unit==="m"}get ismonthly(){return this._unit==="M"}get isseconds(){return this._unit==="s"}get isweekly(){return this._unit==="w"}get multiplier(){return this._multiplier}get period(){return this._period}}ee.extend(Pp),ee.extend(Sl),ee.extend(Lp);class iy{constructor(){z(this,"_cacheData");z(this,"_barIndex");z(this,"_isRealTimeBar");z(this,"_barstate");z(this,"_priceVariables");z(this,"_lastBarIndex");z(this,"_currentBarTime");z(this,"_lastBarTime");z(this,"_period");z(this,"_offsetTime");z(this,"_timeframe");z(this,"_ta");z(this,"_polyline");z(this,"_label");z(this,"_line");z(this,"_linefill");z(this,"_box");z(this,"_table");z(this,"_strategy");z(this,"_session");z(this,"_timeTradingday");this._cacheData={varData:{},varNewData:{},varipData:{}},this._barIndex=0,this._lastBarIndex=0,this._currentBarTime=0,this._lastBarTime=0,this._offsetTime=0,this._period="",this._isRealTimeBar=!1,this._barstate=new Qw,this._timeframe=new ny,this._priceVariables={close:0,open:0,low:0,high:0,volume:0},this._ta=new ry,this._polyline=new Ai,this._label=new Ai,this._line=new Ai,this._linefill=new Ai,this._box=new Ai,this._table=new Ai,this._strategy=new ey(this),this._session=new ty(this)}get table(){return this._table}get box(){return this._box}get linefill(){return this._linefill}get line(){return this._line}get polyline(){return this._polyline}get label(){return this._label}get ta(){return this._ta}get strategy(){return this._strategy}get session(){return this._session}get na(){}get last_bar_index(){return this._lastBarIndex}get bar_index(){return this._barIndex}get barstate(){return this._barstate}get close(){return this._priceVariables.close}get low(){return this._priceVariables.low}get open(){return this._priceVariables.open}get high(){return this._priceVariables.high}get volume(){return this._priceVariables.volume}get ohlc4(){const{close:t,open:e,high:r,low:n}=this._priceVariables;return(t+e+r+n)/4}get hl2(){const{high:t,low:e}=this._priceVariables;return(t+e)/2}get hlc3(){const{close:t,high:e,low:r}=this._priceVariables;return(t+e+r)/3}get hlcc4(){const{close:t,high:e,low:r}=this._priceVariables;return(t*2+e+r)/4}get hour(){return ee(this._currentBarTime).subtract(this._offsetTime,"hour").hour()}get minute(){return ee(this._currentBarTime).minute()}get second(){return ee(this._currentBarTime).second()}get month(){return ee(this._currentBarTime).month()+1}get year(){return ee(this._currentBarTime).year()}get dayofweek(){return ee(this._currentBarTime).day()+1}get dayofmonth(){return ee(this._currentBarTime).date()}get weekofyear(){return ee(this._currentBarTime).week()}get last_bar_time(){return this._lastBarTime}get time(){return this._currentBarTime}get time_close(){const[t,e]=ys(this._period);return this._isRealTimeBar?void 0:ee(this._currentBarTime).add(t,e).valueOf()}get timenow(){return Date.now()}get time_tradingday(){return this._timeTradingday||this.getTimeTradingday(this._currentBarTime,this._period)}get timeframe(){return this._timeframe}updateMaxLength(t){const{max_lines_count:e,max_labels_count:r,max_boxes_count:n,max_polylines_count:s}=t;n&&this._box.setMaxLen(n),r&&this._label.setMaxLen(r),e&&this._line.setMaxLen(e),s&&this._polyline.setMaxLen(s)}getTimeTradingday(t,e){const[r,n]=ys(e),s=ee(t);return["M","w","y","d"].includes(n)?s.valueOf():(s.subtract(this._offsetTime,"h"),s.startOf("d").add(this._offsetTime,"h").valueOf())}updateOptions(t){const{interval:e="1D",offsetTime:r=5}=t;this._period=e,this._offsetTime=r,this._timeframe.update(e)}updateData(t){const{barIndex:e,c:r,o:n,h:s,l:a,volume:l,time:f,lastBarIndex:h,lastBarTime:p,complete:c,time_tradingday:d}=t;this._priceVariables={close:Number(r),open:Number(n),high:Number(s),low:Number(a),volume:Number(l)},this._isRealTimeBar=c,e>this._barIndex&&this._isRealTimeBar&&(this._cacheData.varData=this._cacheData.varNewData,this._cacheData.varNewData={}),this._timeTradingday=d,this._currentBarTime=f*1e3,this._lastBarIndex=h,this._barIndex=e,this._lastBarTime=p*1e3,this._barstate.update(e,h,!1,!1),this.ta.update({...this._priceVariables,hlc3:this.hlc3,barIndex:e})}getCacheData(t,e,r){let n=this._cacheData[t]||[];n[this._barIndex]=r,n=n.filter(()=>!0);const s=n[n.length-1-e];return this._cacheData[t]=n,s}setCacheData(t,e){const r=this._cacheData[t]||[];r[this._barIndex]=e,this._cacheData[t]=r}getTypeInstance(t,e){return new Op(t,e)}getVarValue(t,e,r){const n=`${t}_${e}`,s=r==="var"?this._cacheData.varData[n]:this._cacheData.varipData[n];if(s)return s}setVarValue(t,e,r,n){const s=`${t}_${e}`;let a;switch(typeof r=="object"&&r&&(n="var",a=r.varipKeys),n){case"var":if(this._isRealTimeBar){const l=zr.cloneDeep(r);if(this._cacheData.varNewData[s]=l,a&&a.length)for(const f of a)this._cacheData.varData[s][f]=l[f]}else this._cacheData.varData[s]=r;break;case"varip":this._cacheData.varipData[s]=r;break}return r}add(t,e){return Array.isArray(t)&&Array.isArray(e)?zr.uniq([...t,...e]):typeof t=="number"||typeof e=="number"?Number(t)+Number(e):t+e}sub(t,e){return Array.isArray(t)&&Array.isArray(e)?t.filter(r=>!e.includes(r)):Number(t)-Number(e)}againAssignParse(t,e){var n;if(e)return;const r=(n=t==null?void 0:t.constructor)==null?void 0:n.name;if(r)switch(r){case Qi.name:case Xc.name:case es.name:case ka.name:case ts.name:case uo.name:t==null||t.delete();break}}}class Ai{constructor(t=50){z(this,"_all");z(this,"_allInstance");z(this,"_pseudoArrayAll");z(this,"_maxLength");this._all=new Map,this._allInstance=new Map,this._pseudoArrayAll=new Qt,this._maxLength=t}setMaxLen(t){this._maxLength=t}get data(){return[...this._all.values()]}get all(){return this._pseudoArrayAll._value=[...this._allInstance.values()],this._pseudoArrayAll}add(t,e,r){this._all.set(t,e),this._allInstance.set(t,r);const n=[...this._all.keys()];if(n.length>this._maxLength){const s=n.shift();s&&this.delete(s)}}get(t){return this._all.get(t)}getInstance(t){return this._allInstance.get(t)}delete(t){this._all.delete(t),this._allInstance.delete(t)}}var Qc={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){return function(e,r,n){r.prototype.isBetween=function(s,a,l,f){var h=n(s),p=n(a),c=(f=f||"()")[0]==="(",d=f[1]===")";return(c?this.isAfter(h,l):!this.isBefore(h,l))&&(d?this.isBefore(p,l):!this.isAfter(p,l))||(c?this.isBefore(h,l):!this.isAfter(h,l))&&(d?this.isAfter(p,l):!this.isBefore(p,l))}}})})(Qc);var sy=Qc.exports,oy=Kt(sy),th={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){return function(e,r,n){var s=r.prototype,a=function(d){var g,w=d.date,m=d.utc,D={};if(!((g=w)===null||g instanceof Date||g instanceof Array||s.$utils().u(g)||g.constructor.name!=="Object")){if(!Object.keys(w).length)return new Date;var v=m?n.utc():n();Object.keys(w).forEach(function(I){var C,O;D[C=I,O=s.$utils().p(C),O==="date"?"day":O]=w[I]});var E=D.day||(D.year||D.month>=0?1:v.date()),b=D.year||v.year(),N=D.month>=0?D.month:D.year||D.day?0:v.month(),x=D.hour||0,F=D.minute||0,M=D.second||0,S=D.millisecond||0;return m?new Date(Date.UTC(b,N,E,x,F,M,S)):new Date(b,N,E,x,F,M,S)}return w},l=s.parse;s.parse=function(d){d.date=a.bind(this)(d),l.bind(this)(d)};var f=s.set,h=s.add,p=s.subtract,c=function(d,g,w,m){m===void 0&&(m=1);var D=Object.keys(g),v=this;return D.forEach(function(E){v=d.bind(v)(g[E]*m,E)}),v};s.set=function(d,g){return g=g===void 0?d:g,d.constructor.name==="Object"?c.bind(this)(function(w,m){return f.bind(this)(m,w)},g,d):f.bind(this)(d,g)},s.add=function(d,g){return d.constructor.name==="Object"?c.bind(this)(h,d,g):h.bind(this)(d,g)},s.subtract=function(d,g){return d.constructor.name==="Object"?c.bind(this)(h,d,g,-1):p.bind(this)(d,g)}}})})(th);var ay=th.exports,uy=Kt(ay),eh={exports:{}};(function(i,t){(function(e,r){i.exports=r()})(Vt,function(){var e,r,n=1e3,s=6e4,a=36e5,l=864e5,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h=31536e6,p=2628e6,c=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,d={years:h,months:p,days:l,hours:a,minutes:s,seconds:n,milliseconds:1,weeks:6048e5},g=function(F){return F instanceof N},w=function(F,M,S){return new N(F,S,M.$l)},m=function(F){return r.p(F)+"s"},D=function(F){return F<0},v=function(F){return D(F)?Math.ceil(F):Math.floor(F)},E=function(F){return Math.abs(F)},b=function(F,M){return F?D(F)?{negative:!0,format:""+E(F)+M}:{negative:!1,format:""+F+M}:{negative:!1,format:""}},N=function(){function F(S,I,C){var O=this;if(this.$d={},this.$l=C,S===void 0&&(this.$ms=0,this.parseFromMilliseconds()),I)return w(S*d[m(I)],this);if(typeof S=="number")return this.$ms=S,this.parseFromMilliseconds(),this;if(typeof S=="object")return Object.keys(S).forEach(function(k){O.$d[m(k)]=S[k]}),this.calMilliseconds(),this;if(typeof S=="string"){var L=S.match(c);if(L){var U=L.slice(2).map(function(k){return k!=null?Number(k):0});return this.$d.years=U[0],this.$d.months=U[1],this.$d.weeks=U[2],this.$d.days=U[3],this.$d.hours=U[4],this.$d.minutes=U[5],this.$d.seconds=U[6],this.calMilliseconds(),this}}return this}var M=F.prototype;return M.calMilliseconds=function(){var S=this;this.$ms=Object.keys(this.$d).reduce(function(I,C){return I+(S.$d[C]||0)*d[C]},0)},M.parseFromMilliseconds=function(){var S=this.$ms;this.$d.years=v(S/h),S%=h,this.$d.months=v(S/p),S%=p,this.$d.days=v(S/l),S%=l,this.$d.hours=v(S/a),S%=a,this.$d.minutes=v(S/s),S%=s,this.$d.seconds=v(S/n),S%=n,this.$d.milliseconds=S},M.toISOString=function(){var S=b(this.$d.years,"Y"),I=b(this.$d.months,"M"),C=+this.$d.days||0;this.$d.weeks&&(C+=7*this.$d.weeks);var O=b(C,"D"),L=b(this.$d.hours,"H"),U=b(this.$d.minutes,"M"),k=this.$d.seconds||0;this.$d.milliseconds&&(k+=this.$d.milliseconds/1e3,k=Math.round(1e3*k)/1e3);var W=b(k,"S"),P=S.negative||I.negative||O.negative||L.negative||U.negative||W.negative,G=L.format||U.format||W.format?"T":"",Z=(P?"-":"")+"P"+S.format+I.format+O.format+G+L.format+U.format+W.format;return Z==="P"||Z==="-P"?"P0D":Z},M.toJSON=function(){return this.toISOString()},M.format=function(S){var I=S||"YYYY-MM-DDTHH:mm:ss",C={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return I.replace(f,function(O,L){return L||String(C[O])})},M.as=function(S){return this.$ms/d[m(S)]},M.get=function(S){var I=this.$ms,C=m(S);return C==="milliseconds"?I%=1e3:I=C==="weeks"?v(I/d[C]):this.$d[C],I||0},M.add=function(S,I,C){var O;return O=I?S*d[m(I)]:g(S)?S.$ms:w(S,this).$ms,w(this.$ms+O*(C?-1:1),this)},M.subtract=function(S,I){return this.add(S,I,!0)},M.locale=function(S){var I=this.clone();return I.$l=S,I},M.clone=function(){return w(this.$ms,this)},M.humanize=function(S){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!S)},M.valueOf=function(){return this.asMilliseconds()},M.milliseconds=function(){return this.get("milliseconds")},M.asMilliseconds=function(){return this.as("milliseconds")},M.seconds=function(){return this.get("seconds")},M.asSeconds=function(){return this.as("seconds")},M.minutes=function(){return this.get("minutes")},M.asMinutes=function(){return this.as("minutes")},M.hours=function(){return this.get("hours")},M.asHours=function(){return this.as("hours")},M.days=function(){return this.get("days")},M.asDays=function(){return this.as("days")},M.weeks=function(){return this.get("weeks")},M.asWeeks=function(){return this.as("weeks")},M.months=function(){return this.get("months")},M.asMonths=function(){return this.as("months")},M.years=function(){return this.get("years")},M.asYears=function(){return this.as("years")},F}(),x=function(F,M,S){return F.add(M.years()*S,"y").add(M.months()*S,"M").add(M.days()*S,"d").add(M.hours()*S,"h").add(M.minutes()*S,"m").add(M.seconds()*S,"s").add(M.milliseconds()*S,"ms")};return function(F,M,S){e=S,r=S().$utils(),S.duration=function(O,L){var U=S.locale();return w(O,{$l:U},L)},S.isDuration=g;var I=M.prototype.add,C=M.prototype.subtract;M.prototype.add=function(O,L){return g(O)?x(this,O,1):I.bind(this)(O,L)},M.prototype.subtract=function(O,L){return g(O)?x(this,O,-1):C.bind(this)(O,L)}}})})(eh);var ly=eh.exports,fy=Kt(ly);ee.extend(Sl),ee.extend(oy),ee.extend(uy),ee.extend(fy);class cy{constructor(t,e,r){z(this,"array");z(this,"color");z(this,"math");z(this,"str");z(this,"map");z(this,"matrix");z(this,"timeframe");z(this,"ta");z(this,"input");z(this,"_variables");z(this,"_cacheData");z(this,"_options");z(this,"_errorListener");z(this,"_plots");z(this,"_plotshapes");z(this,"_alerts");z(this,"_bgColors");z(this,"_hlines");z(this,"_fills");z(this,"chart");z(this,"line");z(this,"label");z(this,"polyline");z(this,"box");z(this,"table");z(this,"linefill");z(this,"log");z(this,"runtime");z(this,"strategy");var s;const n=((s=t.toString().split(".")[1])==null?void 0:s.length)||4;this._variables=e,this._errorListener=new Xw,this.array=new qp(this._errorListener),this.math=new kp(n,this._errorListener),this.color=new _1,this.str=new mw(this._errorListener,n),this.map=new gw(this._errorListener),this.timeframe=new _w(e),this.matrix=new dw(this._errorListener),this.ta=new f1(e,this.math,this.timeframe),this._cacheData={},this._options={},this._bgColors={},this._alerts=new Map,this._hlines=new Map,this._fills=new Map,this.input=new d1(e,this._errorListener,r),this._plots=new Map,this._plotshapes=new Map,this.chart={point:new vw(e)},this.line=new Uw(e,this._errorListener),this.label=new ww(e,this._errorListener),this.polyline=new kw(e,this._errorListener),this.box=new jw(e,this._errorListener),this.table=new Yw(e,this._errorListener),this.linefill=new Ww(e),this.log=new Hw(e),this.runtime=new Jw(this._errorListener),this.strategy=new Kw(this._variables,this._options,t,this._errorListener)}get errors(){return this._errorListener.errors}get options(){const t=this.input.getInputs(),e=this._alerts.size?[...this._alerts.values()]:void 0;this._alerts.clear();const r=Object.keys(this._bgColors);let n;if(r.length){n={};for(const c of r)n[c]=[...this._bgColors[c].values()]}const s=this._hlines.size?[...this._hlines.values()]:void 0,a=this._fills.size?[...this._fills.values()]:void 0,l=this.log.logs.length?this.log.logs:void 0;this.log.clearLogs(),this._options.scriptType==="strategy"&&Object.assign(this._options,{orders:this.strategy.orders,historyOrders:this.strategy.historyOrders});const f=[...this._plots.values()],h=this._plotshapes.size>0?[...this._plotshapes.values()]:void 0,p=this._getDraws();return Object.assign(this._options,{inputs:t,plots:f,draws:p,alerts:e,colors:n,hlines:s,fills:a,logs:l,plotshapes:h})}_getDraws(){const{line:t,linefill:e,table:r,box:n,polyline:s,label:a}=this._variables,l={};return t.data.length&&(l.lines=t.data),e.data.length&&(l.linefills=e.data),r.data.length&&(l.tables=r.data),n.data.length&&(l.boxes=n.data),s.data.length&&(l.polylines=s.data),a.data.length&&(l.labels=a.data),Object.keys(l).length?l:void 0}updateOptions(t){const{inputs:e}=t;e&&e.length&&this.input.update(e)}update(t){const{barIndex:e}=t;this.strategy.updateOptions(),this.math.update(e)}endExecution(){this.strategy.endExecution()}library(t,e){if(!this._variables.bar_index){const r=/^[^\W\d\s][^\W\s]*$/,{title:n}=t;r.test(n)?(p1.includes(n)||h1.includes(n))&&this._errorListener.addError(Qe(Ye.libraryTitleIsKeywordErr,{name:n}),e,jt.Error):this._errorListener.addError(Ye.libraryTitleErr,e,jt.Error),this._options.scriptType="library",this._options.library=t}}indicator(t,e){if(!this._variables.bar_index){const{format:r}=t;this._paramVerfiy(r,e,"indicator",[Gt.inherit,Gt.percent,Gt.price,Gt.volume]),this._variables.updateMaxLength(t),this._options.scriptType="indicator",this._options.indicator=t}}_paramVerfiy(t="",e,r,n,s="format"){t&&!n.includes(t)&&this._errorListener.addError(Qe(Ye.paramsErr,{value:t,func:r,param:s,targetVal:`${n.join(", ")}`}),e,jt.Error)}plot(t,e){const{series:r,color:n,seriesColors:s,...a}=t,{bar_index:l,time:f}=this._variables,h=`plot_${e}`,p=this._plots.get(h),c=(p==null?void 0:p.data)||[],d=r!==void 0&&isNaN(r)?void 0:r;if(c[l]={value:[f,d],itemStyle:{color:n}},s!=null&&s.length&&this._seriesColorHandle(t,p),!p){this._paramVerfiy(t.format,e,"plot",[Gt.percent,Gt.price,Gt.volume]);const g=n?[n]:void 0;this._plots.set(h,{editable:!0,...a,colors:g,data:c,id:h})}return{type:"plot",key:h}}plotbar(t,e){const{open:r,close:n,low:s,high:a,color:l,seriesColors:f,...h}=t,{bar_index:p,time:c}=this._variables,d=`plotbar_${e}`,g=this._plots.get(d),w=(g==null?void 0:g.data)||[],m=n!==void 0&&isNaN(n)?void 0:n,D=r!==void 0&&isNaN(r)?void 0:r,v=s!==void 0&&isNaN(s)?void 0:s,E=a!==void 0&&isNaN(a)?void 0:a,b=[c,D,m,v,E];if(w[p]={value:b,itemStyle:{color:l}},f!=null&&f.length&&this._seriesColorHandle(t,g),!g){this._paramVerfiy(t.format,e,"plotbar",[Gt.percent,Gt.price,Gt.volume]);const N=l?[l]:void 0;this._plots.set(d,{editable:!0,...h,colors:N,data:w,id:d})}}_verfiyArgs(t,e,r){const{size:n,format:s,location:a,style:l}=t;this._paramVerfiy(l,r,e,Object.values(ir),"style"),this._paramVerfiy(a,r,e,Object.values(hr),"location"),this._paramVerfiy(n,r,e,Object.values(tr),"size"),this._paramVerfiy(s,r,e,[Gt.percent,Gt.price,Gt.volume],"format")}plotchar(t,e){const{series:r,color:n,seriesColors:s,textcolor:a,location:l=hr.abovebar,...f}=t,{bar_index:h,time:p,high:c,low:d}=this._variables,g=`plotchar_${e}`,w=this._plots.get(g),m=(w==null?void 0:w.data)||[],D={value:r,time:p,color:n,textcolor:a};l===hr.abovebar?Object.assign(D,{y:c}):l===hr.belowbar&&Object.assign(D,{y:d}),m[h]=D,s!=null&&s.length&&this._seriesColorHandle(t,w),w||(this._verfiyArgs(t,"plotchar",e),this._plots.set(g,{editable:!0,...f,location:l,data:m,id:g}))}plotarrow(t,e){const{series:r,colorup:n,colordown:s,...a}=t,{bar_index:l}=this._variables,f=`plotarrow_${e}`,h=this._plots.get(f),p=(h==null?void 0:h.data)||[];p[l]={value:r!==void 0&&isNaN(r)?void 0:r,colorup:n,colordown:s},h||(this._paramVerfiy(t.format,e,"plotarrow",[Gt.percent,Gt.price,Gt.volume]),this._plots.set(f,{editable:!0,...a,data:p,id:f}))}plotshape(t,e){const{series:r,seriesColors:n,color:s,textcolor:a,location:l=hr.abovebar,...f}=t,{bar_index:h,time:p,low:c,high:d}=this._variables,g=`plotshape_${e}`,w=this._plotshapes.get(g),m=(w==null?void 0:w.data)||[],D={value:r,color:s,textcolor:a,time:p};if(l===hr.abovebar?Object.assign(D,{y:d}):l===hr.belowbar&&Object.assign(D,{y:c}),m[h]=D,n!=null&&n.length&&this._seriesColorHandle(t,w),!w){const v=s?[s]:void 0;this._verfiyArgs(t,"plotshape",e),this._plotshapes.set(g,{editable:!0,...f,data:m,location:l,id:g,colors:v})}}plotcandle(t,e){const{wickcolor:r,bordercolor:n,color:s,close:a,open:l,low:f,high:h,...p}=t,{bar_index:c}=this._variables,d=`plotcandle_${e}`,g=this._plots.get(d),w=(g==null?void 0:g.data)||[],m=a!==void 0&&isNaN(a)?void 0:a,D=l!==void 0&&isNaN(l)?void 0:l,v=f!==void 0&&isNaN(f)?void 0:f,E=h!==void 0&&isNaN(h)?void 0:h,b=[D,m,v,E];w[c]={value:b,wickcolor:r,bordercolor:n,color:s},g||(this._paramVerfiy(t.format,e,"plotcandle",[Gt.percent,Gt.price,Gt.volume]),this._plots.set(d,{editable:!0,...p,data:w,id:d}))}hline(t,e){const r=`hline_${e}`;this._verifyDisplay(t.display,"hline",e);const n=t.display&&!t.display.length?Ue.none:Ue.all;return this._hlines.set(r,{id:r,linewidth:1,editable:!0,display:n,...t}),{type:"hline",key:r}}fill(t,e){const r=`fill_${e}`;this._verifyDisplay(t.display,"fill",e);const n=t.display&&!t.display.length?Ue.none:Ue.all;this._fills.set(r,{display:n,editable:!0,fillgaps:!1,...t})}alert({message:t,freq:e=kr.freqOncePerBar},r){const{bar_index:n,_isRealTimeBar:s,last_bar_index:a}=this._variables,l=`alert_${r}`,f=this._cacheData[l].barIndex;if(this._paramVerfiy(e,r,"alert",[kr.freqAll,kr.freqOncePerBar,kr.freqOncePerBarClose]),e===kr.freqOncePerBar&&n===f){this._alerts.delete(l);return}const h={message:t,freq:e,id:l,type:"alert"};if(s){e!==kr.freqOncePerBarClose&&this._alerts.set(l,h),this._cacheData[l].barIndex=n;return}if(!s&&e===kr.freqOncePerBarClose&&n===f&&a===n-1){this._alerts.set(l,h),this._cacheData[l].barIndex=n;return}this._alerts.delete(l)}alertcondition({condition:t,message:e,title:r},n){const{_isRealTimeBar:s}=this._variables,a=`alertcondition_${n}`;s&&t?this._alerts.set(a,{message:e,title:r,id:a,type:"alertcondition"}):this._alerts.delete(a)}barcolor(t,e){this._setColors(t,"barcolor",e)}bgcolor(t,e){this._setColors(t,"bgcolor",e)}_verifyDisplay(t=Jc.all,e,r){t.length&&t.length<4&&this._errorListener.addError(Qe(Ye.displayErr,{func:e,values:"[display.none, display.all]"}),r,jt.Error)}_setColors(t,e,r){const{color:n,seriesColors:s,...a}=t;this._verifyDisplay(a.display,e,r);const l=t.display&&!t.display.length?Ue.none:Ue.all,{bar_index:f,time:h}=this._variables,p=`${e}_${r}`;this._bgColors[e]||(this._bgColors[e]=new Map);const c=this._bgColors[e].get(p),d=(c==null?void 0:c.colors)||[],g=(c==null?void 0:c.setColors)||[];g.includes(n)||g.push(n),d[f]={color:n,time:h},c||this._bgColors[e].set(p,{...a,display:l,colors:d,setColors:g,id:p})}max_bars_back({var:t,num:e,var_name:r}){console.log(t,e,r)}float({x:t}){return t}bool({x:t}){return t||!1}string({x:t}){return t}int({x:t}){return t&&Math.trunc(t)}na({x:t}){return t===void 0}fixnan({source:t},e){return t===void 0||isNaN(t)?this._cacheData[`fixnan_${e}`]:(this._cacheData[`fixnan_${e}`]=t,t)}nz({source:t,replacement:e}){return t!==void 0&&!isNaN(t)?t:e||0}time({timeframe:t="",session:e,timezone:r,bars_back:n=0},s){return this._timeHandle(this._variables.time,s,t,e,r,n)}time_close({timeframe:t="",session:e,timezone:r,bars_back:n=0},s){return this._variables.time_close&&this._timeHandle(this._variables.time_close,s,t,e,r,n)}timestamp(t){const{dateString:e,timezone:r,year:n,month:s,day:a,hour:l=0,minute:f=0,second:h=0}=t;if(e)return ee(e).utc(!/GMT|UTC/.test(e)).valueOf();let p=s-1,c=n;if(p<0){const g=Math.ceil(Math.abs(p/12));p=12*g+p,c=n-g}let d=ee({year:c,month:p,day:a,hour:l,minute:f,second:h});return r&&(d=qr(d.utc(!0).valueOf(),r)),d.utc(!0).valueOf()}weekofyear({time:t,timezone:e}){return qr(t,e).week()}year({time:t,timezone:e}){return qr(t,e).year()}second({time:t,timezone:e}){return qr(t,e).second()}month({time:t,timezone:e}){return qr(t,e).month()+1}minute({time:t,timezone:e}){return qr(t,e).minute()}hour({time:t,timezone:e}){return qr(t,e).hour()}dayofweek({time:t,timezone:e}){return qr(t,e).day()+1}dayofmonth({time:t,timezone:e}){return qr(t,e).date()}_calcTimeOffset(t,e){const r=this._variables.getTimeTradingday(t,e),n=on(e)*1e3;return t-r-Math.floor((t-r)/n)*n}_timeHandle(t,e,r="",n,s,a=0){const l=r||this._variables.timeframe.period,f=on(l),h=on(this._variables.timeframe.period);let p;if(f<=h)p=t;else{const c=`time_${e}`,d=this._cacheData[c];if(d)d.currentTime+f*1e3-d.offset<=t?(p=t,this._cacheData[c]={currentTime:t,offset:0}):p=d;else{const g=this._calcTimeOffset(t,l);this._cacheData[c]={currentTime:t,offset:g},p=t}}if(n){const{timePeriods:c,weeks:d}=this._parserSession(n,e),g=ee(t).format("YYYY-MM-DD"),w=p;p=void 0;for(const D of c){const[v,E]=D;if(ee(t).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")){ee(w).isBetween(`${g} ${v}`,`${g} ${E}`,"hour")?p=w:p=ee(`${g} ${v}`).valueOf();break}}const m=this._variables.dayofweek;p&&!d.includes(m)&&(p=void 0)}return s&&(p=p&&qr(p,s).valueOf()),p&&p-a*h*1e3}_seriesColorHandle(t,e){var n,s;const{seriesColors:r}=t;if(e&&r!=null&&r.length)for(const a of r){if((n=e.gradientColorKeys)!=null&&n.includes(a))continue;const l=t[a],f=e[`${a}s`]||[];f.includes(l)||(f.push(l),e[`${a}s`]=f,f.length>5&&(e[`${a}s`]=[],(s=e.gradientColorKeys)==null||s.push(a)))}}_parserSession(t,e){const r=t.split(":"),n=r[0],a=(r[1]||"1234567").split("").map(f=>{const h=parseInt(f,10);if(h<1||h>7){this._errorListener.addError(`Invalid day of week: ${f}`,e,jt.Error);return}return h});return{timePeriods:n.split(",").map(f=>{const h=f.split("-");return h.length!==2?(this._errorListener.addError(`Invalid time period: ${f}`,e,jt.Error),[]):[this._processTime(h[0],e),this._processTime(h[1],e)]}),weeks:a}}_processTime(t,e){const r=parseInt(t.slice(0,2),10),n=parseInt(t.slice(2),10);if(!(r>=0&&r<=23)&&n>=0&&n<=59){this._errorListener.addError("Invalid time: Time must be within 00:00 to 23:59",e,jt.Error);return}return`${r}:${n}`}}/**
63
+ * @license
64
+ * Copyright 2019 Google LLC
65
+ * SPDX-License-Identifier: Apache-2.0
66
+ */const rh=Symbol("Comlink.proxy"),hy=Symbol("Comlink.endpoint"),py=Symbol("Comlink.releaseProxy"),Ua=Symbol("Comlink.finalizer"),lo=Symbol("Comlink.thrown"),nh=i=>typeof i=="object"&&i!==null||typeof i=="function",dy={canHandle:i=>nh(i)&&i[rh],serialize(i){const{port1:t,port2:e}=new MessageChannel;return Wa(i,t),[e,[e]]},deserialize(i){return i.start(),vy(i)}},_y={canHandle:i=>nh(i)&&lo in i,serialize({value:i}){let t;return i instanceof Error?t={isError:!0,value:{message:i.message,name:i.name,stack:i.stack}}:t={isError:!1,value:i},[t,[]]},deserialize(i){throw i.isError?Object.assign(new Error(i.value.message),i.value):i.value}},ih=new Map([["proxy",dy],["throw",_y]]);function my(i,t){for(const e of i)if(t===e||e==="*"||e instanceof RegExp&&e.test(t))return!0;return!1}function Wa(i,t=globalThis,e=["*"]){t.addEventListener("message",function r(n){if(!n||!n.data)return;if(!my(e,n.origin)){console.warn(`Invalid origin '${n.origin}' for comlink proxy`);return}const{id:s,type:a,path:l}=Object.assign({path:[]},n.data),f=(n.data.argumentList||[]).map(Qn);let h;try{const p=l.slice(0,-1).reduce((d,g)=>d[g],i),c=l.reduce((d,g)=>d[g],i);switch(a){case"GET":h=c;break;case"SET":p[l.slice(-1)[0]]=Qn(n.data.value),h=!0;break;case"APPLY":h=c.apply(p,f);break;case"CONSTRUCT":{const d=new c(...f);h=Ey(d)}break;case"ENDPOINT":{const{port1:d,port2:g}=new MessageChannel;Wa(i,g),h=by(d,[d])}break;case"RELEASE":h=void 0;break;default:return}}catch(p){h={value:p,[lo]:0}}Promise.resolve(h).catch(p=>({value:p,[lo]:0})).then(p=>{const[c,d]=po(p);t.postMessage(Object.assign(Object.assign({},c),{id:s}),d),a==="RELEASE"&&(t.removeEventListener("message",r),sh(t),Ua in i&&typeof i[Ua]=="function"&&i[Ua]())}).catch(p=>{const[c,d]=po({value:new TypeError("Unserializable return value"),[lo]:0});t.postMessage(Object.assign(Object.assign({},c),{id:s}),d)})}),t.start&&t.start()}function gy(i){return i.constructor.name==="MessagePort"}function sh(i){gy(i)&&i.close()}function vy(i,t){return ja(i,[],t)}function fo(i){if(i)throw new Error("Proxy has been released and is not useable")}function oh(i){return Ci(i,{type:"RELEASE"}).then(()=>{sh(i)})}const co=new WeakMap,ho="FinalizationRegistry"in globalThis&&new FinalizationRegistry(i=>{const t=(co.get(i)||0)-1;co.set(i,t),t===0&&oh(i)});function wy(i,t){const e=(co.get(t)||0)+1;co.set(t,e),ho&&ho.register(i,t,i)}function yy(i){ho&&ho.unregister(i)}function ja(i,t=[],e=function(){}){let r=!1;const n=new Proxy(e,{get(s,a){if(fo(r),a===py)return()=>{yy(n),oh(i),r=!0};if(a==="then"){if(t.length===0)return{then:()=>n};const l=Ci(i,{type:"GET",path:t.map(f=>f.toString())}).then(Qn);return l.then.bind(l)}return ja(i,[...t,a])},set(s,a,l){fo(r);const[f,h]=po(l);return Ci(i,{type:"SET",path:[...t,a].map(p=>p.toString()),value:f},h).then(Qn)},apply(s,a,l){fo(r);const f=t[t.length-1];if(f===hy)return Ci(i,{type:"ENDPOINT"}).then(Qn);if(f==="bind")return ja(i,t.slice(0,-1));const[h,p]=ah(l);return Ci(i,{type:"APPLY",path:t.map(c=>c.toString()),argumentList:h},p).then(Qn)},construct(s,a){fo(r);const[l,f]=ah(a);return Ci(i,{type:"CONSTRUCT",path:t.map(h=>h.toString()),argumentList:l},f).then(Qn)}});return wy(n,i),n}function Dy(i){return Array.prototype.concat.apply([],i)}function ah(i){const t=i.map(po);return[t.map(e=>e[0]),Dy(t.map(e=>e[1]))]}const uh=new WeakMap;function by(i,t){return uh.set(i,t),i}function Ey(i){return Object.assign(i,{[rh]:!0})}function po(i){for(const[t,e]of ih)if(e.canHandle(i)){const[r,n]=e.serialize(i);return[{type:"HANDLER",name:t,value:r},n]}return[{type:"RAW",value:i},uh.get(i)||[]]}function Qn(i){switch(i.type){case"HANDLER":return ih.get(i.name).deserialize(i.value);case"RAW":return i.value}}function Ci(i,t,e){return new Promise(r=>{const n=xy();i.addEventListener("message",function s(a){!a.data||!a.data.id||a.data.id!==n||(i.removeEventListener("message",s),r(a.data))}),i.start&&i.start(),i.postMessage(Object.assign({id:n},t),e)})}function xy(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class Ay{constructor(){z(this,"_cache");this._cache=new Map}set(t,e){this._cache.set(t,e)}setValue(t,e,r){const n=this._cache.get(t)||{};n[e]=r,this._cache.set(t,n)}updateValue(t,e,r){const n=this._cache.get(t)||{};this._cache.set(t,Object.assign(n[e]||{},r))}get(t){return this._cache.get(t)}has(t){return this._cache.has(t)}delete(t){this._cache.delete(t)}clear(){this._cache.clear()}}function Cy(i,t,e){const{data:r,isPreParser:n,id:s="default",syminfo:a,interval:l,inputs:f}=t;self.workerStorage||(self.workerStorage=new Ay);let{builtInGather:h,buildinConstants:p,buildInFunctions:c,tradingvueFunc:d}=self.workerStorage.get(s)||{};if(e&&(h=new iy,p=new qw,c=new cy((a==null?void 0:a.mintick)||1e-4,h,s),d=new Function("$_var","$_const","$_func",i),self.workerStorage.set(s,{builtInGather:h,buildinConstants:p,buildInFunctions:c,tradingvueFunc:d})),n)d(h,p,c);else if(r&&r.length){const w=r.length-1;h.updateOptions({interval:l}),c.updateOptions({inputs:f});for(const[m,D]of r.entries()){const{barindex:v}=D;h.updateData(Object.assign(D,{barIndex:v||m,lastBarIndex:r[w].bar_index||w,lastBarTime:r[w].time})),c.update({barIndex:v||m}),d(h,p,c),c.endExecution();const E=c.errors;if(E.length&&E.some(b=>b.type===jt.Error))return{status:1,errors:E}}}const g=c.errors;return g.length&&g.some(w=>w.type===jt.Error)?{status:1,errors:g}:{status:0,options:{...c.options,id:s}}}function Fy(i){self==null||self.workerStorage.delete(i),self==null||self.workerStorage.delete(`inputs_${i}`)}Wa({runScript:Cy,removeScript:Fy})})();