@pie-element/number-line 12.0.0-beta.1 → 12.0.0-next.42

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 @@
1
+ import{_dll_prop_types as e,_dll_mui__material_styles as t,_dll_mui__material as n,_dll_react as r,_dll_lodash as i,_dll_react_dom as a,_dll_pie_lib__render_ui as o,_dll_pie_lib__correct_answer_toggle as s,_dll_mui__icons_material as u}from"../../../@pie-lib/shared-module@^3.0.5/module/index.js";import{_dll_pie_lib__config_ui as l}from"../../../@pie-lib/config-module@^3.0.0/module/index.js";import{_dll_pie_lib__editable_html_tip_tap as c}from"../../../@pie-lib/editable-html-module@^6.0.5/module/index.js";import"../../../@pie-lib/math-rendering-module@^4.0.5/module/index.js";const f=e=>{let{left:t,right:n}=e;return{left:n,right:t}};var p=Object.freeze({__proto__:null,lineIsSwitched:e=>{let{position:t}=e;return t.left>t.right},switchGraphLine:e=>{let{position:t}=e;if(t.left<t.right)return e;let{leftPoint:n,rightPoint:r}=e;return{leftPoint:r,rightPoint:n,position:f(t),type:"line"}},switchPosition:f,toSessionFormat:e=>"point"===e.type?{type:"point",pointType:e.pointType,domainPosition:e.position}:"line"===e.type?{type:"line",size:e.position.right-e.position.left,domainPosition:e.position.left,leftPoint:e.leftPoint,rightPoint:e.rightPoint}:"ray"===e.type?{type:"ray",domainPosition:e.position,pointType:e.pointType,direction:e.direction}:void 0,toGraphFormat:e=>"point"===e.type?{type:"point",pointType:e.pointType,position:e.domainPosition}:"line"===e.type?{type:"line",position:{left:e.domainPosition,right:e.domainPosition+e.size},leftPoint:e.leftPoint,rightPoint:e.rightPoint}:"ray"===e.type?{type:"ray",position:e.domainPosition,pointType:e.pointType,direction:e.direction}:void 0});const h=r,d=e,{styled:m}=t,{Button:g}=n,y=m(g)({fontSize:"0.9em",marginLeft:8,minWidth:32,height:32,"& span":{"& svg":{width:"1.3em !important",height:"1.3em !important"}}}),v=({label:e,onClick:t,disabled:n,title:r})=>h.createElement(y,{title:r,onClick:t,disabled:n,size:"small",variant:"contained"},e);function x(e,t){return null!=e?e:t()}function b(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],a=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=a(n)):"call"!==i&&"optionalCall"!==i||(n=a((...e)=>n.call(t,...e)),t=void 0)}return n}v.propTypes={disabled:d.bool,label:d.oneOfType([d.string,d.object]),onClick:d.func,title:d.string},v.defaultProps={disabled:!1,label:"Add",onClick:()=>{},title:""};const w=e=>"string"==typeof e,N=()=>{let e,t;const n=new Promise((n,r)=>{e=n,t=r});return n.resolve=e,n.reject=t,n},E=e=>null==e?"":""+e,S=/###/g,M=e=>e&&e.indexOf("###")>-1?e.replace(S,"."):e,A=e=>!e||w(e),C=(e,t,n)=>{const r=w(t)?t.split("."):t;let i=0;for(;i<r.length-1;){if(A(e))return{};const t=M(r[i]);!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++i}return A(e)?{}:{obj:e,k:M(r[i])}},O=(e,t,n)=>{const{obj:r,k:i}=C(e,t,Object);if(void 0!==r||1===t.length)return void(r[i]=n);let a=t[t.length-1],o=t.slice(0,t.length-1),s=C(e,o,Object);for(;void 0===s.obj&&o.length;)a=`${o[o.length-1]}.${a}`,o=o.slice(0,o.length-1),s=C(e,o,Object),b([s,"optionalAccess",e=>e.obj])&&void 0!==s.obj[`${s.k}.${a}`]&&(s.obj=void 0);s.obj[`${s.k}.${a}`]=n},k=(e,t)=>{const{obj:n,k:r}=C(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},T=(e,t,n)=>{for(const r in t)"__proto__"!==r&&"constructor"!==r&&(r in e?w(e[r])||e[r]instanceof String||w(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):T(e[r],t[r],n):e[r]=t[r]);return e},_=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var R={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const D=e=>w(e)?e.replace(/[&<>"'\/]/g,e=>R[e]):e,I=[" ",",","?","!",";"],P=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}}(20),q=(e,t,n=".")=>{if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}const r=t.split(n);let i=e;for(let e=0;e<r.length;){if(!i||"object"!=typeof i)return;let t,a="";for(let o=e;o<r.length;++o)if(o!==e&&(a+=n),a+=r[o],t=i[a],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&o<r.length-1)continue;e+=o-e+1;break}i=t}return i},z=e=>b([e,"optionalAccess",e=>e.replace,"call",e=>e("_","-")]),B={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){b([console,"optionalAccess",t=>t[e],"optionalAccess",e=>e.apply,"optionalCall",e=>e(console,t)])}};class j{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||B,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,n,r){return r&&!this.debug?null:(w(e[0])&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new j(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new j(this.logger,e)}}var L=new j;class F{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(e=>{this.observers[e]||(this.observers[e]=new Map);const n=this.observers[e].get(t)||0;this.observers[e].set(t,n+1)}),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,n])=>{for(let r=0;r<n;r++)e(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([n,r])=>{for(let i=0;i<r;i++)n.apply(n,[e,...t])})}}class U extends F{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,n,r={}){const i=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,a=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let o;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],n&&(Array.isArray(n)?o.push(...n):w(n)&&i?o.push(...n.split(i)):o.push(n)));const s=k(this.data,o);return!s&&!t&&!n&&e.indexOf(".")>-1&&(e=o[0],t=o[1],n=o.slice(2).join(".")),!s&&a&&w(n)?q(b([this,"access",e=>e.data,"optionalAccess",t=>t[e],"optionalAccess",e=>e[t]]),n,i):s}addResource(e,t,n,r,i={silent:!1}){const a=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator;let o=[e,t];n&&(o=o.concat(a?n.split(a):n)),e.indexOf(".")>-1&&(o=e.split("."),r=t,t=o[1]),this.addNamespaces(t),O(this.data,o,r),i.silent||this.emit("added",e,t,n,r)}addResources(e,t,n,r={silent:!1}){for(const r in n)(w(n[r])||Array.isArray(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit("added",e,t,n)}addResourceBundle(e,t,n,r,i,a={silent:!1,skipCopy:!1}){let o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),r=n,n=t,t=o[1]),this.addNamespaces(t);let s=k(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?T(s,n,i):s={...s,...n},O(this.data,o,s),a.silent||this.emit("added",e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}}var $={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(e=>{t=x(b([this,"access",e=>e.processors,"access",t=>t[e],"optionalAccess",e=>e.process,"call",e=>e(t,n,r,i)]),()=>t)}),t}};const V=Symbol("i18next/PATH_KEY");function H(e,t){const{[V]:n}=e(function(){const e=[],t=Object.create(null);let n;return t.get=(r,i)=>(b([n,"optionalAccess",e=>e.revoke,"optionalCall",e=>e()]),i===V?e:(e.push(i),n=Proxy.revocable(r,t),n.proxy)),Proxy.revocable(Object.create(null),t).proxy}());return n.join(x(b([t,"optionalAccess",e=>e.keySeparator]),()=>"."))}const W={},G=e=>!w(e)&&"boolean"!=typeof e&&"number"!=typeof e;class Y extends F{constructor(e,t={}){super(),((e,t,n)=>{["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach(e=>{t[e]&&(n[e]=t[e])})})(0,e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=L.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const n={...t};if(null==e)return!1;const r=this.resolve(e,n);if(void 0===b([r,"optionalAccess",e=>e.res]))return!1;const i=G(r.res);return!1!==n.returnObjects||!i}extractFromKey(e,t){let n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");const r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let i=t.ns||this.options.defaultNS||[];const a=n&&e.indexOf(n)>-1,o=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||((e,t,n)=>{t=t||"",n=n||"";const r=I.filter(e=>t.indexOf(e)<0&&n.indexOf(e)<0);if(0===r.length)return!0;const i=P.getRegExp(`(${r.map(e=>"?"===e?"\\?":e).join("|")})`);let a=!i.test(e);if(!a){const t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(a=!0)}return a})(e,n,r));if(a&&!o){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:w(i)?[i]:i};const a=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(a[0])>-1)&&(i=a.shift()),e=a.join(r)}return{key:e,namespaces:w(i)?[i]:i}}translate(e,t,n){let r="object"==typeof t?{...t}:t;if("object"!=typeof r&&this.options.overloadTranslationOptionHandler&&(r=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof r&&(r={...r}),r||(r={}),null==e)return"";"function"==typeof e&&(e=H(e,{...this.options,...r})),Array.isArray(e)||(e=[String(e)]);const i=void 0!==r.returnDetails?r.returnDetails:this.options.returnDetails,a=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,{key:o,namespaces:s}=this.extractFromKey(e[e.length-1],r),u=s[s.length-1];let l=void 0!==r.nsSeparator?r.nsSeparator:this.options.nsSeparator;void 0===l&&(l=":");const c=r.lng||this.language,f=r.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if("cimode"===b([c,"optionalAccess",e=>e.toLowerCase,"call",e=>e()]))return f?i?{res:`${u}${l}${o}`,usedKey:o,exactUsedKey:o,usedLng:c,usedNS:u,usedParams:this.getUsedParamsDetails(r)}:`${u}${l}${o}`:i?{res:o,usedKey:o,exactUsedKey:o,usedLng:c,usedNS:u,usedParams:this.getUsedParamsDetails(r)}:o;const p=this.resolve(e,r);let h=b([p,"optionalAccess",e=>e.res]);const d=b([p,"optionalAccess",e=>e.usedKey])||o,m=b([p,"optionalAccess",e=>e.exactUsedKey])||o,g=void 0!==r.joinArrays?r.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject,v=void 0!==r.count&&!w(r.count),x=Y.hasDefaultValue(r),N=v?this.pluralResolver.getSuffix(c,r.count,r):"",E=r.ordinal&&v?this.pluralResolver.getSuffix(c,r.count,{ordinal:!1}):"",S=v&&!r.ordinal&&0===r.count,M=S&&r[`defaultValue${this.options.pluralSeparator}zero`]||r[`defaultValue${N}`]||r[`defaultValue${E}`]||r.defaultValue;let A=h;y&&!h&&x&&(A=M);const C=G(A),O=Object.prototype.toString.apply(A);if(!(y&&A&&C&&["[object Number]","[object Function]","[object RegExp]"].indexOf(O)<0)||w(g)&&Array.isArray(A))if(y&&w(g)&&Array.isArray(h))h=h.join(g),h&&(h=this.extendTranslation(h,e,r,n));else{let t=!1,i=!1;!this.isValidLookup(h)&&x&&(t=!0,h=M),this.isValidLookup(h)||(i=!0,h=o);const s=(r.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&i?void 0:h,f=x&&M!==h&&this.options.updateMissing;if(i||t||f){if(this.logger.log(f?"updateKey":"missingKey",c,u,o,f?M:h),a){const e=this.resolve(o,{...r,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,r.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let n=0;n<t.length;n++)e.push(t[n]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(r.lng||this.language):e.push(r.lng||this.language);const n=(e,t,n)=>{const i=x&&n!==h?n:s;this.options.missingKeyHandler?this.options.missingKeyHandler(e,u,t,i,f,r):b([this,"access",e=>e.backendConnector,"optionalAccess",e=>e.saveMissing])&&this.backendConnector.saveMissing(e,u,t,i,f,r),this.emit("missingKey",e,u,t,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&v?e.forEach(e=>{const t=this.pluralResolver.getSuffixes(e,r);S&&r[`defaultValue${this.options.pluralSeparator}zero`]&&t.indexOf(`${this.options.pluralSeparator}zero`)<0&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{n([e],o+t,r[`defaultValue${t}`]||M)})}):n(e,o,M))}h=this.extendTranslation(h,e,r,p,n),i&&h===o&&this.options.appendNamespaceToMissingKey&&(h=`${u}${l}${o}`),(i||t)&&this.options.parseMissingKeyHandler&&(h=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${u}${l}${o}`:o,t?h:void 0,r))}else{if(!r.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(d,A,{...r,ns:s}):`key '${o} (${this.language})' returned an object instead of string.`;return i?(p.res=e,p.usedParams=this.getUsedParamsDetails(r),p):e}if(a){const e=Array.isArray(A),t=e?[]:{},n=e?m:d;for(const e in A)if(Object.prototype.hasOwnProperty.call(A,e)){const i=`${n}${a}${e}`;t[e]=x&&!h?this.translate(i,{...r,defaultValue:G(M)?M[e]:void 0,joinArrays:!1,ns:s}):this.translate(i,{...r,joinArrays:!1,ns:s}),t[e]===i&&(t[e]=A[e])}h=t}}return i?(p.res=h,p.usedParams=this.getUsedParamsDetails(r),p):h}extendTranslation(e,t,n,r,i){if(b([this,"access",e=>e.i18nFormat,"optionalAccess",e=>e.parse]))e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});const a=w(e)&&(void 0!==b([n,"optionalAccess",e=>e.interpolation,"optionalAccess",e=>e.skipOnVariables])?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let o;if(a){const t=e.match(this.interpolator.nestingRegexp);o=t&&t.length}let s=n.replace&&!w(n.replace)?n.replace:n;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,n.lng||this.language||r.usedLng,n),a){const t=e.match(this.interpolator.nestingRegexp);o<(t&&t.length)&&(n.nest=!1)}!n.lng&&r&&r.res&&(n.lng=this.language||r.usedLng),!1!==n.nest&&(e=this.interpolator.nest(e,(...e)=>b([i,"optionalAccess",e=>e[0]])!==e[0]||n.context?this.translate(...e,t):(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null),n)),n.interpolation&&this.interpolator.reset()}const a=n.postProcess||this.options.postProcess,o=w(a)?[a]:a;return null!=e&&b([o,"optionalAccess",e=>e.length])&&!1!==n.applyPostProcessor&&(e=$.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e,t={}){let n,r,i,a,o;return w(e)&&(e=[e]),e.forEach(e=>{if(this.isValidLookup(n))return;const s=this.extractFromKey(e,t),u=s.key;r=u;let l=s.namespaces;this.options.fallbackNS&&(l=l.concat(this.options.fallbackNS));const c=void 0!==t.count&&!w(t.count),f=c&&!t.ordinal&&0===t.count,p=void 0!==t.context&&(w(t.context)||"number"==typeof t.context)&&""!==t.context,h=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);l.forEach(e=>{this.isValidLookup(n)||(o=e,W[`${h[0]}-${e}`]||!b([this,"access",e=>e.utils,"optionalAccess",e=>e.hasLoadedNamespace])||b([this,"access",e=>e.utils,"optionalAccess",e=>e.hasLoadedNamespace,"call",e=>e(o)])||(W[`${h[0]}-${e}`]=!0,this.logger.warn(`key "${r}" for languages "${h.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),h.forEach(r=>{if(this.isValidLookup(n))return;a=r;const o=[u];if(b([this,"access",e=>e.i18nFormat,"optionalAccess",e=>e.addLookupKeys]))this.i18nFormat.addLookupKeys(o,u,r,e,t);else{let e;c&&(e=this.pluralResolver.getSuffix(r,t.count,t));const n=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(t.ordinal&&0===e.indexOf(i)&&o.push(u+e.replace(i,this.options.pluralSeparator)),o.push(u+e),f&&o.push(u+n)),p){const r=`${u}${this.options.contextSeparator||"_"}${t.context}`;o.push(r),c&&(t.ordinal&&0===e.indexOf(i)&&o.push(r+e.replace(i,this.options.pluralSeparator)),o.push(r+e),f&&o.push(r+n))}}let s;for(;s=o.pop();)this.isValidLookup(n)||(i=s,n=this.getResource(r,e,s,t))}))})}),{res:n,usedKey:r,exactUsedKey:i,usedLng:a,usedNS:o}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,n,r={}){return b([this,"access",e=>e.i18nFormat,"optionalAccess",e=>e.getResource])?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}getUsedParamsDetails(e={}){const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],n=e.replace&&!w(e.replace);let r=n?e.replace:e;if(n&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(const e of t)delete r[e]}return r}static hasDefaultValue(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&"defaultValue"===t.substring(0,12)&&void 0!==e[t])return!0;return!1}}class Z{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=L.create("languageUtils")}getScriptPartFromCode(e){if(!(e=z(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=z(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(w(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch(e){}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(e=>{if(t)return;const n=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(n)||(t=n)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;const n=this.getScriptPartFromCode(e);if(this.isSupportedCode(n))return t=n;const r=this.getLanguagePartFromCode(e);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find(e=>e===r?e:e.indexOf("-")<0&&r.indexOf("-")<0?void 0:e.indexOf("-")>0&&r.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===r||0===e.indexOf(r)&&r.length>1?e:void 0)}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),w(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}toResolveHierarchy(e,t){const n=this.getFallbackCodes((!1===t?[]:t)||this.options.fallbackLng||[],e),r=[],i=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return w(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):w(e)&&i(this.formatLanguageCode(e)),n.forEach(e=>{r.indexOf(e)<0&&i(this.formatLanguageCode(e))}),r}}const J={zero:0,one:1,two:2,few:3,many:4,other:5},X={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class K{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=L.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const n=z("dev"===e?"en":e),r=t.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:n,type:r});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let a;try{a=new Intl.PluralRules(n,{type:r})}catch(n){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),X;if(!e.match(/-|_/))return X;const r=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(r,t)}return this.pluralRulesCache[i]=a,a}needsPlural(e,t={}){let n=this.getRule(e,t);return n||(n=this.getRule("dev",t)),b([n,"optionalAccess",e=>e.resolvedOptions,"call",e=>e(),"access",e=>e.pluralCategories,"access",e=>e.length])>1}getPluralFormsOfKey(e,t,n={}){return this.getSuffixes(e,n).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let n=this.getRule(e,t);return n||(n=this.getRule("dev",t)),n?n.resolvedOptions().pluralCategories.sort((e,t)=>J[e]-J[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`):[]}getSuffix(e,t,n={}){const r=this.getRule(e,n);return r?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,n))}}const Q=(e,t,n,r=".",i=!0)=>{let a=((e,t,n)=>{const r=k(e,n);return void 0!==r?r:k(t,n)})(e,t,n);return!a&&i&&w(n)&&(a=q(e,n,r),void 0===a&&(a=q(t,n,r))),a},ee=e=>e.replace(/\$/g,"$$$$");class te{constructor(e={}){this.logger=L.create("interpolator"),this.options=e,this.format=b([e,"optionalAccess",e=>e.interpolation,"optionalAccess",e=>e.format])||(e=>e),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:i,prefixEscaped:a,suffix:o,suffixEscaped:s,formatSeparator:u,unescapeSuffix:l,unescapePrefix:c,nestingPrefix:f,nestingPrefixEscaped:p,nestingSuffix:h,nestingSuffixEscaped:d,nestingOptionsSeparator:m,maxReplaces:g,alwaysFormat:y}=e.interpolation;this.escape=void 0!==t?t:D,this.escapeValue=void 0===n||n,this.useRawValueToEscape=void 0!==r&&r,this.prefix=i?_(i):a||"{{",this.suffix=o?_(o):s||"}}",this.formatSeparator=u||",",this.unescapePrefix=l?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":l||"",this.nestingPrefix=f?_(f):p||_("$t("),this.nestingSuffix=h?_(h):d||_(")"),this.nestingOptionsSeparator=m||",",this.maxReplaces=g||1e3,this.alwaysFormat=void 0!==y&&y,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>b([e,"optionalAccess",e=>e.source])===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,n,r){let i,a,o;const s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=e=>{if(e.indexOf(this.formatSeparator)<0){const i=Q(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}const i=e.split(this.formatSeparator),a=i.shift().trim(),o=i.join(this.formatSeparator).trim();return this.format(Q(t,s,a,this.options.keySeparator,this.options.ignoreJSONStructure),o,n,{...r,...t,interpolationkey:a})};this.resetRegExp();const l=b([r,"optionalAccess",e=>e.missingInterpolationHandler])||this.options.missingInterpolationHandler,c=void 0!==b([r,"optionalAccess",e=>e.interpolation,"optionalAccess",e=>e.skipOnVariables])?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>ee(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?ee(this.escape(e)):ee(e)}].forEach(t=>{for(o=0;i=t.regex.exec(e);){const n=i[1].trim();if(a=u(n),void 0===a)if("function"==typeof l){const t=l(e,i,r);a=w(t)?t:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))a="";else{if(c){a=i[0];continue}this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),a=""}else w(a)||this.useRawValueToEscape||(a=E(a));const s=t.safeValue(a);if(e=e.replace(i[0],s),c?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,n={}){let r,i,a;const o=(e,t)=>{const n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;const r=e.split(new RegExp(`${n}[ ]*{`));let i=`{${r[1]}`;e=r[0],i=this.interpolate(i,a);const o=i.match(/'/g),s=i.match(/"/g);(x(b([o,"optionalAccess",e=>e.length]),()=>0)%2==0&&!s||s.length%2!=0)&&(i=i.replace(/'/g,'"'));try{a=JSON.parse(i),t&&(a={...t,...a})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${i}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let s=[];a={...n},a=a.replace&&!w(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;const u=/{.*}/.test(r[1])?r[1].lastIndexOf("}")+1:r[1].indexOf(this.formatSeparator);if(-1!==u&&(s=r[1].slice(u).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),r[1]=r[1].slice(0,u)),i=t(o.call(this,r[1].trim(),a),a),i&&r[0]===e&&!w(i))return i;w(i)||(i=E(i)),i||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),i=""),s.length&&(i=s.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:r[1].trim()}),i.trim())),e=e.replace(r[0],i),this.regexp.lastIndex=0}return e}}const ne=e=>{const t={};return(n,r,i)=>{let a=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(a={...a,[i.interpolationkey]:void 0});const o=r+JSON.stringify(a);let s=t[o];return s||(s=e(z(r),i),t[o]=s),s(n)}},re=e=>(t,n,r)=>e(z(n),r)(t);class ie{constructor(e={}){this.logger=L.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const n=t.cacheInBuiltFormats?ne:re;this.formats={number:n((e,t)=>{const n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)}),currency:n((e,t)=>{const n=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>n.format(e)}),datetime:n((e,t)=>{const n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)}),relativetime:n((e,t)=>{const n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||"day")}),list:n((e,t)=>{const n=new Intl.ListFormat(e,{...t});return e=>n.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=ne(t)}format(e,t,n,r={}){const i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf("(")>1&&i[0].indexOf(")")<0&&i.find(e=>e.indexOf(")")>-1)){const e=i.findIndex(e=>e.indexOf(")")>-1);i[0]=[i[0],...i.splice(1,e)].join(this.formatSeparator)}const a=i.reduce((e,t)=>{const{formatName:i,formatOptions:a}=(e=>{let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);"currency"===t&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):"relativetime"===t&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(e=>{if(e){const[t,...r]=e.split(":"),i=r.join(":").trim().replace(/^'+|'+$/g,""),a=t.trim();n[a]||(n[a]=i),"false"===i&&(n[a]=!1),"true"===i&&(n[a]=!0),isNaN(i)||(n[a]=parseInt(i,10))}})}return{formatName:t,formatOptions:n}})(t);if(this.formats[i]){let t=e;try{const o=b([r,"optionalAccess",e=>e.formatParams,"optionalAccess",e=>e[r.interpolationkey]])||{},s=o.locale||o.lng||r.locale||r.lng||n;t=this.formats[i](e,s,{...a,...r,...o})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${i}`),e},e);return a}}class ae extends F{constructor(e,t,n,r={}){super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=L.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],b([this,"access",e=>e.backend,"optionalAccess",e=>e.init,"optionalCall",e=>e(n,r.backend,r)])}queueLoad(e,t,n,r){const i={},a={},o={},s={};return e.forEach(e=>{let r=!0;t.forEach(t=>{const o=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[o]=2:this.state[o]<0||(1===this.state[o]?void 0===a[o]&&(a[o]=!0):(this.state[o]=1,r=!1,void 0===a[o]&&(a[o]=!0),void 0===i[o]&&(i[o]=!0),void 0===s[t]&&(s[t]=!0)))}),r||(o[e]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){const r=e.split("|"),i=r[0],a=r[1];t&&this.emit("failedLoading",i,a,t),!t&&n&&this.store.addResourceBundle(i,a,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&n&&(this.state[e]=0);const o={};this.queue.forEach(n=>{((e,t,n)=>{const{obj:r,k:i}=C(e,t,Object);r[i]=r[i]||[],r[i].push(n)})(n.loaded,[i],a),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(n,e),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach(e=>{o[e]||(o[e]={});const t=n.loaded[e];t.length&&t.forEach(t=>{void 0===o[e][t]&&(o[e][t]=!0)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit("loaded",o),this.queue=this.queue.filter(e=>!e.done)}read(e,t,n,r=0,i=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:a});this.readingCalls++;const o=(o,s)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}o&&s&&r<this.maxRetries?setTimeout(()=>{this.read.call(this,e,t,n,r+1,2*i,a)},i):a(o,s)},s=this.backend[n].bind(this.backend);if(2!==s.length)return s(e,t,o);try{const n=s(e,t);n&&"function"==typeof n.then?n.then(e=>o(null,e)).catch(o):o(null,n)}catch(e){o(e)}}prepareLoading(e,t,n={},r){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();w(e)&&(e=this.languageUtils.toResolveHierarchy(e)),w(t)&&(t=[t]);const i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e,t=""){const n=e.split("|"),r=n[0],i=n[1];this.read(r,i,"read",void 0,void 0,(n,a)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&a&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,a),this.loaded(e,n,a)})}saveMissing(e,t,n,r,i,a={},o=()=>{}){if(!b([this,"access",e=>e.services,"optionalAccess",e=>e.utils,"optionalAccess",e=>e.hasLoadedNamespace])||b([this,"access",e=>e.services,"optionalAccess",e=>e.utils,"optionalAccess",e=>e.hasLoadedNamespace,"call",e=>e(t)])){if(null!=n&&""!==n){if(b([this,"access",e=>e.backend,"optionalAccess",e=>e.create])){const s={...a,isUpdate:i},u=this.backend.create.bind(this.backend);if(u.length<6)try{let i;i=5===u.length?u(e,t,n,r,s):u(e,t,n,r),i&&"function"==typeof i.then?i.then(e=>o(null,e)).catch(o):o(null,i)}catch(e){o(e)}else u(e,t,n,r,o,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}else this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")}}const oe=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),w(e[1])&&(t.defaultValue=e[1]),w(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const n=e[3]||e[2];Object.keys(n).forEach(e=>{t[e]=n[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),se=e=>(w(e.ns)&&(e.ns=[e.ns]),w(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),w(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),b([e,"access",e=>e.supportedLngs,"optionalAccess",e=>e.indexOf,"optionalCall",e=>e("cimode")])<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),ue=()=>{};class le extends F{constructor(e={},t){var n;if(super(),this.options=se(e),this.services={},this.logger=L,this.modules={external:[]},n=this,Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(e=>{"function"==typeof n[e]&&(n[e]=n[e].bind(n))}),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,"function"==typeof e&&(t=e,e={}),null==e.defaultNS&&e.ns&&(w(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const n=oe();var r;this.options={...n,...this.options,...se(e)},this.options.interpolation={...n.interpolation,...this.options.interpolation},void 0!==e.keySeparator&&(this.options.userDefinedKeySeparator=e.keySeparator),void 0!==e.nsSeparator&&(this.options.userDefinedNsSeparator=e.nsSeparator),"function"!=typeof this.options.overloadTranslationOptionHandler&&(this.options.overloadTranslationOptionHandler=n.overloadTranslationOptionHandler),!1===this.options.showSupportNotice||b([r=this,"optionalAccess",e=>e.modules,"optionalAccess",e=>e.backend,"optionalAccess",e=>e.name,"optionalAccess",e=>e.indexOf,"call",e=>e("Locize")])>0||b([r,"optionalAccess",e=>e.modules,"optionalAccess",e=>e.backend,"optionalAccess",e=>e.constructor,"optionalAccess",e=>e.name,"optionalAccess",e=>e.indexOf,"call",e=>e("Locize")])>0||b([r,"optionalAccess",e=>e.options,"optionalAccess",e=>e.backend,"optionalAccess",e=>e.backends])&&r.options.backend.backends.some(e=>b([e,"optionalAccess",e=>e.name,"access",e=>e.indexOf,"call",e=>e("Locize")])>0||b([e,"optionalAccess",e=>e.constructor,"optionalAccess",e=>e.name,"access",e=>e.indexOf,"call",e=>e("Locize")])>0)||"undefined"!=typeof console&&void 0!==console.info&&console.info("🌐 i18next is maintained with support from locize.com — consider powering your project with managed localization (AI, CDN, integrations): https://locize.com 💙");const i=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let e;this.modules.logger?L.init(i(this.modules.logger),this.options):L.init(null,this.options),e=this.modules.formatter?this.modules.formatter:ie;const t=new Z(this.options);this.store=new U(this.options.resources,this.options);const r=this.services;r.logger=L,r.resourceStore=this.store,r.languageUtils=t,r.pluralResolver=new K(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),!e||this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format||(r.formatter=i(e),r.formatter.init&&r.formatter.init(r,this.options),this.options.interpolation.format=r.formatter.format.bind(r.formatter)),r.interpolator=new te(this.options),r.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},r.backendConnector=new ae(i(this.modules.backend),r.resourceStore,r,this.options),r.backendConnector.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(r.languageDetector=i(this.modules.languageDetector),r.languageDetector.init&&r.languageDetector.init(r,this.options.detection,this.options)),this.modules.i18nFormat&&(r.i18nFormat=i(this.modules.i18nFormat),r.i18nFormat.init&&r.i18nFormat.init(this)),this.translator=new Y(this.services,this.options),this.translator.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||(t=ue),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(e=>{this[e]=(...t)=>this.store[e](...t)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});const a=N(),o=()=>{const e=(e,n)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),a.resolve(n),t(e,n)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?o():setTimeout(o,0),a}loadResources(e,t=ue){let n=t;const r=w(e)?e:this.language;if("function"==typeof e&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if("cimode"===b([r,"optionalAccess",e=>e.toLowerCase,"call",e=>e()])&&(!this.options.preload||0===this.options.preload.length))return n();const e=[],t=t=>{t&&"cimode"!==t&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)})};r?t(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),b([this,"access",e=>e.options,"access",e=>e.preload,"optionalAccess",e=>e.forEach,"optionalCall",e=>e(e=>t(e))]),this.services.backendConnector.load(e,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),n(e)})}else n(null)}reloadResources(e,t,n){const r=N();return"function"==typeof e&&(n=e,e=void 0),"function"==typeof t&&(n=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),n||(n=ue),this.services.backendConnector.reload(e,t,e=>{r.resolve(),n(e)}),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&$.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1)){for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;const n=N();this.emit("languageChanging",e);const r=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(i,a)=>{a?this.isLanguageChangingTo===e&&(r(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit("languageChanged",a),this.logger.log("languageChanged",a)):this.isLanguageChangingTo=void 0,n.resolve((...e)=>this.t(...e)),t&&t(i,(...e)=>this.t(...e))},a=t=>{e||t||!this.services.languageDetector||(t=[]);const n=w(t)?t:t&&t[0],a=this.store.hasLanguageSomeTranslations(n)?n:this.services.languageUtils.getBestMatchFromCodes(w(t)?[t]:t);a&&(this.language||r(a),this.translator.language||this.translator.changeLanguage(a),b([this,"access",e=>e.services,"access",e=>e.languageDetector,"optionalAccess",e=>e.cacheUserLanguage,"optionalCall",e=>e(a)])),this.loadResources(a,e=>{i(e,a)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),n}getFixedT(e,t,n){const r=(e,t,...i)=>{let a;a="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(i)):{...t},a.lng=a.lng||r.lng,a.lngs=a.lngs||r.lngs,a.ns=a.ns||r.ns,""!==a.keyPrefix&&(a.keyPrefix=a.keyPrefix||n||r.keyPrefix);const o=this.options.keySeparator||".";let s;return a.keyPrefix&&Array.isArray(e)?s=e.map(e=>("function"==typeof e&&(e=H(e,{...this.options,...t})),`${a.keyPrefix}${o}${e}`)):("function"==typeof e&&(e=H(e,{...this.options,...t})),s=a.keyPrefix?`${a.keyPrefix}${o}${e}`:e),this.t(s,a)};return w(e)?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=n,r}t(...e){return b([this,"access",e=>e.translator,"optionalAccess",e=>e.translate,"call",t=>t(...e)])}exists(...e){return b([this,"access",e=>e.translator,"optionalAccess",e=>e.exists,"call",t=>t(...e)])}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const n=t.lng||this.resolvedLanguage||this.languages[0],r=!!this.options&&this.options.fallbackLng,i=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;const a=(e,t)=>{const n=this.services.backendConnector.state[`${e}|${t}`];return-1===n||0===n||2===n};if(t.precheck){const e=t.precheck(this,a);if(void 0!==e)return e}return!(!this.hasResourceBundle(n,e)&&this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!a(n,e)||r&&!a(i,e)))}loadNamespaces(e,t){const n=N();return this.options.ns?(w(e)&&(e=[e]),e.forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){const n=N();w(e)&&(e=[e]);const r=this.options.preload||[],i=e.filter(e=>r.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return i.length?(this.options.preload=r.concat(i),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(b([this,"access",e=>e.languages,"optionalAccess",e=>e.length])>0?this.languages[0]:this.language)),!e)return"rtl";try{const t=new Intl.Locale(e);if(t&&t.getTextInfo){const e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch(e){}const t=b([this,"access",e=>e.services,"optionalAccess",e=>e.languageUtils])||new Z(oe());return e.toLowerCase().indexOf("-latn")>1?"ltr":["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){const n=new le(e,t);return n.createInstance=le.createInstance,n}cloneInstance(e={},t=ue){const n=e.forkResourceStore;n&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},i=new le(r);if(void 0===e.debug&&void 0===e.prefix||(i.logger=i.logger.clone(e)),["store","services","language"].forEach(e=>{i[e]=this[e]}),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},n){const e=Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((n,r)=>(n[r]={...e[t][r]},n),e[t]),e),{});i.store=new U(e,r),i.services.resourceStore=i.store}if(e.interpolation){const t={...oe().interpolation,...this.options.interpolation,...e.interpolation},n={...r,interpolation:t};i.services.interpolator=new te(n)}return i.translator=new Y(i.services,r),i.translator.on("*",(e,...t)=>{i.emit(e,...t)}),i.init(r,t),i.translator.options=r,i.translator.backendConnector.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const ce=le.createInstance();ce.createInstance,ce.dir,ce.init,ce.loadResources,ce.reloadResources,ce.use,ce.changeLanguage,ce.getFixedT,ce.t,ce.exists,ce.setDefaultNamespace,ce.hasLoadedNamespace,ce.loadNamespaces,ce.loadLanguages,ce.init({fallbackLng:"en",lng:"en",debug:!0,resources:{en:{translation:{categorize:{limitMaxChoicesPerCategory:"You've reached the limit of {{maxChoicesPerCategory}} responses per area. To add another response, one must first be removed.",maxChoicesPerCategoryRestriction:"To change this value to {{maxChoicesPerCategory}}, each category must have {{maxChoicesPerCategory}} or fewer answer choice[s]."},ebsr:{part:"Part {{index}}"},numberLine:{addElementLimit_one:"You can only add {{count}} element",addElementLimit_other:"You can only add {{count}} elements",clearAll:"Clear all"},imageClozeAssociation:{reachedLimit_one:"You’ve reached the limit of {{count}} response per area. To add another response, one must first be removed.",reachedLimit_other:"Full"},drawingResponse:{fillColor:"Fill color",outlineColor:"Outline color",noFill:"No fill",lightblue:"Light blue",lightyellow:"Light yellow",red:"Red",orange:"Orange",yellow:"Yellow",violet:"Violet",blue:"Blue",green:"Green",white:"White",black:"Black",onDoubleClick:"Double click to edit this text. Press Enter to submit."},charting:{addCategory:"Add category",actions:"Actions",add:"Add",delete:"Delete",newLabel:"New label",reachedLimit_other:"There can't be more than {{count}} categories.",keyLegend:{incorrectAnswer:"Student incorrect answer",correctAnswer:"Student correct answer",correctKeyAnswer:"Answer key correct"}},graphing:{point:"Point",circle:"Circle",line:"Line",parabola:"Parabola",absolute:"Absolute Value",exponential:"Exponential",polygon:"Polygon",ray:"Ray",segment:"Segment",sine:"Sine",vector:"Vector",label:"Label",redo:"Redo",reset:"Reset"},mathInline:{primaryCorrectWithAlternates:"Note: The answer shown above is the primary correct answer specified by the author for this item, but other answers may also be recognized as correct."},multipleChoice:{minSelections:"Select at least {{minSelections}}.",maxSelections_one:"Only {{maxSelections}} answer is allowed.",maxSelections_other:"Only {{maxSelections}} answers are allowed.",minmaxSelections_equal:"Select {{minSelections}}.",minmaxSelections_range:"Select between {{minSelections}} and {{maxSelections}}."},selectText:{correctAnswerSelected:"Correct",correctAnswerNotSelected:"Correct Answer Not Selected",incorrectSelection:"Incorrect Selection",key:"Key"}},common:{undo:"Undo",clearAll:"Clear all",correct:"Correct",incorrect:"Incorrect",showCorrectAnswer:"Show correct answer",hideCorrectAnswer:"Hide correct answer",commonCorrectAnswerWithAlternates:"Note: The answer shown above is the most common correct answer for this item. One or more additional correct answers are also defined, and will also be recognized as correct.",warning:"Warning",showNote:"Show Note",hideNote:"Hide Note",cancel:"Cancel"}},es:{translation:{categorize:{limitMaxChoicesPerCategory:"Has alcanzado el límite de {{maxChoicesPerCategory}} respuestas por área. Para agregar otra respuesta, primero se debe eliminar una respuesta.",maxChoicesPerCategoryRestriction:"Para cambiar este valor a {{maxChoicesPerCategory}}, cada categoría debe tener {{maxChoicesPerCategory}} o menos opciones de respuesta"},ebsr:{part:"Parte {{index}}"},numberLine:{addElementLimit_one:"Solo puedes agregar {{count}} elemento",addElementLimit_other:"Solo puedes agregar {{count}} elementos",clearAll:"Borrar todo"},imageClozeAssociation:{reachedLimit_one:"Has alcanzado el límite de {{count}} respuesta por área. Para agregar otra respuesta, primero se debe eliminar una respuesta.",reachedLimit_other:"Lleno"},drawingResponse:{fillColor:"Color de relleno",outlineColor:"Color del contorno",noFill:"Sin relleno",lightblue:"Azul claro",lightyellow:"Amarillo claro",red:"Rojo",orange:"Naranja",yellow:"Amarillo",violet:"Violeta",blue:"Azul",green:"Verde",white:"Blanco",black:"Negro",onDoubleClick:"Haz doble clic para revisar este texto. Presiona el botón de ingreso para enviar"},charting:{addCategory:"Añadir categoría",actions:"Acciones",add:"Añadir",delete:"Eliminar",newLabel:"Nueva etiqueta",reachedLimit_other:"No puede haber más de {{count}} categorías.",keyLegend:{incorrectAnswer:"Respuesta incorrecta del estudiante",correctAnswer:"Respuesta correcta del estudiante",correctKeyAnswer:"Clave de respuesta correcta"}},graphing:{point:"Punto",circle:"Circulo",line:"Línea",parabola:"Parábola",absolute:"Valor absoluto",exponential:"Exponencial",polygon:"Polígono",ray:"Semirrecta",segment:"Segmento ",sine:"Seno",vector:"Vector",label:"Etiqueta",redo:"Rehacer",reset:"Reiniciar"},mathInline:{primaryCorrectWithAlternates:"Nota: La respuesta que se muestra arriba es la respuesta correcta principal especificada por el autor para esta pregunta, pero también se pueden reconocer otras respuestas como correctas."},multipleChoice:{minSelections:"Seleccione al menos {{minSelections}}.",maxSelections_one:"Sólo se permite {{maxSelections}} respuesta.",maxSelections_other:"Sólo se permiten {{maxSelections}} respuestas.",minmaxSelections_equal:"Seleccione {{minSelections}}.",minmaxSelections_range:"Seleccione entre {{minSelections}} y {{maxSelections}}."},selectText:{correctAnswerSelected:"Respuesta Correcta",correctAnswerNotSelected:"Respuesta Correcta No Seleccionada",incorrectSelection:"Selección Incorrecta",key:"Clave"}},common:{undo:"Deshacer",clearAll:"Borrar todo",correct:"Correct",incorrect:"Incorrect",showCorrectAnswer:"Mostrar respuesta correcta",hideCorrectAnswer:"Ocultar respuesta correcta",commonCorrectAnswerWithAlternates:"Nota: La respuesta que se muestra arriba es la respuesta correcta más común para esta pregunta. También se definen una o más respuestas correctas adicionales, y también se reconocerán como correctas.",warning:"Advertencia",showNote:"Mostrar Nota",hideNote:"Ocultar Nota",cancel:"Cancelar"}}}});var fe={translator:{...ce,t:(e,t)=>{const{lng:n}=t;switch(n){case"en_US":case"en-US":t.lng="en";break;case"es_ES":case"es-ES":case"es_MX":case"es-MX":t.lng="es"}return ce.t(e,{lng:n,...t})}},languageOptions:[{value:"en_US",label:"English (US)"},{value:"es_ES",label:"Spanish"}]};const pe=r,{styled:he}=t,de=e,{translator:me}=fe,ge=he("svg")({fill:"black",cursor:"pointer",transition:"opacity 100ms linear","&:hover":{opacity:"0.5"}}),ye=()=>pe.createElement(ge,{fill:"#000000",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},pe.createElement("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),pe.createElement("path",{d:"M0 0h24v24H0z",fill:"none"})),ve={pf:0,lff:1,lef:2,lfe:3,lee:4,rfn:5,rfp:6,ren:7,rep:8},xe=he("a")(({$iconIndex:e,$active:t})=>({display:"inline-block",width:42,height:41,position:"relative",top:"1px",cursor:"pointer",background:`url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaIAAAB6CAYAAAD9EVeZAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA35pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyQzdFRkQ1NzFFMjA2ODExOTRGRkRERDNFOEEwRDAxQyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0M0FGNEM3RUQwRDkxMUU0OTU5RUVDMkZDN0NCQzRBRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0M0FGNEM3REQwRDkxMUU0OTU5RUVDMkZDN0NCQzRBRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY1QUZDN0I3MEUyMDY4MTE4MDgzOUE0REM2MTYyOUQyIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6NjFjZTg0NmMtMTg3ZS0xMTc4LWE4YmItZWNkODU4MDc4MWE2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Xy3JugAADlNJREFUeNrsnT9sFEkWh9vgI1oQmBgCJLRa7UmAIEBaovUf8pWAnL8SIQSs7JW5S4wDwl0kZER4PtvSiRhMzEoYAdmiDbmVdhEYC29CYOb6zc1Izdz0uKv6vaqavu+TioGZpur3ftX1Xk/PdM9Iq9XKAAAAYrEDCwAAgEIEAAAUIgAAAAoRAABQiAAAAChEAABAIQIAAKAQAQAAhQgAAIBCBAAAFCIAAAAKEQAANI5Rn/80MjLiPaDGTVa1x7eKB53p6rTeh6v0r9XPsPffJD+HydOU8rzWO6JTeVvM27/z9rHzuNh5PgTa41vFg850dcbeh1PRadX/TKIH4yHmvSme2nkllcu19byj+km6GdDk9b/UGc96fKt40JmuTut9eACznv1Y67Tuv1WWOJvk5zB5mlKerytwYRtx3bZgZJDK+FbxoDNdndb78ICk2fLsx1qndf+tssTZJD+HydOU8nwdgd9UFNdt3ygb5DX+ANTjKel3OW9f521X53EpUZ3e/daJ28rPUBoHJM7ZQj+uScdsrRmtpb4H6WWJMwE/1ebdcN2re5qCVxqF6B+OO++iskGu42u3xYqJs6hzpWSHWk5MZ+V+B+Aat5WfiyE1liTO2R7vXDFbaxHX0kyNQqTpp+q8R173MwaFyNQrjUL0u6NJvykb9HvkQvRbxcRZ1PnXkon8OjGdVfsd9Lpr3LH9VNHYJ3HOprhvJrKWfkjAT9V5T2Dd/2CYZ9W90ihErgZ9VDaoFbl9rJg4i/9nV8lE7kpMZ9V+q25bJe7Yfqpo7NE6m+q+mchaupmAn6rznsC6v2mYZ9W96rY6X9/+w3H7t8pfJfwji8tbD52HS7Y5nJhOjX5d447tp6bGLluJ75sx19Lf8vb3BPy0mPdY697H0yzSOq7/7YoOi5E/I/IafwDq8fTpt+wc61JiOqv2W/X1ynEb+Fm1qWjscyppJsXPL43X0nYfrN+s8WUFbT9V591w3at7ahlHyFNzpxwn/JSyQWrjW8VT0u8/8/ZV9t/v3H/V+XeKOiv1OwC1uDX8DKWx5MP1mZofrputtUD9F5PmrM/BsLGfavNuse6tPI0dh+Z1RD9W3HF/NDBIbXyreNCZrk7rfbgPM5n/141D6LTuv2/CbJqfw+RpSnm+rkCpijHvrKAyvlU86ExXp/U+XMJMjcRprdO6/9k6Hw8Mi5/D5GlKeb6uwOLbt8XOV/c+dh773oNI2SCV8a3iQWe6Oq334QHM1OzHWmcoHxrp5zB5mlKeH/G5Syt3364WDzrT1cndt5vnA3ffTjvPDhxLQzAAAIAv/DAeAABQiAAAgEIEAABAIQIAAAoRAAAAhQgAAChEAAAAFCIAAKAQAQAAUIgAAIBCBAAAQCECAIDmMfrs2TN5lN8cn8/bRN72RNb0IW+refs+b78eP368/SQ60YlOdKKzmTpH8z++zNvPedubSHEUg77L27d5O5m3V53n0YlOdKITnQ3UKafm5hISV2RvR1sXdKITnehEZwN17ui8TUuVqcLf0YlOdKITnQ3UuSOLf65wEF/0vJVDJzrRiU50Nkwn35oDAICoUIgAAIBCBAAAFCIAAAAKEQAAUIgAAAAoRAAAQCECAACgEAEAQPMZ1ejkxYsX2fLycvvx/fv32b59+7KjR49mZ8+ebT9aoz2+VTzoTFdn7H04FZ1W/d+/fz87f/58cgkwxLw3xVNLr0bW1tZavv95a2sru337drayslK6zZkzZ7Lr169no6N+Ne/48eMj8vjs2bOW9fh1+kPncOqs29cgnf1YWFjILl26FHytbafTei2fOHEiu3r16raJsyl+puKpq5+x8nytU3O3bt0aKE6Q1+fn500qtPb4VvGgM12dIfdhSZp3795Ncq2F8OHOnTvto3gtUvZzWD2NFYd3IXr58mX24MGDStvKdrK9JtrjW8XT2+/ExET77e2TJ0/aj5OTk0nq1PazbtwW/Vpp1E6a1mst5FrWSpyaflrMe8h9y7IYhYrD+zMiEeHC0tJSduTIETWDXMe/cOGC6gRVjaeoc3x8/LOjhkOHDrWPNlqtVra6upqMTo1+XeO28nNQv1YaNZNmiLUWei1J4hR8P9/Q9NNq3kOv+7qexvSqViF6+vSp0/bPnz9XNch1fG2qxlPUefny5b7byPPdiUxBZ9V+5Rx1GWNjY05xW/n58OHDdtsOTY3bJc1BvoWc85hrSRKnJDDXBKztp9W8x1j3vp5qxuGb571Pza2vrzttv7Gxoboju46vTdV4ijoPHjzYd5sDBw4kpVOjX9e4Y/upqVHryN16zmOvJfkQPLafFvMec927eqodh2+e9y5ExSPeKuzdq/srta7ja1M1nqLO169f992m7PlYOjX6dY07tp+aGrvs3Lkz6X0z5lqSo+iyI+yQflrMe6x17+Opdhy+ed67ELm+HT527JiqQa7jT01NZWtra6VNXreIp6iz7GhOjvRS0qnRr2vcVn5WRVNjFzlfL1+vDY2rTu211K9pJEwLPy3m3WLdW3mqHYdvnvf+jEguYqpy7r24vSba41vFU+z38ePH2fT0dPu6B3k7K0cSMomPHj1KSmfV7efm5kpfl4veNOP29fPevXulF9uJxosXL6pr7E2eQvfDZKE3iWxHUafFWgu5lq9cueJ13Y+Vn1bzrr3uLT1NIQ7vQtS9orbKN24srk7XHt8qnt5+B314npJObT/rxm3Rr5XGKskzpbUWai1rJUxtPy3mPdS+ZVmEQsZR64LWa9euta+oHYS8LttZoD2+VTzoTFdnqH247mkla53W/WsnzNT9HEZPY3pV6xY/xbe6UjHlq3vyrQn5wErOFWq8E6pyiwrt8X36Q+dw6/Tty/UWKnXvD2at03Ita633YfIztqcat/gJEYdKIRoWI9GJTnSiE53pwc9AAAAAhQgAAChEAAAAFCIAAKAQAQAAUIgAAIBCBAAAQCECAID/j0L0IWF9fxb+jk50ohOd6GygTilEqwkLLN5dD53oRCc60dlAnVKIZvK2kaC4jY62LuhEJzrRic4G6pRC9EveTubtX3nbTEDYZkfLyY62LuhEJzrRic4G6hxptZK+Fx4AADSc0aWlJXk8nLf5vE3kbU9kTfKhmpzP/D5vv547d679JDrRiU50orOZOuUXWr8cGRn5ef/+/Xt3796d7dy5M6q6ra2tPZubm9+9e/fu2/zdmrxte9V5CZ3oRCc60dlAnfIZ0ZyIkx85ii1OEA2iZWxsbK9oK7yETnSiE53obKBOKUQTUiFTY8+e9jvHqcJT6EQnOtGJzgbqlEK0J4UK2a9i5nxR1IxOdKITnehsnk5u8QMAAFGhEAEAAIUIAAAoRAAAABQiAACgEAEAAFCIAACAQgQAAEAhAgCA5jOq0cmLFy+y5eXl9uP79++zffv2ZUePHs3Onj3bfrRGe3yreNCZrs7Y+3AqOq36v3//fnb+/PnkEmCIeW+Kp5Ze1SpEW1tb2e3bt7OVlZXPnn/z5k328OHDdjtz5kx2/fr1bHR0VN0Y7fGt4kFnujpD78MLCwvZpUuXkltr1v3fuXOn/aidOFP1c5g9jeFVrVNzt27d+h9xvcjr8/PzJgZpj28VDzrT1RlyH5akeffu3STXWggfJHHKUbxmEUrVz2H1NFYc3oXo5cuX2YMHDyptK9vJ9ppoj28VT2+/ExMT7be3T548aT9OTk4mqVPbz7pxW/RrpVE7aVqvtZBrWStxavppMe8h9y3LYhQqDu9zDSLCBfmFwCNHjqgZ5Dr+hQsXVCeoajxFnePj458dNRw6dKh9tCE/1766upqMTo1+XeO28nNQv1YaNZNmiLUWei3VPaWk6afVvIde91an6UKtEe9C9PTpU6ftnz9/rmqQ6/jaVI2nqPPy5ct9t5HnuxOZgs6q/Z44caL09bGxMae4rfzsnsPeDk2N2yXNQb6FnPOYa0kSpyQw1wSs7afVvMdY976easbhm+e9T82tr687bb+xsaG6I7uOr03VeIo6Dx482HebAwcOJKVTo1/XuGP7qalR68jdes5jryX5EDy2nxbzHnPdu3qqHYdvnvcuRMUj3irIz8Jq4jq+NlXjKep8/fp1323Kno+lU6Nf17hj+6mpsUusHyJz1RljLclRdNkRdkg/LeY91rr38VQ7Dt88712IXN8OHzt2TNUg1/GnpqaytbW10iavW8RT1Fl2NCdHeinp1OjXNW4rP6uiqbGLnK+/evVq8CTvqlN7LfVrGgnTwk+LebdY91aeasfhm+e9PyOSi5iqnHsvbq+J9vhW8RT7ffz4cTY9Pd2+7kHezsqRhEzio0ePktJZdfu5ubnS1+WiN824ff28d+9e6cV2ovHixYvqGnuTp9D9MFnoTSLbUdRpsdZCruUrV654Xfdj5afVvGuve0tPU4jDuxB1r6it8o0bi6vTtce3iqe330EfnqekU9vPunFb9GulsUryTGmthVrLWglT20+LeQ+1b1kWoZBx1Lqg9dq1a+0ragchr8t2FmiPbxUPOtPVGWofrntayVqndf/aCTN1P4fR05he1bpnidzO4caNG9np06fbFVO+uiffmpAPrORcofV9urTHt4oHnenqDLkP17nGw1qndf8WCTNlP4fV02heab19i3ljSO3xreJBZ7o6Q+3DdS84tNYZey03zc9h9DRGHPwMBAAARIVCBAAAFCIAAKAQAQAAUIgAAIBCBAAAQCECAAAKEQAAQLBC9EH7Nyw06Gj6s/AUOtGJTnSis4E6pRCtbm5uJifww4cP8lC8ux460YlOdKKzgTqlEM28e/duQ+4d9OnTp+jCRINoWV9fl5/6mym8hE50ohOd6GygTrnX3C+tVuvk27dv5/I2mf97d2SNUrblBy6m8/aq8Dw60YlOdKKzgTr/I8AAfqzhPjCMsb4AAAAASUVORK5CYII=) -${42*e}px 0px`,...t&&{backgroundPosition:`-${42*e}px -82px`},"&:hover":{textDecoration:"none",backgroundPosition:`-${42*e}px -41px`},...t&&{"&:hover":{backgroundPosition:`-${42*e}px -82px`}}})),be=e=>{const{iconKey:t,active:n,onClick:r}=e,i=null!=(a=ve[t.toLowerCase()])?a:0;var a;return pe.createElement("span",{role:"presentation",key:t,onClick:r},pe.createElement(xe,{$iconIndex:i,$active:n}," "))};be.propTypes={iconKey:de.string.isRequired,active:de.bool,onClick:de.func};const we=be,Ne=he("div")({width:"55%",padding:"1px","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none"}),Ee=({selectPoint:e,selected:t,icons:n})=>{const r=n.map(n=>{let r=n===t,i=r?()=>{}:e.bind(null,n);return pe.createElement(we,{key:n.toLowerCase(),iconKey:n.toLowerCase(),active:r,onClick:i})});return pe.createElement(Ne,null,r)};Ee.propTypes={selectPoint:de.func.isRequired,selected:de.string,icons:de.array};const Se=he("div")({display:"flex",justifyContent:"space-between",borderRadius:"4px",padding:"1px"}),Me=he("div")({display:"flex",paddingTop:"7px"}),Ae=he("span")({position:"relative",top:"3px",width:"30px"});class Ce extends pe.Component{static __initStatic(){this.defaultProps={showDeleteButton:!1,elementType:Ce.DEFAULT_TYPE,icons:["pf","lff","lef","lfe","lee","rfn","rfp","ren","rep"]}}static __initStatic2(){this.propTypes={elementType:de.string,showDeleteButton:de.bool,onDeleteClick:de.func.isRequired,onElementType:de.func.isRequired,onUndoElement:de.func.isRequired,onClearElements:de.func.isRequired,icons:de.array,language:de.string}}render(){const{elementType:e,showDeleteButton:t,onDeleteClick:n,onUndoElement:r,onClearElements:i,icons:a,onElementType:o,language:s}=this.props;return pe.createElement(Se,null,pe.createElement(Ee,{selected:e,selectPoint:o,icons:a}),pe.createElement(Me,null,t&&pe.createElement(Ae,{onClick:n},pe.createElement(ye,null)),pe.createElement(v,{onClick:r,label:me.t("common:undo",{lng:s})}),pe.createElement(v,{onClick:i,label:me.t("numberLine.clearAll",{lng:s})})))}}Ce.__initStatic(),Ce.__initStatic2(),Ce.DEFAULT_TYPE="pf";var Oe=Object.freeze({__proto__:null,Point:we,PointChooser:Ce,default:Ce}),ke={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function Te(e){return Te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Te(e)}function _e(e){return"number"==typeof e}function Re(e){return e&&!0===e.constructor.prototype.isBigNumber||!1}function De(e){return e&&"object"===Te(e)&&!0===Object.getPrototypeOf(e).isComplex||!1}function Ie(e){return e&&"object"===Te(e)&&!0===Object.getPrototypeOf(e).isFraction||!1}function Pe(e){return e&&!0===e.constructor.prototype.isUnit||!1}function qe(e){return"string"==typeof e}var ze=Array.isArray;function Be(e){return e&&!0===e.constructor.prototype.isMatrix||!1}function je(e){return Array.isArray(e)||Be(e)}function Le(e){return e&&e.isDenseMatrix&&!0===e.constructor.prototype.isMatrix||!1}function Fe(e){return e&&e.isSparseMatrix&&!0===e.constructor.prototype.isMatrix||!1}function Ue(e){return e&&!0===e.constructor.prototype.isRange||!1}function $e(e){return e&&!0===e.constructor.prototype.isIndex||!1}function Ve(e){return"boolean"==typeof e}function He(e){return e&&!0===e.constructor.prototype.isResultSet||!1}function We(e){return e&&!0===e.constructor.prototype.isHelp||!1}function Ge(e){return"function"==typeof e}function Ye(e){return e instanceof Date}function Ze(e){return e instanceof RegExp}function Je(e){return!(!e||"object"!==Te(e)||e.constructor!==Object||De(e)||Ie(e))}function Xe(e){return null===e}function Ke(e){return void 0===e}function Qe(e){return e&&!0===e.isAccessorNode&&!0===e.constructor.prototype.isNode||!1}function et(e){return e&&!0===e.isArrayNode&&!0===e.constructor.prototype.isNode||!1}function tt(e){return e&&!0===e.isAssignmentNode&&!0===e.constructor.prototype.isNode||!1}function nt(e){return e&&!0===e.isBlockNode&&!0===e.constructor.prototype.isNode||!1}function rt(e){return e&&!0===e.isConditionalNode&&!0===e.constructor.prototype.isNode||!1}function it(e){return e&&!0===e.isConstantNode&&!0===e.constructor.prototype.isNode||!1}function at(e){return e&&!0===e.isFunctionAssignmentNode&&!0===e.constructor.prototype.isNode||!1}function ot(e){return e&&!0===e.isFunctionNode&&!0===e.constructor.prototype.isNode||!1}function st(e){return e&&!0===e.isIndexNode&&!0===e.constructor.prototype.isNode||!1}function ut(e){return e&&!0===e.isNode&&!0===e.constructor.prototype.isNode||!1}function lt(e){return e&&!0===e.isObjectNode&&!0===e.constructor.prototype.isNode||!1}function ct(e){return e&&!0===e.isOperatorNode&&!0===e.constructor.prototype.isNode||!1}function ft(e){return e&&!0===e.isParenthesisNode&&!0===e.constructor.prototype.isNode||!1}function pt(e){return e&&!0===e.isRangeNode&&!0===e.constructor.prototype.isNode||!1}function ht(e){return e&&!0===e.isSymbolNode&&!0===e.constructor.prototype.isNode||!1}function dt(e){return e&&!0===e.constructor.prototype.isChain||!1}function mt(e){var t=Te(e);return"object"===t?null===e?"null":Array.isArray(e)?"Array":e instanceof Date?"Date":e instanceof RegExp?"RegExp":Re(e)?"BigNumber":De(e)?"Complex":Ie(e)?"Fraction":Be(e)?"Matrix":Pe(e)?"Unit":$e(e)?"Index":Ue(e)?"Range":He(e)?"ResultSet":ut(e)?e.type:dt(e)?"Chain":We(e)?"Help":"Object":"function"===t?"Function":t}function gt(e){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gt(e)}function yt(e){var t=gt(e);if("number"===t||"string"===t||"boolean"===t||null==e)return e;if("function"==typeof e.clone)return e.clone();if(Array.isArray(e))return e.map(function(e){return yt(e)});if(e instanceof Date)return new Date(e.valueOf());if(Re(e))return e;if(e instanceof RegExp)throw new TypeError("Cannot clone "+e);return function(e,t){var n={};for(var r in e)bt(e,r)&&(n[r]=t(e[r]));return n}(e,yt)}function vt(e,t){for(var n in t)bt(t,n)&&(e[n]=t[n]);return e}function xt(e,t){var n,r,i;if(Array.isArray(e)){if(!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(r=0,i=e.length;r<i;r++)if(!xt(e[r],t[r]))return!1;return!0}if("function"==typeof e)return e===t;if(e instanceof Object){if(Array.isArray(t)||!(t instanceof Object))return!1;for(n in e)if(!(n in t)||!xt(e[n],t[n]))return!1;for(n in t)if(!(n in e)||!xt(e[n],t[n]))return!1;return!0}return e===t}function bt(e,t){return e&&Object.hasOwnProperty.call(e,t)}function wt(){return wt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},wt.apply(this,arguments)}var Nt=function(e){if(e)throw new Error("The global config is readonly. \nPlease create a mathjs instance if you want to change the default configuration. \nExample:\n\n import { create, all } from 'mathjs';\n const mathjs = create(all);\n mathjs.config({ number: 'BigNumber' });\n");return Object.freeze(ke)};wt(Nt,ke,{MATRIX_OPTIONS:["Matrix","Array"],NUMBER_OPTIONS:["number","BigNumber","Fraction"]});var Et="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},St={exports:{}};St.exports=function(){function e(){return!0}function t(){return!1}function n(){}return function r(){var i=[{name:"number",test:function(e){return"number"==typeof e}},{name:"string",test:function(e){return"string"==typeof e}},{name:"boolean",test:function(e){return"boolean"==typeof e}},{name:"Function",test:function(e){return"function"==typeof e}},{name:"Array",test:Array.isArray},{name:"Date",test:function(e){return e instanceof Date}},{name:"RegExp",test:function(e){return e instanceof RegExp}},{name:"Object",test:function(e){return"object"==typeof e&&null!==e&&e.constructor===Object}},{name:"null",test:function(e){return null===e}},{name:"undefined",test:function(e){return void 0===e}}],a={name:"any",test:e},o=[],s=[],u={types:i,conversions:s,ignore:o};function l(e){var t=H(u.types,function(t){return t.name===e});if(t)return t;if("any"===e)return a;var n=H(u.types,function(t){return t.name.toLowerCase()===e.toLowerCase()});throw new TypeError('Unknown type "'+e+'"'+(n?'. Did you mean "'+n.name+'"?':""))}function c(e){return e===a?999:u.types.indexOf(e)}function f(e){var t=H(u.types,function(t){return t.test(e)});if(t)return t.name;throw new TypeError("Value has unknown type. Value: "+e)}function p(e){return e.map(function(e){var t=e.types.map(w);return(e.restParam?"...":"")+t.join("|")}).join(",")}function h(e,t){var n=0===e.indexOf("..."),r=(n?e.length>3?e.slice(3):"any":e).split("|").map(z).filter(B).filter(q),i=function(e,t){var n={};return e.forEach(function(e){-1!==t.indexOf(e.from)||-1===t.indexOf(e.to)||n[e.from]||(n[e.from]=e)}),Object.keys(n).map(function(e){return n[e]})}(t,r),a=r.map(function(e){var t=l(e);return{name:e,typeIndex:c(t),test:t.test,conversion:null,conversionIndex:-1}}),o=i.map(function(e){var n=l(e.from);return{name:e.from,typeIndex:c(n),test:n.test,conversion:e,conversionIndex:t.indexOf(e)}});return{types:a.concat(o),restParam:n}}function d(e,t,n){var r=[];return""!==e.trim()&&(r=e.split(",").map(z).map(function(e,t,r){var i=h(e,n);if(i.restParam&&t!==r.length-1)throw new SyntaxError('Unexpected rest parameter "'+e+'": only allowed for the last parameter');return i})),r.some(L)?null:{params:r,fn:t}}function m(e){var t=F(e);return!!t&&t.restParam}function g(e){return e.types.some(function(e){return null!=e.conversion})}function y(t){if(t&&0!==t.types.length){if(1===t.types.length)return l(t.types[0].name).test;if(2===t.types.length){var n=l(t.types[0].name).test,r=l(t.types[1].name).test;return function(e){return n(e)||r(e)}}var i=t.types.map(function(e){return l(e.name).test});return function(e){for(var t=0;t<i.length;t++)if(i[t](e))return!0;return!1}}return e}function v(e){var t,n,r;if(m(e)){var i=(t=function(e){return e.slice(0,e.length-1)}(e).map(y)).length,a=y(F(e));return function(e){for(var n=0;n<t.length;n++)if(!t[n](e[n]))return!1;return function(e){for(var t=i;t<e.length;t++)if(!a(e[t]))return!1;return!0}(e)&&e.length>=i+1}}return 0===e.length?function(e){return 0===e.length}:1===e.length?(n=y(e[0]),function(e){return n(e[0])&&1===e.length}):2===e.length?(n=y(e[0]),r=y(e[1]),function(e){return n(e[0])&&r(e[1])&&2===e.length}):(t=e.map(y),function(e){for(var n=0;n<t.length;n++)if(!t[n](e[n]))return!1;return e.length===t.length})}function x(e,t){return t<e.params.length?e.params[t]:m(e.params)?F(e.params):null}function b(e,t,n){var r=x(e,t);return(r?n?r.types.filter(N):r.types:[]).map(w)}function w(e){return e.name}function N(e){return null===e.conversion||void 0===e.conversion}function E(e,t){var n=function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=!0;return Object.keys(t)}(W(e,function(e){return b(e,t,!1)}));return-1!==n.indexOf("any")?["any"]:n}function S(e,t,n){var r,i,a,o=e||"unnamed",s=n;for(a=0;a<t.length;a++){var u=s.filter(function(e){var n=y(x(e,a));return(a<e.params.length||m(e.params))&&n(t[a])});if(0===u.length){if((i=E(s,a)).length>0){var l=f(t[a]);return(r=new TypeError("Unexpected type of argument in function "+o+" (expected: "+i.join(" or ")+", actual: "+l+", index: "+a+")")).data={category:"wrongType",fn:o,index:a,actual:l,expected:i},r}}else s=u}var c=s.map(function(e){return m(e.params)?1/0:e.params.length});if(t.length<Math.min.apply(null,c))return i=E(s,a),(r=new TypeError("Too few arguments in function "+o+" (expected: "+i.join(" or ")+", index: "+t.length+")")).data={category:"tooFewArgs",fn:o,index:t.length,expected:i},r;var p=Math.max.apply(null,c);return t.length>p?((r=new TypeError("Too many arguments in function "+o+" (expected: "+p+", actual: "+t.length+")")).data={category:"tooManyArgs",fn:o,index:t.length,expectedLength:p},r):((r=new TypeError('Arguments of type "'+t.join(", ")+'" do not match any of the defined signatures of function '+o+".")).data={category:"mismatch",actual:t.map(f)},r)}function M(e){for(var t=999,n=0;n<e.types.length;n++)N(e.types[n])&&(t=Math.min(t,e.types[n].typeIndex));return t}function A(e){for(var t=999,n=0;n<e.types.length;n++)N(e.types[n])||(t=Math.min(t,e.types[n].conversionIndex));return t}function C(e,t){var n;return 0!==(n=e.restParam-t.restParam)||0!==(n=g(e)-g(t))||0!==(n=M(e)-M(t))?n:A(e)-A(t)}function O(e,t){var n,r,i=Math.min(e.params.length,t.params.length);if(0!==(r=e.params.some(g)-t.params.some(g)))return r;for(n=0;n<i;n++)if(0!==(r=g(e.params[n])-g(t.params[n])))return r;for(n=0;n<i;n++)if(0!==(r=C(e.params[n],t.params[n])))return r;return e.params.length-t.params.length}function k(e,t){var n=t;if(e.some(g)){var r=m(e),i=e.map(T);n=function(){for(var e=[],n=r?arguments.length-1:arguments.length,a=0;a<n;a++)e[a]=i[a](arguments[a]);return r&&(e[n]=arguments[n].map(i[n])),t.apply(this,e)}}var a=n;if(m(e)){var o=e.length-1;a=function(){return n.apply(this,U(arguments,0,o).concat([U(arguments,o)]))}}return a}function T(e){var t,n,r,i,a=[],o=[];switch(e.types.forEach(function(e){e.conversion&&(a.push(l(e.conversion.from).test),o.push(e.conversion.convert))}),o.length){case 0:return function(e){return e};case 1:return t=a[0],r=o[0],function(e){return t(e)?r(e):e};case 2:return t=a[0],n=a[1],r=o[0],i=o[1],function(e){return t(e)?r(e):n(e)?i(e):e};default:return function(e){for(var t=0;t<o.length;t++)if(a[t](e))return o[t](e);return e}}}function _(e){var t={};return e.forEach(function(e){e.params.some(g)||R(e.params,!0).forEach(function(n){t[p(n)]=e.fn})}),t}function R(e,t){return function e(n,r,i){if(r<n.length){var a,o=n[r],s=t?o.types.filter(N):o.types;if(o.restParam){var u=s.filter(N);a=u.length<s.length?[u,s]:[s]}else a=s.map(function(e){return[e]});return W(a,function(t){return e(n,r+1,i.concat([t]))})}return[i.map(function(e,t){return{types:e,restParam:t===n.length-1&&m(n)}})]}(e,0,[])}function D(e,t){for(var n=Math.max(e.params.length,t.params.length),r=0;r<n;r++)if(!V(b(e,r,!0),b(t,r,!0)))return!1;var i=e.params.length,a=t.params.length,o=m(e.params),s=m(t.params);return o?s?i===a:a>=i:s?i>=a:i===a}function I(e,r){if(0===Object.keys(r).length)throw new SyntaxError("No signatures provided");var i=[];Object.keys(r).map(function(e){return d(e,r[e],u.conversions)}).filter(j).forEach(function(e){var t=H(i,function(t){return D(t,e)});if(t)throw new TypeError('Conflicting signatures "'+p(t.params)+'" and "'+p(e.params)+'".');i.push(e)});var a=W(i,function(e){return(e?R(e.params,!1):[]).map(function(t){return{params:t,fn:e.fn}})}).filter(j);a.sort(O);var o=a[0]&&a[0].params.length<=2&&!m(a[0].params),s=a[1]&&a[1].params.length<=2&&!m(a[1].params),l=a[2]&&a[2].params.length<=2&&!m(a[2].params),c=a[3]&&a[3].params.length<=2&&!m(a[3].params),f=a[4]&&a[4].params.length<=2&&!m(a[4].params),h=a[5]&&a[5].params.length<=2&&!m(a[5].params),g=o&&s&&l&&c&&f&&h,x=a.map(function(e){return v(e.params)}),b=o?y(a[0].params[0]):t,w=s?y(a[1].params[0]):t,N=l?y(a[2].params[0]):t,E=c?y(a[3].params[0]):t,S=f?y(a[4].params[0]):t,M=h?y(a[5].params[0]):t,A=o?y(a[0].params[1]):t,C=s?y(a[1].params[1]):t,T=l?y(a[2].params[1]):t,I=c?y(a[3].params[1]):t,P=f?y(a[4].params[1]):t,q=h?y(a[5].params[1]):t,z=a.map(function(e){return k(e.params,e.fn)}),B=o?z[0]:n,L=s?z[1]:n,F=l?z[2]:n,U=c?z[3]:n,$=f?z[4]:n,V=h?z[5]:n,G=o?a[0].params.length:-1,Y=s?a[1].params.length:-1,Z=l?a[2].params.length:-1,J=c?a[3].params.length:-1,X=f?a[4].params.length:-1,K=h?a[5].params.length:-1,Q=g?6:0,ee=a.length,te=function(){for(var t=Q;t<ee;t++)if(x[t](arguments))return z[t].apply(this,arguments);return u.onMismatch(e,arguments,a)},ne=function e(t,n){return arguments.length===G&&b(t)&&A(n)?B.apply(e,arguments):arguments.length===Y&&w(t)&&C(n)?L.apply(e,arguments):arguments.length===Z&&N(t)&&T(n)?F.apply(e,arguments):arguments.length===J&&E(t)&&I(n)?U.apply(e,arguments):arguments.length===X&&S(t)&&P(n)?$.apply(e,arguments):arguments.length===K&&M(t)&&q(n)?V.apply(e,arguments):te.apply(e,arguments)};try{Object.defineProperty(ne,"name",{value:e})}catch(e){}return ne.signatures=_(a),ne}function P(e,t,n){throw S(e,t,n)}function q(e){return-1===u.ignore.indexOf(e)}function z(e){return e.trim()}function B(e){return!!e}function j(e){return null!==e}function L(e){return 0===e.types.length}function F(e){return e[e.length-1]}function U(e,t,n){return Array.prototype.slice.call(e,t,n)}function $(e,t){return-1!==e.indexOf(t)}function V(e,t){for(var n=0;n<e.length;n++)if($(t,e[n]))return!0;return!1}function H(e,t){for(var n=0;n<e.length;n++)if(t(e[n]))return e[n]}function W(e,t){return Array.prototype.concat.apply([],e.map(t))}function G(e){for(var t="",n=0;n<e.length;n++){var r=e[n];if(("object"==typeof r.signatures||"string"==typeof r.signature)&&""!==r.name)if(""===t)t=r.name;else if(t!==r.name){var i=new Error("Function names do not match (expected: "+t+", actual: "+r.name+")");throw i.data={actual:r.name,expected:t},i}}return t}function Y(e){var t,n={};function r(e,r){if(n.hasOwnProperty(e)&&r!==n[e])throw(t=new Error('Signature "'+e+'" is defined twice')).data={signature:e},t}for(var i=0;i<e.length;i++){var a=e[i];if("object"==typeof a.signatures)for(var o in a.signatures)a.signatures.hasOwnProperty(o)&&(r(o,a.signatures[o]),n[o]=a.signatures[o]);else{if("string"!=typeof a.signature)throw(t=new TypeError("Function is no typed-function (index: "+i+")")).data={index:i},t;r(a.signature,a),n[a.signature]=a}}return n}return u=I("typed",{"string, Object":I,Object:function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(e[n]);return I(G(t),e)},"...Function":function(e){return I(G(e),Y(e))},"string, ...Function":function(e,t){return I(e,Y(t))}}),u.create=r,u.types=i,u.conversions=s,u.ignore=o,u.onMismatch=P,u.throwMismatchError=P,u.createError=S,u.convert=function(e,t){var n=f(e);if(t===n)return e;for(var r=0;r<u.conversions.length;r++){var i=u.conversions[r];if(i.from===n&&i.to===t)return i.convert(e)}throw new Error("Cannot convert from "+n+" to "+t)},u.find=function(e,t){if(!e.signatures)throw new TypeError("Function is no typed-function");var n;if("string"==typeof t){n=t.split(",");for(var r=0;r<n.length;r++)n[r]=n[r].trim()}else{if(!Array.isArray(t))throw new TypeError("String array or a comma separated string expected");n=t}var i=n.join(","),a=e.signatures[i];if(a)return a;throw new TypeError("Signature not found (signature: "+(e.name||"unnamed")+"("+n.join(", ")+"))")},u.addType=function(e,t){if(!e||"string"!=typeof e.name||"function"!=typeof e.test)throw new TypeError("Object with properties {name: string, test: function} expected");if(!1!==t)for(var n=0;n<u.types.length;n++)if("Object"===u.types[n].name)return void u.types.splice(n,0,e);u.types.push(e)},u.addConversion=function(e){if(!e||"string"!=typeof e.from||"string"!=typeof e.to||"function"!=typeof e.convert)throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");u.conversions.push(e)},u}()}();var Mt=St.exports;function At(e){return"boolean"==typeof e||!!isFinite(e)&&e===Math.round(e)}var Ct=Math.sign||function(e){return e>0?1:e<0?-1:0},Ot=Math.log2||function(e){return Math.log(e)/Math.LN2},kt=Math.log10||function(e){return Math.log(e)/Math.LN10},Tt=Math.log1p||function(e){return Math.log(e+1)},_t=Math.cbrt||function(e){if(0===e)return e;var t,n=e<0;return n&&(e=-e),t=isFinite(e)?(e/((t=Math.exp(Math.log(e)/3))*t)+2*t)/3:e,n?-t:t},Rt=Math.expm1||function(e){return e>=2e-4||e<=-2e-4?Math.exp(e)-1:e+e*e/2+e*e*e/6};function Dt(e,t){if("function"==typeof t)return t(e);if(e===1/0)return"Infinity";if(e===-1/0)return"-Infinity";if(isNaN(e))return"NaN";var n,r="auto";switch(t&&(t.notation&&(r=t.notation),_e(t)?n=t:_e(t.precision)&&(n=t.precision)),r){case"fixed":return Pt(e,n);case"exponential":return qt(e,n);case"engineering":return function(e,t){if(isNaN(e)||!isFinite(e))return String(e);var n=zt(It(e),t),r=n.exponent,i=n.coefficients,a=r%3==0?r:r<0?r-3-r%3:r-r%3;if(_e(t))for(;t>i.length||r-a+1>i.length;)i.push(0);else for(var o=Math.abs(r-a)-(i.length-1),s=0;s<o;s++)i.push(0);for(var u=Math.abs(r-a),l=1;u>0;)l++,u--;var c=i.slice(l).join(""),f=_e(t)&&c.length||c.match(/[1-9]/)?"."+c:"",p=i.slice(0,l).join("")+f+"e"+(r>=0?"+":"")+a.toString();return n.sign+p}(e,n);case"auto":return function(e,t,n){if(isNaN(e)||!isFinite(e))return String(e);var r=n&&void 0!==n.lowerExp?n.lowerExp:-3,i=n&&void 0!==n.upperExp?n.upperExp:5,a=It(e),o=t?zt(a,t):a;if(o.exponent<r||o.exponent>=i)return qt(e,t);var s=o.coefficients,u=o.exponent;s.length<t&&(s=s.concat(Bt(t-s.length))),s=s.concat(Bt(u-s.length+1+(s.length<t?t-s.length:0)));var l=u>0?u:0;return l<(s=Bt(-u).concat(s)).length-1&&s.splice(l+1,0,"."),o.sign+s.join("")}(e,n,t&&t).replace(/((\.\d*?)(0+))($|e)/,function(){var e=arguments[2],t=arguments[4];return"."!==e?e+t:t});default:throw new Error('Unknown notation "'+r+'". Choose "auto", "exponential", or "fixed".')}}function It(e){var t=String(e).toLowerCase().match(/^0*?(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!t)throw new SyntaxError("Invalid number "+e);var n=t[1],r=t[2],i=parseFloat(t[4]||"0"),a=r.indexOf(".");i+=-1!==a?a-1:r.length-1;var o=r.replace(".","").replace(/^0*/,function(e){return i-=e.length,""}).replace(/0*$/,"").split("").map(function(e){return parseInt(e)});return 0===o.length&&(o.push(0),i++),{sign:n,coefficients:o,exponent:i}}function Pt(e,t){if(isNaN(e)||!isFinite(e))return String(e);var n=It(e),r="number"==typeof t?zt(n,n.exponent+1+t):n,i=r.coefficients,a=r.exponent+1,o=a+(t||0);return i.length<o&&(i=i.concat(Bt(o-i.length))),a<0&&(i=Bt(1-a).concat(i),a=1),a<i.length&&i.splice(a,0,0===a?"0.":"."),r.sign+i.join("")}function qt(e,t){if(isNaN(e)||!isFinite(e))return String(e);var n=It(e),r=t?zt(n,t):n,i=r.coefficients,a=r.exponent;i.length<t&&(i=i.concat(Bt(t-i.length)));var o=i.shift();return r.sign+o+(i.length>0?"."+i.join(""):"")+"e"+(a>=0?"+":"")+a}function zt(e,t){for(var n={sign:e.sign,coefficients:e.coefficients,exponent:e.exponent},r=n.coefficients;t<=0;)r.unshift(0),n.exponent++,t++;if(r.length>t&&r.splice(t,r.length-t)[0]>=5){var i=t-1;for(r[i]++;10===r[i];)r.pop(),0===i&&(r.unshift(0),n.exponent++,i++),r[--i]++}return n}function Bt(e){for(var t=[],n=0;n<e;n++)t.push(0);return t}var jt=Number.EPSILON||2220446049250313e-31;function Lt(e,t,n){if(null==n)return e===t;if(e===t)return!0;if(isNaN(e)||isNaN(t))return!1;if(isFinite(e)&&isFinite(t)){var r=Math.abs(e-t);return r<jt||r<=Math.max(Math.abs(e),Math.abs(t))*n}return!1}var Ft=Math.acosh||function(e){return Math.log(Math.sqrt(e*e-1)+e)},Ut=Math.asinh||function(e){return Math.log(Math.sqrt(e*e+1)+e)},$t=Math.atanh||function(e){return Math.log((1+e)/(1-e))/2},Vt=Math.cosh||function(e){return(Math.exp(e)+Math.exp(-e))/2},Ht=Math.sinh||function(e){return(Math.exp(e)-Math.exp(-e))/2},Wt=Math.tanh||function(e){var t=Math.exp(2*e);return(t-1)/(t+1)};function Gt(e,t){return void 0!==t?e.toExponential(t-1):e.toExponential()}function Yt(e){return Yt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yt(e)}function Zt(e,t){var n=e.length-t.length,r=e.length;return e.substring(n,r)===t}function Jt(e,t){return"number"==typeof e?Dt(e,t):Re(e)?function(e,t){if("function"==typeof t)return t(e);if(!e.isFinite())return e.isNaN()?"NaN":e.gt(0)?"Infinity":"-Infinity";var n,r="auto";switch(void 0!==t&&(t.notation&&(r=t.notation),"number"==typeof t?n=t:t.precision&&(n=t.precision)),r){case"fixed":return function(e,t){return e.toFixed(t)}(e,n);case"exponential":return Gt(e,n);case"engineering":return function(e,t){var n=e.e,r=n%3==0?n:n<0?n-3-n%3:n-n%3,i=e.mul(Math.pow(10,-r)),a=i.toPrecision(t);return-1!==a.indexOf("e")&&(a=i.toString()),a+"e"+(n>=0?"+":"")+r.toString()}(e,n);case"auto":var i=t&&void 0!==t.lowerExp?t.lowerExp:-3,a=t&&void 0!==t.upperExp?t.upperExp:5;if(e.isZero())return"0";var o=e.toSignificantDigits(n),s=o.e;return(s>=i&&s<a?o.toFixed():Gt(e,n)).replace(/((\.\d*?)(0+))($|e)/,function(){var e=arguments[2],t=arguments[4];return"."!==e?e+t:t});default:throw new Error('Unknown notation "'+r+'". Choose "auto", "exponential", or "fixed".')}}(e,t):function(e){return e&&"object"===Yt(e)&&"number"==typeof e.s&&"number"==typeof e.n&&"number"==typeof e.d||!1}(e)?t&&"decimal"===t.fraction?e.toString():e.s*e.n+"/"+e.d:Array.isArray(e)?Qt(e,t):qe(e)?'"'+e+'"':"function"==typeof e?e.syntax?String(e.syntax):"function":e&&"object"===Yt(e)?"function"==typeof e.format?e.format(t):e&&e.toString(t)!=={}.toString()?e.toString(t):"{"+Object.keys(e).map(function(n){return'"'+n+'": '+Jt(e[n],t)}).join(", ")+"}":String(e)}function Xt(e){for(var t=String(e),n="",r=0;r<t.length;){var i=t.charAt(r);"\\"===i?(n+=i,r++,""!==(i=t.charAt(r))&&-1!=='"\\/bfnrtu'.indexOf(i)||(n+="\\"),n+=i):n+='"'===i?'\\"':i,r++}return'"'+n+'"'}function Kt(e){var t=String(e);return t.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Qt(e,t){if(Array.isArray(e)){for(var n="[",r=e.length,i=0;i<r;i++)0!==i&&(n+=", "),n+=Qt(e[i],t);return n+"]"}return Jt(e,t)}function en(e,t){if(!qe(e))throw new TypeError("Unexpected type of argument in function compareText (expected: string or Array or Matrix, actual: "+mt(e)+", index: 0)");if(!qe(t))throw new TypeError("Unexpected type of argument in function compareText (expected: string or Array or Matrix, actual: "+mt(t)+", index: 1)");return e===t?0:e>t?1:-1}function tn(e,t,n){if(!(this instanceof tn))throw new SyntaxError("Constructor must be called with the new operator");this.actual=e,this.expected=t,this.relation=n,this.message="Dimension mismatch ("+(Array.isArray(e)?"["+e.join(", ")+"]":e)+" "+(this.relation||"!=")+" "+(Array.isArray(t)?"["+t.join(", ")+"]":t)+")",this.stack=(new Error).stack}function nn(e,t,n){if(!(this instanceof nn))throw new SyntaxError("Constructor must be called with the new operator");this.index=e,arguments.length<3?(this.min=0,this.max=t):(this.min=t,this.max=n),void 0!==this.min&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":void 0!==this.max&&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}function rn(e){for(var t=[];Array.isArray(e);)t.push(e.length),e=e[0];return t}function an(e,t,n){var r,i=e.length;if(i!==t[n])throw new tn(i,t[n]);if(n<t.length-1){var a=n+1;for(r=0;r<i;r++){var o=e[r];if(!Array.isArray(o))throw new tn(t.length-1,t.length,"<");an(e[r],t,a)}}else for(r=0;r<i;r++)if(Array.isArray(e[r]))throw new tn(t.length+1,t.length,">")}function on(e,t){if(0===t.length){if(Array.isArray(e))throw new tn(e.length,0)}else an(e,t,0)}function sn(e,t){if(!_e(e)||!At(e))throw new TypeError("Index must be an integer (value: "+e+")");if(e<0||"number"==typeof t&&e>=t)throw new nn(e,t)}function un(e,t,n){if(!Array.isArray(e)||!Array.isArray(t))throw new TypeError("Array expected");if(0===t.length)throw new Error("Resizing to scalar is not supported");return t.forEach(function(e){if(!_e(e)||!At(e)||e<0)throw new TypeError("Invalid size, must contain positive integers (size: "+Jt(t)+")")}),ln(e,t,0,void 0!==n?n:0),e}function ln(e,t,n,r){var i,a,o=e.length,s=t[n],u=Math.min(o,s);if(e.length=s,n<t.length-1){var l=n+1;for(i=0;i<u;i++)a=e[i],Array.isArray(a)||(a=[a],e[i]=a),ln(a,t,l,r);for(i=u;i<s;i++)a=[],e[i]=a,ln(a,t,l,r)}else{for(i=0;i<u;i++)for(;Array.isArray(e[i]);)e[i]=e[i][0];for(i=u;i<s;i++)e[i]=r}}function cn(e,t){var n,r=mn(e);function i(e){return e.reduce(function(e,t){return e*t})}if(!Array.isArray(e)||!Array.isArray(t))throw new TypeError("Array expected");if(0===t.length)throw new tn(0,i(rn(e)),"!=");for(var a=1,o=0;o<t.length;o++)a*=t[o];if(r.length!==a)throw new tn(i(t),i(rn(e)),"!=");try{n=function(e,t){for(var n,r=e,i=t.length-1;i>0;i--){var a=t[i];n=[];for(var o=r.length/a,s=0;s<o;s++)n.push(r.slice(s*a,(s+1)*a));r=n}return r}(r,t)}catch(n){if(n instanceof tn)throw new tn(i(t),i(rn(e)),"!=");throw n}return n}function fn(e,t){for(var n=t||rn(e);Array.isArray(e)&&1===e.length;)e=e[0],n.shift();for(var r=n.length;1===n[r-1];)r--;return r<n.length&&(e=pn(e,r,0),n.length=r),e}function pn(e,t,n){var r,i;if(n<t){var a=n+1;for(r=0,i=e.length;r<i;r++)e[r]=pn(e[r],t,a)}else for(;Array.isArray(e);)e=e[0];return e}function hn(e,t,n,r){var i=r||rn(e);if(n)for(var a=0;a<n;a++)e=[e],i.unshift(1);for(e=dn(e,t,0);i.length<t;)i.push(1);return e}function dn(e,t,n){var r,i;if(Array.isArray(e)){var a=n+1;for(r=0,i=e.length;r<i;r++)e[r]=dn(e[r],t,a)}else for(var o=n;o<t;o++)e=[e];return e}function mn(e){if(!Array.isArray(e))return e;var t=[];return e.forEach(function e(n){Array.isArray(n)?n.forEach(e):t.push(n)}),t}function gn(e,t){return Array.prototype.map.call(e,t)}function yn(e,t){Array.prototype.forEach.call(e,t)}function vn(e,t){if(1!==rn(e).length)throw new Error("Only one dimensional matrices supported");return Array.prototype.filter.call(e,t)}function xn(e,t){if(1!==rn(e).length)throw new Error("Only one dimensional matrices supported");return Array.prototype.filter.call(e,function(e){return t.test(e)})}function bn(e,t){return Array.prototype.join.call(e,t)}function wn(e){if(!Array.isArray(e))throw new TypeError("Array input expected");if(0===e.length)return e;var t=[],n=0;t[0]={value:e[0],identifier:0};for(var r=1;r<e.length;r++)e[r]===e[r-1]?n++:n=0,t.push({value:e[r],identifier:n});return t}function Nn(e){if(!Array.isArray(e))throw new TypeError("Array input expected");if(0===e.length)return e;for(var t=[],n=0;n<e.length;n++)t.push(e[n].value);return t}function En(e,t){for(var n,r=0,i=0;i<e.length;i++){var a=e[i],o=Array.isArray(a);if(0===i&&o&&(r=a.length),o&&a.length!==r)return;var s=o?En(a,t):t(a);if(void 0===n)n=s;else if(n!==s)return"mixed"}return n}function Sn(e,t,n,r){function i(r){var i=function(e,t){for(var n={},r=0;r<t.length;r++){var i=t[r],a=e[i];void 0!==a&&(n[i]=a)}return n}(r,t.map(Mn));return function(e,t,n){var r=t.filter(function(e){return!function(e){return e&&"?"===e[0]}(e)}).every(function(e){return void 0!==n[e]});if(!r){var i=t.filter(function(e){return void 0===n[e]});throw new Error('Cannot create function "'.concat(e,'", ')+"some dependencies are missing: ".concat(i.map(function(e){return'"'.concat(e,'"')}).join(", "),"."))}}(e,t,r),n(i)}return i.isFactory=!0,i.fn=e,i.dependencies=t.slice().sort(),r&&(i.meta=r),i}function Mn(e){return e&&"?"===e[0]?e.slice(1):e}tn.prototype=new RangeError,tn.prototype.constructor=RangeError,tn.prototype.name="DimensionError",tn.prototype.isDimensionError=!0,nn.prototype=new RangeError,nn.prototype.constructor=RangeError,nn.prototype.name="IndexError",nn.prototype.isIndexError=!0;var An=function(){return An=Mt.create,Mt},Cn=Sn("typed",["?BigNumber","?Complex","?DenseMatrix","?Fraction"],function(e){var t=e.BigNumber,n=e.Complex,r=e.DenseMatrix,i=e.Fraction,a=An();return a.types=[{name:"number",test:_e},{name:"Complex",test:De},{name:"BigNumber",test:Re},{name:"Fraction",test:Ie},{name:"Unit",test:Pe},{name:"string",test:qe},{name:"Chain",test:dt},{name:"Array",test:ze},{name:"Matrix",test:Be},{name:"DenseMatrix",test:Le},{name:"SparseMatrix",test:Fe},{name:"Range",test:Ue},{name:"Index",test:$e},{name:"boolean",test:Ve},{name:"ResultSet",test:He},{name:"Help",test:We},{name:"function",test:Ge},{name:"Date",test:Ye},{name:"RegExp",test:Ze},{name:"null",test:Xe},{name:"undefined",test:Ke},{name:"AccessorNode",test:Qe},{name:"ArrayNode",test:et},{name:"AssignmentNode",test:tt},{name:"BlockNode",test:nt},{name:"ConditionalNode",test:rt},{name:"ConstantNode",test:it},{name:"FunctionNode",test:ot},{name:"FunctionAssignmentNode",test:at},{name:"IndexNode",test:st},{name:"Node",test:ut},{name:"ObjectNode",test:lt},{name:"OperatorNode",test:ct},{name:"ParenthesisNode",test:ft},{name:"RangeNode",test:pt},{name:"SymbolNode",test:ht},{name:"Object",test:Je}],a.conversions=[{from:"number",to:"BigNumber",convert:function(e){if(t||On(e),e.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+e+"). Use function bignumber(x) to convert to BigNumber.");return new t(e)}},{from:"number",to:"Complex",convert:function(e){return n||kn(e),new n(e,0)}},{from:"number",to:"string",convert:function(e){return e+""}},{from:"BigNumber",to:"Complex",convert:function(e){return n||kn(e),new n(e.toNumber(),0)}},{from:"Fraction",to:"BigNumber",convert:function(e){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(e){return n||kn(e),new n(e.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(e){i||Tn(e);var t=new i(e);if(t.valueOf()!==e)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+e+"). Use function fraction(x) to convert to Fraction.");return t}},{from:"string",to:"number",convert:function(e){var t=Number(e);if(isNaN(t))throw new Error('Cannot convert "'+e+'" to a number');return t}},{from:"string",to:"BigNumber",convert:function(e){t||On(e);try{return new t(e)}catch(t){throw new Error('Cannot convert "'+e+'" to BigNumber')}}},{from:"string",to:"Fraction",convert:function(e){i||Tn(e);try{return new i(e)}catch(t){throw new Error('Cannot convert "'+e+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(e){n||kn(e);try{return new n(e)}catch(t){throw new Error('Cannot convert "'+e+'" to Complex')}}},{from:"boolean",to:"number",convert:function(e){return+e}},{from:"boolean",to:"BigNumber",convert:function(e){return t||On(e),new t(+e)}},{from:"boolean",to:"Fraction",convert:function(e){return i||Tn(e),new i(+e)}},{from:"boolean",to:"string",convert:function(e){return String(e)}},{from:"Array",to:"Matrix",convert:function(e){return r||function(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}(),new r(e)}},{from:"Matrix",to:"Array",convert:function(e){return e.valueOf()}}],a});function On(e){throw new Error("Cannot convert value ".concat(e," into a BigNumber: no class 'BigNumber' provided"))}function kn(e){throw new Error("Cannot convert value ".concat(e," into a Complex number: no class 'Complex' provided"))}function Tn(e){throw new Error("Cannot convert value ".concat(e," into a Fraction, no class 'Fraction' provided."))}var _n,Rn,Dn=Sn("ResultSet",[],function(){function e(t){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator");this.entries=t||[]}return e.prototype.type="ResultSet",e.prototype.isResultSet=!0,e.prototype.valueOf=function(){return this.entries},e.prototype.toString=function(){return"["+this.entries.join(", ")+"]"},e.prototype.toJSON=function(){return{mathjs:"ResultSet",entries:this.entries}},e.fromJSON=function(t){return new e(t.entries)},e},{isClass:!0}),In=9e15,Pn=1e9,qn="0123456789abcdef",zn="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Bn="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",jn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-In,maxE:In,crypto:!1},Ln=!0,Fn="[DecimalError] ",Un=Fn+"Invalid argument: ",$n=Fn+"Precision limit exceeded",Vn=Fn+"crypto unavailable",Hn="[object Decimal]",Wn=Math.floor,Gn=Math.pow,Yn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Zn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Jn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Xn=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Kn=1e7,Qn=zn.length-1,er=Bn.length-1,tr={toStringTag:Hn};function nr(e){var t,n,r,i=e.length-1,a="",o=e[0];if(i>0){for(a+=o,t=1;t<i;t++)(n=7-(r=e[t]+"").length)&&(a+=hr(n)),a+=r;(n=7-(r=(o=e[t])+"").length)&&(a+=hr(n))}else if(0===o)return"0";for(;o%10==0;)o/=10;return a+o}function rr(e,t,n){if(e!==~~e||e<t||e>n)throw Error(Un+e)}function ir(e,t,n,r){var i,a,o,s;for(a=e[0];a>=10;a/=10)--t;return--t<0?(t+=7,i=0):(i=Math.ceil((t+1)/7),t%=7),a=Gn(10,7-t),s=e[i]%a|0,null==r?t<3?(0==t?s=s/100|0:1==t&&(s=s/10|0),o=n<4&&99999==s||n>3&&49999==s||5e4==s||0==s):o=(n<4&&s+1==a||n>3&&s+1==a/2)&&(e[i+1]/a/100|0)==Gn(10,t-2)-1||(s==a/2||0==s)&&!(e[i+1]/a/100|0):t<4?(0==t?s=s/1e3|0:1==t?s=s/100|0:2==t&&(s=s/10|0),o=(r||n<4)&&9999==s||!r&&n>3&&4999==s):o=((r||n<4)&&s+1==a||!r&&n>3&&s+1==a/2)&&(e[i+1]/a/1e3|0)==Gn(10,t-3)-1,o}function ar(e,t,n){for(var r,i,a=[0],o=0,s=e.length;o<s;){for(i=a.length;i--;)a[i]*=t;for(a[0]+=qn.indexOf(e.charAt(o++)),r=0;r<a.length;r++)a[r]>n-1&&(void 0===a[r+1]&&(a[r+1]=0),a[r+1]+=a[r]/n|0,a[r]%=n)}return a.reverse()}tr.absoluteValue=tr.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),sr(e)},tr.ceil=function(){return sr(new this.constructor(this),this.e+1,2)},tr.clampedTo=tr.clamp=function(e,t){var n=this,r=n.constructor;if(e=new r(e),t=new r(t),!e.s||!t.s)return new r(NaN);if(e.gt(t))throw Error(Un+t);return n.cmp(e)<0?e:n.cmp(t)>0?t:new r(n)},tr.comparedTo=tr.cmp=function(e){var t,n,r,i,a=this,o=a.d,s=(e=new a.constructor(e)).d,u=a.s,l=e.s;if(!o||!s)return u&&l?u!==l?u:o===s?0:!o^u<0?1:-1:NaN;if(!o[0]||!s[0])return o[0]?u:s[0]?-l:0;if(u!==l)return u;if(a.e!==e.e)return a.e>e.e^u<0?1:-1;for(t=0,n=(r=o.length)<(i=s.length)?r:i;t<n;++t)if(o[t]!==s[t])return o[t]>s[t]^u<0?1:-1;return r===i?0:r>i^u<0?1:-1},tr.cosine=tr.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+7,r.rounding=1,n=function(e,t){var n,r,i;if(t.isZero())return t;(r=t.d.length)<32?i=(1/Nr(4,n=Math.ceil(r/3))).toString():(n=16,i="2.3283064365386962890625e-10"),e.precision+=n,t=wr(e,1,t.times(i),new e(1));for(var a=n;a--;){var o=t.times(t);t=o.times(o).minus(o).times(8).plus(1)}return e.precision-=n,t}(r,Er(r,n)),r.precision=e,r.rounding=t,sr(2==Rn||3==Rn?n.neg():n,e,t,!0)):new r(1):new r(NaN)},tr.cubeRoot=tr.cbrt=function(){var e,t,n,r,i,a,o,s,u,l,c=this,f=c.constructor;if(!c.isFinite()||c.isZero())return new f(c);for(Ln=!1,(a=c.s*Gn(c.s*c,1/3))&&Math.abs(a)!=1/0?r=new f(a.toString()):(n=nr(c.d),(a=((e=c.e)-n.length+1)%3)&&(n+=1==a||-2==a?"0":"00"),a=Gn(n,1/3),e=Wn((e+1)/3)-(e%3==(e<0?-1:2)),(r=new f(n=a==1/0?"5e"+e:(n=a.toExponential()).slice(0,n.indexOf("e")+1)+e)).s=c.s),o=(e=f.precision)+3;;)if(l=(u=(s=r).times(s).times(s)).plus(c),r=or(l.plus(c).times(s),l.plus(u),o+2,1),nr(s.d).slice(0,o)===(n=nr(r.d)).slice(0,o)){if("9999"!=(n=n.slice(o-3,o+1))&&(i||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(sr(r,e+1,1),t=!r.times(r).times(r).eq(c));break}if(!i&&(sr(s,e+1,0),s.times(s).times(s).eq(c))){r=s;break}o+=4,i=1}return Ln=!0,sr(r,e,f.rounding,t)},tr.decimalPlaces=tr.dp=function(){var e,t=this.d,n=NaN;if(t){if(n=7*((e=t.length-1)-Wn(this.e/7)),e=t[e])for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n},tr.dividedBy=tr.div=function(e){return or(this,new this.constructor(e))},tr.dividedToIntegerBy=tr.divToInt=function(e){var t=this.constructor;return sr(or(this,new t(e),0,1,1),t.precision,t.rounding)},tr.equals=tr.eq=function(e){return 0===this.cmp(e)},tr.floor=function(){return sr(new this.constructor(this),this.e+1,3)},tr.greaterThan=tr.gt=function(e){return this.cmp(e)>0},tr.greaterThanOrEqualTo=tr.gte=function(e){var t=this.cmp(e);return 1==t||0===t},tr.hyperbolicCosine=tr.cosh=function(){var e,t,n,r,i,a=this,o=a.constructor,s=new o(1);if(!a.isFinite())return new o(a.s?1/0:NaN);if(a.isZero())return s;n=o.precision,r=o.rounding,o.precision=n+Math.max(a.e,a.sd())+4,o.rounding=1,(i=a.d.length)<32?t=(1/Nr(4,e=Math.ceil(i/3))).toString():(e=16,t="2.3283064365386962890625e-10"),a=wr(o,1,a.times(t),new o(1),!0);for(var u,l=e,c=new o(8);l--;)u=a.times(a),a=s.minus(u.times(c.minus(u.times(c))));return sr(a,o.precision=n,o.rounding=r,!0)},tr.hyperbolicSine=tr.sinh=function(){var e,t,n,r,i=this,a=i.constructor;if(!i.isFinite()||i.isZero())return new a(i);if(t=a.precision,n=a.rounding,a.precision=t+Math.max(i.e,i.sd())+4,a.rounding=1,(r=i.d.length)<3)i=wr(a,2,i,i,!0);else{e=(e=1.4*Math.sqrt(r))>16?16:0|e,i=wr(a,2,i=i.times(1/Nr(5,e)),i,!0);for(var o,s=new a(5),u=new a(16),l=new a(20);e--;)o=i.times(i),i=i.times(s.plus(o.times(u.times(o).plus(l))))}return a.precision=t,a.rounding=n,sr(i,t,n,!0)},tr.hyperbolicTangent=tr.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,or(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)},tr.inverseCosine=tr.acos=function(){var e=this,t=e.constructor,n=e.abs().cmp(1),r=t.precision,i=t.rounding;return-1!==n?0===n?e.isNeg()?fr(t,r,i):new t(0):new t(NaN):e.isZero()?fr(t,r+4,i).times(.5):(t.precision=r+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=r,t.rounding=i,e.times(2))},tr.inverseHyperbolicCosine=tr.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,Ln=!1,n=n.times(n).minus(1).sqrt().plus(n),Ln=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)},tr.inverseHyperbolicSine=tr.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,Ln=!1,n=n.times(n).plus(1).sqrt().plus(n),Ln=!0,r.precision=e,r.rounding=t,n.ln())},tr.inverseHyperbolicTangent=tr.atanh=function(){var e,t,n,r,i=this,a=i.constructor;return i.isFinite()?i.e>=0?new a(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=a.precision,t=a.rounding,r=i.sd(),Math.max(r,e)<2*-i.e-1?sr(new a(i),e,t,!0):(a.precision=n=r-i.e,i=or(i.plus(1),new a(1).minus(i),n+e,1),a.precision=e+4,a.rounding=1,i=i.ln(),a.precision=e,a.rounding=t,i.times(.5))):new a(NaN)},tr.inverseSine=tr.asin=function(){var e,t,n,r,i=this,a=i.constructor;return i.isZero()?new a(i):(t=i.abs().cmp(1),n=a.precision,r=a.rounding,-1!==t?0===t?((e=fr(a,n+4,r).times(.5)).s=i.s,e):new a(NaN):(a.precision=n+6,a.rounding=1,i=i.div(new a(1).minus(i.times(i)).sqrt().plus(1)).atan(),a.precision=n,a.rounding=r,i.times(2)))},tr.inverseTangent=tr.atan=function(){var e,t,n,r,i,a,o,s,u,l=this,c=l.constructor,f=c.precision,p=c.rounding;if(l.isFinite()){if(l.isZero())return new c(l);if(l.abs().eq(1)&&f+4<=er)return(o=fr(c,f+4,p).times(.25)).s=l.s,o}else{if(!l.s)return new c(NaN);if(f+4<=er)return(o=fr(c,f+4,p).times(.5)).s=l.s,o}for(c.precision=s=f+10,c.rounding=1,e=n=Math.min(28,s/7+2|0);e;--e)l=l.div(l.times(l).plus(1).sqrt().plus(1));for(Ln=!1,t=Math.ceil(s/7),r=1,u=l.times(l),o=new c(l),i=l;-1!==e;)if(i=i.times(u),a=o.minus(i.div(r+=2)),i=i.times(u),void 0!==(o=a.plus(i.div(r+=2))).d[t])for(e=t;o.d[e]===a.d[e]&&e--;);return n&&(o=o.times(2<<n-1)),Ln=!0,sr(o,c.precision=f,c.rounding=p,!0)},tr.isFinite=function(){return!!this.d},tr.isInteger=tr.isInt=function(){return!!this.d&&Wn(this.e/7)>this.d.length-2},tr.isNaN=function(){return!this.s},tr.isNegative=tr.isNeg=function(){return this.s<0},tr.isPositive=tr.isPos=function(){return this.s>0},tr.isZero=function(){return!!this.d&&0===this.d[0]},tr.lessThan=tr.lt=function(e){return this.cmp(e)<0},tr.lessThanOrEqualTo=tr.lte=function(e){return this.cmp(e)<1},tr.logarithm=tr.log=function(e){var t,n,r,i,a,o,s,u,l=this,c=l.constructor,f=c.precision,p=c.rounding;if(null==e)e=new c(10),t=!0;else{if(n=(e=new c(e)).d,e.s<0||!n||!n[0]||e.eq(1))return new c(NaN);t=e.eq(10)}if(n=l.d,l.s<0||!n||!n[0]||l.eq(1))return new c(n&&!n[0]?-1/0:1!=l.s?NaN:n?0:1/0);if(t)if(n.length>1)a=!0;else{for(i=n[0];i%10==0;)i/=10;a=1!==i}if(Ln=!1,o=vr(l,s=f+5),r=t?cr(c,s+10):vr(e,s),ir((u=or(o,r,s,1)).d,i=f,p))do{if(o=vr(l,s+=10),r=t?cr(c,s+10):vr(e,s),u=or(o,r,s,1),!a){+nr(u.d).slice(i+1,i+15)+1==1e14&&(u=sr(u,f+1,0));break}}while(ir(u.d,i+=10,p));return Ln=!0,sr(u,f,p)},tr.minus=tr.sub=function(e){var t,n,r,i,a,o,s,u,l,c,f,p,h=this,d=h.constructor;if(e=new d(e),!h.d||!e.d)return h.s&&e.s?h.d?e.s=-e.s:e=new d(e.d||h.s!==e.s?h:NaN):e=new d(NaN),e;if(h.s!=e.s)return e.s=-e.s,h.plus(e);if(l=h.d,p=e.d,s=d.precision,u=d.rounding,!l[0]||!p[0]){if(p[0])e.s=-e.s;else{if(!l[0])return new d(3===u?-0:0);e=new d(h)}return Ln?sr(e,s,u):e}if(n=Wn(e.e/7),c=Wn(h.e/7),l=l.slice(),a=c-n){for((f=a<0)?(t=l,a=-a,o=p.length):(t=p,n=c,o=l.length),a>(r=Math.max(Math.ceil(s/7),o)+2)&&(a=r,t.length=1),t.reverse(),r=a;r--;)t.push(0);t.reverse()}else{for((f=(r=l.length)<(o=p.length))&&(o=r),r=0;r<o;r++)if(l[r]!=p[r]){f=l[r]<p[r];break}a=0}for(f&&(t=l,l=p,p=t,e.s=-e.s),o=l.length,r=p.length-o;r>0;--r)l[o++]=0;for(r=p.length;r>a;){if(l[--r]<p[r]){for(i=r;i&&0===l[--i];)l[i]=Kn-1;--l[i],l[r]+=Kn}l[r]-=p[r]}for(;0===l[--o];)l.pop();for(;0===l[0];l.shift())--n;return l[0]?(e.d=l,e.e=lr(l,n),Ln?sr(e,s,u):e):new d(3===u?-0:0)},tr.modulo=tr.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?sr(new r(n),r.precision,r.rounding):(Ln=!1,9==r.modulo?(t=or(n,e.abs(),0,3,1)).s*=e.s:t=or(n,e,0,r.modulo,1),t=t.times(e),Ln=!0,n.minus(t))},tr.naturalExponential=tr.exp=function(){return yr(this)},tr.naturalLogarithm=tr.ln=function(){return vr(this)},tr.negated=tr.neg=function(){var e=new this.constructor(this);return e.s=-e.s,sr(e)},tr.plus=tr.add=function(e){var t,n,r,i,a,o,s,u,l,c,f=this,p=f.constructor;if(e=new p(e),!f.d||!e.d)return f.s&&e.s?f.d||(e=new p(e.d||f.s===e.s?f:NaN)):e=new p(NaN),e;if(f.s!=e.s)return e.s=-e.s,f.minus(e);if(l=f.d,c=e.d,s=p.precision,u=p.rounding,!l[0]||!c[0])return c[0]||(e=new p(f)),Ln?sr(e,s,u):e;if(a=Wn(f.e/7),r=Wn(e.e/7),l=l.slice(),i=a-r){for(i<0?(n=l,i=-i,o=c.length):(n=c,r=a,o=l.length),i>(o=(a=Math.ceil(s/7))>o?a+1:o+1)&&(i=o,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for((o=l.length)-(i=c.length)<0&&(i=o,n=c,c=l,l=n),t=0;i;)t=(l[--i]=l[i]+c[i]+t)/Kn|0,l[i]%=Kn;for(t&&(l.unshift(t),++r),o=l.length;0==l[--o];)l.pop();return e.d=l,e.e=lr(l,r),Ln?sr(e,s,u):e},tr.precision=tr.sd=function(e){var t,n=this;if(void 0!==e&&e!==!!e&&1!==e&&0!==e)throw Error(Un+e);return n.d?(t=pr(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t},tr.round=function(){var e=this,t=e.constructor;return sr(new t(e),e.e+1,t.rounding)},tr.sine=tr.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+7,r.rounding=1,n=function(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:wr(e,2,t,t);n=(n=1.4*Math.sqrt(r))>16?16:0|n,t=wr(e,2,t=t.times(1/Nr(5,n)),t);for(var i,a=new e(5),o=new e(16),s=new e(20);n--;)i=t.times(t),t=t.times(a.plus(i.times(o.times(i).minus(s))));return t}(r,Er(r,n)),r.precision=e,r.rounding=t,sr(Rn>2?n.neg():n,e,t,!0)):new r(NaN)},tr.squareRoot=tr.sqrt=function(){var e,t,n,r,i,a,o=this,s=o.d,u=o.e,l=o.s,c=o.constructor;if(1!==l||!s||!s[0])return new c(!l||l<0&&(!s||s[0])?NaN:s?o:1/0);for(Ln=!1,0==(l=Math.sqrt(+o))||l==1/0?(((t=nr(s)).length+u)%2==0&&(t+="0"),l=Math.sqrt(t),u=Wn((u+1)/2)-(u<0||u%2),r=new c(t=l==1/0?"5e"+u:(t=l.toExponential()).slice(0,t.indexOf("e")+1)+u)):r=new c(l.toString()),n=(u=c.precision)+3;;)if(r=(a=r).plus(or(o,a,n+2,1)).times(.5),nr(a.d).slice(0,n)===(t=nr(r.d)).slice(0,n)){if("9999"!=(t=t.slice(n-3,n+1))&&(i||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(sr(r,u+1,1),e=!r.times(r).eq(o));break}if(!i&&(sr(a,u+1,0),a.times(a).eq(o))){r=a;break}n+=4,i=1}return Ln=!0,sr(r,u,c.rounding,e)},tr.tangent=tr.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,(n=n.sin()).s=1,n=or(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,sr(2==Rn||4==Rn?n.neg():n,e,t,!0)):new r(NaN)},tr.times=tr.mul=function(e){var t,n,r,i,a,o,s,u,l,c=this,f=c.constructor,p=c.d,h=(e=new f(e)).d;if(e.s*=c.s,!(p&&p[0]&&h&&h[0]))return new f(!e.s||p&&!p[0]&&!h||h&&!h[0]&&!p?NaN:p&&h?0*e.s:e.s/0);for(n=Wn(c.e/7)+Wn(e.e/7),(u=p.length)<(l=h.length)&&(a=p,p=h,h=a,o=u,u=l,l=o),a=[],r=o=u+l;r--;)a.push(0);for(r=l;--r>=0;){for(t=0,i=u+r;i>r;)s=a[i]+h[r]*p[i-r-1]+t,a[i--]=s%Kn|0,t=s/Kn|0;a[i]=(a[i]+t)%Kn|0}for(;!a[--o];)a.pop();return t?++n:a.shift(),e.d=a,e.e=lr(a,n),Ln?sr(e,f.precision,f.rounding):e},tr.toBinary=function(e,t){return Sr(this,2,e,t)},tr.toDecimalPlaces=tr.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),void 0===e?n:(rr(e,0,Pn),void 0===t?t=r.rounding:rr(t,0,8),sr(n,e+n.e+1,t))},tr.toExponential=function(e,t){var n,r=this,i=r.constructor;return void 0===e?n=ur(r,!0):(rr(e,0,Pn),void 0===t?t=i.rounding:rr(t,0,8),n=ur(r=sr(new i(r),e+1,t),!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n},tr.toFixed=function(e,t){var n,r,i=this,a=i.constructor;return void 0===e?n=ur(i):(rr(e,0,Pn),void 0===t?t=a.rounding:rr(t,0,8),n=ur(r=sr(new a(i),e+i.e+1,t),!1,e+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n},tr.toFraction=function(e){var t,n,r,i,a,o,s,u,l,c,f,p,h=this,d=h.d,m=h.constructor;if(!d)return new m(h);if(l=n=new m(1),r=u=new m(0),o=(a=(t=new m(r)).e=pr(d)-h.e-1)%7,t.d[0]=Gn(10,o<0?7+o:o),null==e)e=a>0?t:l;else{if(!(s=new m(e)).isInt()||s.lt(l))throw Error(Un+s);e=s.gt(t)?a>0?t:l:s}for(Ln=!1,s=new m(nr(d)),c=m.precision,m.precision=a=7*d.length*2;f=or(s,t,0,1,1),1!=(i=n.plus(f.times(r))).cmp(e);)n=r,r=i,i=l,l=u.plus(f.times(i)),u=i,i=t,t=s.minus(f.times(i)),s=i;return i=or(e.minus(n),r,0,1,1),u=u.plus(i.times(l)),n=n.plus(i.times(r)),u.s=l.s=h.s,p=or(l,r,a,1).minus(h).abs().cmp(or(u,n,a,1).minus(h).abs())<1?[l,r]:[u,n],m.precision=c,Ln=!0,p},tr.toHexadecimal=tr.toHex=function(e,t){return Sr(this,16,e,t)},tr.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),null==e){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),void 0===t?t=r.rounding:rr(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(Ln=!1,n=or(n,e,0,t,1).times(e),Ln=!0,sr(n)):(e.s=n.s,n=e),n},tr.toNumber=function(){return+this},tr.toOctal=function(e,t){return Sr(this,8,e,t)},tr.toPower=tr.pow=function(e){var t,n,r,i,a,o,s=this,u=s.constructor,l=+(e=new u(e));if(!(s.d&&e.d&&s.d[0]&&e.d[0]))return new u(Gn(+s,l));if((s=new u(s)).eq(1))return s;if(r=u.precision,a=u.rounding,e.eq(1))return sr(s,r,a);if((t=Wn(e.e/7))>=e.d.length-1&&(n=l<0?-l:l)<=9007199254740991)return i=dr(u,s,n,r),e.s<0?new u(1).div(i):sr(i,r,a);if((o=s.s)<0){if(t<e.d.length-1)return new u(NaN);if(1&e.d[t]||(o=1),0==s.e&&1==s.d[0]&&1==s.d.length)return s.s=o,s}return(t=0!=(n=Gn(+s,l))&&isFinite(n)?new u(n+"").e:Wn(l*(Math.log("0."+nr(s.d))/Math.LN10+s.e+1)))>u.maxE+1||t<u.minE-1?new u(t>0?o/0:0):(Ln=!1,u.rounding=s.s=1,n=Math.min(12,(t+"").length),(i=yr(e.times(vr(s,r+n)),r)).d&&ir((i=sr(i,r+5,1)).d,r,a)&&(t=r+10,+nr((i=sr(yr(e.times(vr(s,t+n)),t),t+5,1)).d).slice(r+1,r+15)+1==1e14&&(i=sr(i,r+1,0))),i.s=o,Ln=!0,u.rounding=a,sr(i,r,a))},tr.toPrecision=function(e,t){var n,r=this,i=r.constructor;return void 0===e?n=ur(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(rr(e,1,Pn),void 0===t?t=i.rounding:rr(t,0,8),n=ur(r=sr(new i(r),e,t),e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n},tr.toSignificantDigits=tr.toSD=function(e,t){var n=this.constructor;return void 0===e?(e=n.precision,t=n.rounding):(rr(e,1,Pn),void 0===t?t=n.rounding:rr(t,0,8)),sr(new n(this),e,t)},tr.toString=function(){var e=this,t=e.constructor,n=ur(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n},tr.truncated=tr.trunc=function(){return sr(new this.constructor(this),this.e+1,1)},tr.valueOf=tr.toJSON=function(){var e=this,t=e.constructor,n=ur(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};var or=function(){function e(e,t,n){var r,i=0,a=e.length;for(e=e.slice();a--;)r=e[a]*t+i,e[a]=r%n|0,i=r/n|0;return i&&e.unshift(i),e}function t(e,t,n,r){var i,a;if(n!=r)a=n>r?1:-1;else for(i=a=0;i<n;i++)if(e[i]!=t[i]){a=e[i]>t[i]?1:-1;break}return a}function n(e,t,n,r){for(var i=0;n--;)e[n]-=i,i=e[n]<t[n]?1:0,e[n]=i*r+e[n]-t[n];for(;!e[0]&&e.length>1;)e.shift()}return function(r,i,a,o,s,u){var l,c,f,p,h,d,m,g,y,v,x,b,w,N,E,S,M,A,C,O,k=r.constructor,T=r.s==i.s?1:-1,_=r.d,R=i.d;if(!(_&&_[0]&&R&&R[0]))return new k(r.s&&i.s&&(_?!R||_[0]!=R[0]:R)?_&&0==_[0]||!R?0*T:T/0:NaN);for(u?(h=1,c=r.e-i.e):(u=Kn,h=7,c=Wn(r.e/h)-Wn(i.e/h)),C=R.length,M=_.length,v=(y=new k(T)).d=[],f=0;R[f]==(_[f]||0);f++);if(R[f]>(_[f]||0)&&c--,null==a?(N=a=k.precision,o=k.rounding):N=s?a+(r.e-i.e)+1:a,N<0)v.push(1),d=!0;else{if(N=N/h+2|0,f=0,1==C){for(p=0,R=R[0],N++;(f<M||p)&&N--;f++)E=p*u+(_[f]||0),v[f]=E/R|0,p=E%R|0;d=p||f<M}else{for((p=u/(R[0]+1)|0)>1&&(R=e(R,p,u),_=e(_,p,u),C=R.length,M=_.length),S=C,b=(x=_.slice(0,C)).length;b<C;)x[b++]=0;(O=R.slice()).unshift(0),A=R[0],R[1]>=u/2&&++A;do{p=0,(l=t(R,x,C,b))<0?(w=x[0],C!=b&&(w=w*u+(x[1]||0)),(p=w/A|0)>1?(p>=u&&(p=u-1),1==(l=t(m=e(R,p,u),x,g=m.length,b=x.length))&&(p--,n(m,C<g?O:R,g,u))):(0==p&&(l=p=1),m=R.slice()),(g=m.length)<b&&m.unshift(0),n(x,m,b,u),-1==l&&(l=t(R,x,C,b=x.length))<1&&(p++,n(x,C<b?O:R,b,u)),b=x.length):0===l&&(p++,x=[0]),v[f++]=p,l&&x[0]?x[b++]=_[S]||0:(x=[_[S]],b=1)}while((S++<M||void 0!==x[0])&&N--);d=void 0!==x[0]}v[0]||v.shift()}if(1==h)y.e=c,_n=d;else{for(f=1,p=v[0];p>=10;p/=10)f++;y.e=f+c*h-1,sr(y,s?a+y.e+1:a,o,d)}return y}}();function sr(e,t,n,r){var i,a,o,s,u,l,c,f,p,h=e.constructor;e:if(null!=t){if(!(f=e.d))return e;for(i=1,s=f[0];s>=10;s/=10)i++;if((a=t-i)<0)a+=7,o=t,u=(c=f[p=0])/Gn(10,i-o-1)%10|0;else if((p=Math.ceil((a+1)/7))>=(s=f.length)){if(!r)break e;for(;s++<=p;)f.push(0);c=u=0,i=1,o=(a%=7)-7+1}else{for(c=s=f[p],i=1;s>=10;s/=10)i++;u=(o=(a%=7)-7+i)<0?0:c/Gn(10,i-o-1)%10|0}if(r=r||t<0||void 0!==f[p+1]||(o<0?c:c%Gn(10,i-o-1)),l=n<4?(u||r)&&(0==n||n==(e.s<0?3:2)):u>5||5==u&&(4==n||r||6==n&&(a>0?o>0?c/Gn(10,i-o):0:f[p-1])%10&1||n==(e.s<0?8:7)),t<1||!f[0])return f.length=0,l?(t-=e.e+1,f[0]=Gn(10,(7-t%7)%7),e.e=-t||0):f[0]=e.e=0,e;if(0==a?(f.length=p,s=1,p--):(f.length=p+1,s=Gn(10,7-a),f[p]=o>0?(c/Gn(10,i-o)%Gn(10,o)|0)*s:0),l)for(;;){if(0==p){for(a=1,o=f[0];o>=10;o/=10)a++;for(o=f[0]+=s,s=1;o>=10;o/=10)s++;a!=s&&(e.e++,f[0]==Kn&&(f[0]=1));break}if(f[p]+=s,f[p]!=Kn)break;f[p--]=0,s=1}for(a=f.length;0===f[--a];)f.pop()}return Ln&&(e.e>h.maxE?(e.d=null,e.e=NaN):e.e<h.minE&&(e.e=0,e.d=[0])),e}function ur(e,t,n){if(!e.isFinite())return xr(e);var r,i=e.e,a=nr(e.d),o=a.length;return t?(n&&(r=n-o)>0?a=a.charAt(0)+"."+a.slice(1)+hr(r):o>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(e.e<0?"e":"e+")+e.e):i<0?(a="0."+hr(-i-1)+a,n&&(r=n-o)>0&&(a+=hr(r))):i>=o?(a+=hr(i+1-o),n&&(r=n-i-1)>0&&(a=a+"."+hr(r))):((r=i+1)<o&&(a=a.slice(0,r)+"."+a.slice(r)),n&&(r=n-o)>0&&(i+1===o&&(a+="."),a+=hr(r))),a}function lr(e,t){var n=e[0];for(t*=7;n>=10;n/=10)t++;return t}function cr(e,t,n){if(t>Qn)throw Ln=!0,n&&(e.precision=n),Error($n);return sr(new e(zn),t,1,!0)}function fr(e,t,n){if(t>er)throw Error($n);return sr(new e(Bn),t,n,!0)}function pr(e){var t=e.length-1,n=7*t+1;if(t=e[t]){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function hr(e){for(var t="";e--;)t+="0";return t}function dr(e,t,n,r){var i,a=new e(1),o=Math.ceil(r/7+4);for(Ln=!1;;){if(n%2&&Mr((a=a.times(t)).d,o)&&(i=!0),0===(n=Wn(n/2))){n=a.d.length-1,i&&0===a.d[n]&&++a.d[n];break}Mr((t=t.times(t)).d,o)}return Ln=!0,a}function mr(e){return 1&e.d[e.d.length-1]}function gr(e,t,n){for(var r,i,a=new e(t[0]),o=0;++o<t.length;){if(!(i=new e(t[o])).s){a=i;break}((r=a.cmp(i))===n||0===r&&a.s===n)&&(a=i)}return a}function yr(e,t){var n,r,i,a,o,s,u,l=0,c=0,f=0,p=e.constructor,h=p.rounding,d=p.precision;if(!e.d||!e.d[0]||e.e>17)return new p(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(null==t?(Ln=!1,u=d):u=t,s=new p(.03125);e.e>-2;)e=e.times(s),f+=5;for(u+=r=Math.log(Gn(2,f))/Math.LN10*2+5|0,n=a=o=new p(1),p.precision=u;;){if(a=sr(a.times(e),u,1),n=n.times(++c),nr((s=o.plus(or(a,n,u,1))).d).slice(0,u)===nr(o.d).slice(0,u)){for(i=f;i--;)o=sr(o.times(o),u,1);if(null!=t)return p.precision=d,o;if(!(l<3&&ir(o.d,u-r,h,l)))return sr(o,p.precision=d,h,Ln=!0);p.precision=u+=10,n=a=s=new p(1),c=0,l++}o=s}}function vr(e,t){var n,r,i,a,o,s,u,l,c,f,p,h=1,d=e,m=d.d,g=d.constructor,y=g.rounding,v=g.precision;if(d.s<0||!m||!m[0]||!d.e&&1==m[0]&&1==m.length)return new g(m&&!m[0]?-1/0:1!=d.s?NaN:m?0:d);if(null==t?(Ln=!1,c=v):c=t,g.precision=c+=10,r=(n=nr(m)).charAt(0),!(Math.abs(a=d.e)<15e14))return l=cr(g,c+2,v).times(a+""),d=vr(new g(r+"."+n.slice(1)),c-10).plus(l),g.precision=v,null==t?sr(d,v,y,Ln=!0):d;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=nr((d=d.times(e)).d)).charAt(0),h++;for(a=d.e,r>1?(d=new g("0."+n),a++):d=new g(r+"."+n.slice(1)),f=d,u=o=d=or(d.minus(1),d.plus(1),c,1),p=sr(d.times(d),c,1),i=3;;){if(o=sr(o.times(p),c,1),nr((l=u.plus(or(o,new g(i),c,1))).d).slice(0,c)===nr(u.d).slice(0,c)){if(u=u.times(2),0!==a&&(u=u.plus(cr(g,c+2,v).times(a+""))),u=or(u,new g(h),c,1),null!=t)return g.precision=v,u;if(!ir(u.d,c-10,y,s))return sr(u,g.precision=v,y,Ln=!0);g.precision=c+=10,l=o=d=or(f.minus(1),f.plus(1),c,1),p=sr(d.times(d),c,1),i=s=1}u=l,i+=2}}function xr(e){return String(e.s*e.s/0)}function br(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;48===t.charCodeAt(r);r++);for(i=t.length;48===t.charCodeAt(i-1);--i);if(t=t.slice(r,i)){if(i-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%7,n<0&&(r+=7),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=7;r<i;)e.d.push(+t.slice(r,r+=7));r=7-(t=t.slice(r)).length}else r-=i;for(;r--;)t+="0";e.d.push(+t),Ln&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function wr(e,t,n,r,i){var a,o,s,u,l=e.precision,c=Math.ceil(l/7);for(Ln=!1,u=n.times(n),s=new e(r);;){if(o=or(s.times(u),new e(t++*t++),l,1),s=i?r.plus(o):r.minus(o),r=or(o.times(u),new e(t++*t++),l,1),void 0!==(o=s.plus(r)).d[c]){for(a=c;o.d[a]===s.d[a]&&a--;);if(-1==a)break}a=s,s=r,r=o,o=a}return Ln=!0,o.d.length=c+1,o}function Nr(e,t){for(var n=e;--t;)n*=e;return n}function Er(e,t){var n,r=t.s<0,i=fr(e,e.precision,1),a=i.times(.5);if((t=t.abs()).lte(a))return Rn=r?4:1,t;if((n=t.divToInt(i)).isZero())Rn=r?3:2;else{if((t=t.minus(n.times(i))).lte(a))return Rn=mr(n)?r?2:3:r?4:1,t;Rn=mr(n)?r?1:4:r?3:2}return t.minus(i).abs()}function Sr(e,t,n,r){var i,a,o,s,u,l,c,f,p,h=e.constructor,d=void 0!==n;if(d?(rr(n,1,Pn),void 0===r?r=h.rounding:rr(r,0,8)):(n=h.precision,r=h.rounding),e.isFinite()){for(d?(i=2,16==t?n=4*n-3:8==t&&(n=3*n-2)):i=t,(o=(c=ur(e)).indexOf("."))>=0&&(c=c.replace(".",""),(p=new h(1)).e=c.length-o,p.d=ar(ur(p),10,i),p.e=p.d.length),a=u=(f=ar(c,10,i)).length;0==f[--u];)f.pop();if(f[0]){if(o<0?a--:((e=new h(e)).d=f,e.e=a,f=(e=or(e,p,n,r,0,i)).d,a=e.e,l=_n),o=f[n],s=i/2,l=l||void 0!==f[n+1],l=r<4?(void 0!==o||l)&&(0===r||r===(e.s<0?3:2)):o>s||o===s&&(4===r||l||6===r&&1&f[n-1]||r===(e.s<0?8:7)),f.length=n,l)for(;++f[--n]>i-1;)f[n]=0,n||(++a,f.unshift(1));for(u=f.length;!f[u-1];--u);for(o=0,c="";o<u;o++)c+=qn.charAt(f[o]);if(d){if(u>1)if(16==t||8==t){for(o=16==t?4:3,--u;u%o;u++)c+="0";for(u=(f=ar(c,i,t)).length;!f[u-1];--u);for(o=1,c="1.";o<u;o++)c+=qn.charAt(f[o])}else c=c.charAt(0)+"."+c.slice(1);c=c+(a<0?"p":"p+")+a}else if(a<0){for(;++a;)c="0"+c;c="0."+c}else if(++a>u)for(a-=u;a--;)c+="0";else a<u&&(c=c.slice(0,a)+"."+c.slice(a))}else c=d?"0p+0":"0";c=(16==t?"0x":2==t?"0b":8==t?"0o":"")+c}else c=xr(e);return e.s<0?"-"+c:c}function Mr(e,t){if(e.length>t)return e.length=t,!0}function Ar(e){return new this(e).abs()}function Cr(e){return new this(e).acos()}function Or(e){return new this(e).acosh()}function kr(e,t){return new this(e).plus(t)}function Tr(e){return new this(e).asin()}function _r(e){return new this(e).asinh()}function Rr(e){return new this(e).atan()}function Dr(e){return new this(e).atanh()}function Ir(e,t){e=new this(e),t=new this(t);var n,r=this.precision,i=this.rounding,a=r+4;return e.s&&t.s?e.d||t.d?!t.d||e.isZero()?(n=t.s<0?fr(this,r,i):new this(0)).s=e.s:!e.d||t.isZero()?(n=fr(this,a,1).times(.5)).s=e.s:t.s<0?(this.precision=a,this.rounding=1,n=this.atan(or(e,t,a,1)),t=fr(this,a,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(or(e,t,a,1)):(n=fr(this,a,1).times(t.s>0?.25:.75)).s=e.s:n=new this(NaN),n}function Pr(e){return new this(e).cbrt()}function qr(e){return sr(e=new this(e),e.e+1,2)}function zr(e,t,n){return new this(e).clamp(t,n)}function Br(e){if(!e||"object"!=typeof e)throw Error(Fn+"Object expected");var t,n,r,i=!0===e.defaults,a=["precision",1,Pn,"rounding",0,8,"toExpNeg",-In,0,"toExpPos",0,In,"maxE",0,In,"minE",-In,0,"modulo",0,9];for(t=0;t<a.length;t+=3)if(n=a[t],i&&(this[n]=jn[n]),void 0!==(r=e[n])){if(!(Wn(r)===r&&r>=a[t+1]&&r<=a[t+2]))throw Error(Un+n+": "+r);this[n]=r}if(n="crypto",i&&(this[n]=jn[n]),void 0!==(r=e[n])){if(!0!==r&&!1!==r&&0!==r&&1!==r)throw Error(Un+n+": "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(Vn);this[n]=!0}else this[n]=!1}return this}function jr(e){return new this(e).cos()}function Lr(e){return new this(e).cosh()}function Fr(e,t){return new this(e).div(t)}function Ur(e){return new this(e).exp()}function $r(e){return sr(e=new this(e),e.e+1,3)}function Vr(){var e,t,n=new this(0);for(Ln=!1,e=0;e<arguments.length;)if((t=new this(arguments[e++])).d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return Ln=!0,new this(1/0);n=t}return Ln=!0,n.sqrt()}function Hr(e){return e instanceof pi||e&&e.toStringTag===Hn||!1}function Wr(e){return new this(e).ln()}function Gr(e,t){return new this(e).log(t)}function Yr(e){return new this(e).log(2)}function Zr(e){return new this(e).log(10)}function Jr(){return gr(this,arguments,-1)}function Xr(){return gr(this,arguments,1)}function Kr(e,t){return new this(e).mod(t)}function Qr(e,t){return new this(e).mul(t)}function ei(e,t){return new this(e).pow(t)}function ti(e){var t,n,r,i,a=0,o=new this(1),s=[];if(void 0===e?e=this.precision:rr(e,1,Pn),r=Math.ceil(e/7),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));a<r;)(i=t[a])>=429e7?t[a]=crypto.getRandomValues(new Uint32Array(1))[0]:s[a++]=i%1e7;else{if(!crypto.randomBytes)throw Error(Vn);for(t=crypto.randomBytes(r*=4);a<r;)(i=t[a]+(t[a+1]<<8)+(t[a+2]<<16)+((127&t[a+3])<<24))>=214e7?crypto.randomBytes(4).copy(t,a):(s.push(i%1e7),a+=4);a=r/4}else for(;a<r;)s[a++]=1e7*Math.random()|0;for(e%=7,(r=s[--a])&&e&&(i=Gn(10,7-e),s[a]=(r/i|0)*i);0===s[a];a--)s.pop();if(a<0)n=0,s=[0];else{for(n=-1;0===s[0];n-=7)s.shift();for(r=1,i=s[0];i>=10;i/=10)r++;r<7&&(n-=7-r)}return o.e=n,o.d=s,o}function ni(e){return sr(e=new this(e),e.e+1,this.rounding)}function ri(e){return(e=new this(e)).d?e.d[0]?e.s:0*e.s:e.s||NaN}function ii(e){return new this(e).sin()}function ai(e){return new this(e).sinh()}function oi(e){return new this(e).sqrt()}function si(e,t){return new this(e).sub(t)}function ui(){var e=0,t=arguments,n=new this(t[e]);for(Ln=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return Ln=!0,sr(n,this.precision,this.rounding)}function li(e){return new this(e).tan()}function ci(e){return new this(e).tanh()}function fi(e){return sr(e=new this(e),e.e+1,1)}tr[Symbol.for("nodejs.util.inspect.custom")]=tr.toString,tr[Symbol.toStringTag]="Decimal";var pi=tr.constructor=function e(t){var n,r,i;function a(e){var t,n,r,i=this;if(!(i instanceof a))return new a(e);if(i.constructor=a,Hr(e))return i.s=e.s,void(Ln?!e.d||e.e>a.maxE?(i.e=NaN,i.d=null):e.e<a.minE?(i.e=0,i.d=[0]):(i.e=e.e,i.d=e.d.slice()):(i.e=e.e,i.d=e.d?e.d.slice():e.d));if("number"==(r=typeof e)){if(0===e)return i.s=1/e<0?-1:1,i.e=0,void(i.d=[0]);if(e<0?(e=-e,i.s=-1):i.s=1,e===~~e&&e<1e7){for(t=0,n=e;n>=10;n/=10)t++;return void(Ln?t>a.maxE?(i.e=NaN,i.d=null):t<a.minE?(i.e=0,i.d=[0]):(i.e=t,i.d=[e]):(i.e=t,i.d=[e]))}return 0*e!=0?(e||(i.s=NaN),i.e=NaN,void(i.d=null)):br(i,e.toString())}if("string"===r)return 45===(n=e.charCodeAt(0))?(e=e.slice(1),i.s=-1):(43===n&&(e=e.slice(1)),i.s=1),Xn.test(e)?br(i,e):function(e,t){var n,r,i,a,o,s,u,l,c;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),Xn.test(t))return br(e,t)}else if("Infinity"===t||"NaN"===t)return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Zn.test(t))n=16,t=t.toLowerCase();else if(Yn.test(t))n=2;else{if(!Jn.test(t))throw Error(Un+t);n=8}for((a=t.search(/p/i))>0?(u=+t.slice(a+1),t=t.substring(2,a)):t=t.slice(2),o=(a=t.indexOf("."))>=0,r=e.constructor,o&&(a=(s=(t=t.replace(".","")).length)-a,i=dr(r,new r(n),a,2*a)),a=c=(l=ar(t,n,Kn)).length-1;0===l[a];--a)l.pop();return a<0?new r(0*e.s):(e.e=lr(l,c),e.d=l,Ln=!1,o&&(e=or(e,i,4*s)),u&&(e=e.times(Math.abs(u)<54?Gn(2,u):pi.pow(2,u))),Ln=!0,e)}(i,e);if("bigint"===r)return e<0?(e=-e,i.s=-1):i.s=1,br(i,e.toString());throw Error(Un+e)}if(a.prototype=tr,a.ROUND_UP=0,a.ROUND_DOWN=1,a.ROUND_CEIL=2,a.ROUND_FLOOR=3,a.ROUND_HALF_UP=4,a.ROUND_HALF_DOWN=5,a.ROUND_HALF_EVEN=6,a.ROUND_HALF_CEIL=7,a.ROUND_HALF_FLOOR=8,a.EUCLID=9,a.config=a.set=Br,a.clone=e,a.isDecimal=Hr,a.abs=Ar,a.acos=Cr,a.acosh=Or,a.add=kr,a.asin=Tr,a.asinh=_r,a.atan=Rr,a.atanh=Dr,a.atan2=Ir,a.cbrt=Pr,a.ceil=qr,a.clamp=zr,a.cos=jr,a.cosh=Lr,a.div=Fr,a.exp=Ur,a.floor=$r,a.hypot=Vr,a.ln=Wr,a.log=Gr,a.log10=Zr,a.log2=Yr,a.max=Jr,a.min=Xr,a.mod=Kr,a.mul=Qr,a.pow=ei,a.random=ti,a.round=ni,a.sign=ri,a.sin=ii,a.sinh=ai,a.sqrt=oi,a.sub=si,a.sum=ui,a.tan=li,a.tanh=ci,a.trunc=fi,void 0===t&&(t={}),t&&!0!==t.defaults)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],n=0;n<i.length;)t.hasOwnProperty(r=i[n++])||(t[r]=this[r]);return a.config(t),a}(jn);zn=new pi(zn),Bn=new pi(Bn);var hi=Sn("BigNumber",["?on","config"],function(e){var t=e.on,n=e.config,r=pi.clone({precision:n.precision,modulo:9});return r.prototype.type="BigNumber",r.prototype.isBigNumber=!0,r.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},r.fromJSON=function(e){return new r(e.value)},t&&t("config",function(e,t){e.precision!==t.precision&&r.config({precision:e.precision})}),r},{isClass:!0});const di=Math.cosh||function(e){return Math.abs(e)<1e-9?1-e:.5*(Math.exp(e)+Math.exp(-e))},mi=Math.sinh||function(e){return Math.abs(e)<1e-9?e:.5*(Math.exp(e)-Math.exp(-e))},gi=function(e,t){return(e=Math.abs(e))<(t=Math.abs(t))&&([e,t]=[t,e]),e<1e8?Math.sqrt(e*e+t*t):(t/=e,e*Math.sqrt(1+t*t))},yi=function(){throw SyntaxError("Invalid Param")};function vi(e,t){const n=Math.abs(e),r=Math.abs(t);return 0===e?Math.log(r):0===t?Math.log(n):n<3e3&&r<3e3?.5*Math.log(e*e+t*t):(e*=.5,t*=.5,.5*Math.log(e*e+t*t)+Math.LN2)}const xi={re:0,im:0},bi=function(e,t){const n=xi;if(null==e)n.re=n.im=0;else if(void 0!==t)n.re=e,n.im=t;else switch(typeof e){case"object":if("im"in e&&"re"in e)n.re=e.re,n.im=e.im;else if("abs"in e&&"arg"in e){if(!isFinite(e.abs)&&isFinite(e.arg))return wi.INFINITY;n.re=e.abs*Math.cos(e.arg),n.im=e.abs*Math.sin(e.arg)}else if("r"in e&&"phi"in e){if(!isFinite(e.r)&&isFinite(e.phi))return wi.INFINITY;n.re=e.r*Math.cos(e.phi),n.im=e.r*Math.sin(e.phi)}else 2===e.length?(n.re=e[0],n.im=e[1]):yi();break;case"string":n.im=n.re=0;const t=e.replace(/_/g,"").match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g);let r=1,i=0;null===t&&yi();for(let e=0;e<t.length;e++){const a=t[e];" "===a||"\t"===a||"\n"===a||("+"===a?r++:"-"===a?i++:"i"===a||"I"===a?(r+i===0&&yi()," "===t[e+1]||isNaN(t[e+1])?n.im+=parseFloat((i%2?"-":"")+"1"):(n.im+=parseFloat((i%2?"-":"")+t[e+1]),e++),r=i=0):((r+i===0||isNaN(a))&&yi(),"i"===t[e+1]||"I"===t[e+1]?(n.im+=parseFloat((i%2?"-":"")+a),e++):n.re+=parseFloat((i%2?"-":"")+a),r=i=0))}r+i>0&&yi();break;case"number":n.im=0,n.re=e;break;default:yi()}return isNaN(n.re)||isNaN(n.im),n};function wi(e,t){if(!(this instanceof wi))return new wi(e,t);const n=bi(e,t);this.re=n.re,this.im=n.im}function Ni(e){return Ni="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ni(e)}wi.prototype={re:0,im:0,sign:function(){const e=gi(this.re,this.im);return new wi(this.re/e,this.im/e)},add:function(e,t){const n=bi(e,t),r=this.isInfinite(),i=!(isFinite(n.re)&&isFinite(n.im));return r||i?r&&i?wi.NAN:wi.INFINITY:new wi(this.re+n.re,this.im+n.im)},sub:function(e,t){const n=bi(e,t),r=this.isInfinite(),i=!(isFinite(n.re)&&isFinite(n.im));return r||i?r&&i?wi.NAN:wi.INFINITY:new wi(this.re-n.re,this.im-n.im)},mul:function(e,t){const n=bi(e,t),r=this.isInfinite(),i=!(isFinite(n.re)&&isFinite(n.im)),a=0===this.re&&0===this.im,o=0===n.re&&0===n.im;return r&&o||i&&a?wi.NAN:r||i?wi.INFINITY:0===n.im&&0===this.im?new wi(this.re*n.re,0):new wi(this.re*n.re-this.im*n.im,this.re*n.im+this.im*n.re)},div:function(e,t){const n=bi(e,t),r=this.isInfinite(),i=!(isFinite(n.re)&&isFinite(n.im)),a=0===this.re&&0===this.im,o=0===n.re&&0===n.im;if(a&&o||r&&i)return wi.NAN;if(o||r)return wi.INFINITY;if(a||i)return wi.ZERO;if(0===n.im)return new wi(this.re/n.re,this.im/n.re);if(Math.abs(n.re)<Math.abs(n.im)){const e=n.re/n.im,t=n.re*e+n.im;return new wi((this.re*e+this.im)/t,(this.im*e-this.re)/t)}{const e=n.im/n.re,t=n.im*e+n.re;return new wi((this.re+this.im*e)/t,(this.im-this.re*e)/t)}},pow:function(e,t){const n=bi(e,t),r=0===this.re&&0===this.im;if(0===n.re&&0===n.im)return wi.ONE;if(0===n.im){if(0===this.im&&this.re>0)return new wi(Math.pow(this.re,n.re),0);if(0===this.re)switch((n.re%4+4)%4){case 0:return new wi(Math.pow(this.im,n.re),0);case 1:return new wi(0,Math.pow(this.im,n.re));case 2:return new wi(-Math.pow(this.im,n.re),0);case 3:return new wi(0,-Math.pow(this.im,n.re))}}if(r&&n.re>0)return wi.ZERO;const i=Math.atan2(this.im,this.re),a=vi(this.re,this.im);let o=Math.exp(n.re*a-n.im*i),s=n.im*a+n.re*i;return new wi(o*Math.cos(s),o*Math.sin(s))},sqrt:function(){const e=this.re,t=this.im;if(0===t)return e>=0?new wi(Math.sqrt(e),0):new wi(0,Math.sqrt(-e));const n=gi(e,t);let r=Math.sqrt(.5*(n+Math.abs(e))),i=Math.abs(t)/(2*r);return e>=0?new wi(r,t<0?-i:i):new wi(i,t<0?-r:r)},exp:function(){const e=Math.exp(this.re);return 0===this.im?new wi(e,0):new wi(e*Math.cos(this.im),e*Math.sin(this.im))},expm1:function(){const e=this.re,t=this.im;return new wi(Math.expm1(e)*Math.cos(t)+function(e){const t=Math.PI/4;if(-t>e||e>t)return Math.cos(e)-1;const n=e*e;return n*(n*(n*(n*(n*(n*(n*(n/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-.5)}(t),Math.exp(e)*Math.sin(t))},log:function(){const e=this.re,t=this.im;return 0===t&&e>0?new wi(Math.log(e),0):new wi(vi(e,t),Math.atan2(t,e))},abs:function(){return gi(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){const e=this.re,t=this.im;return new wi(Math.sin(e)*di(t),Math.cos(e)*mi(t))},cos:function(){const e=this.re,t=this.im;return new wi(Math.cos(e)*di(t),-Math.sin(e)*mi(t))},tan:function(){const e=2*this.re,t=2*this.im,n=Math.cos(e)+di(t);return new wi(Math.sin(e)/n,mi(t)/n)},cot:function(){const e=2*this.re,t=2*this.im,n=Math.cos(e)-di(t);return new wi(-Math.sin(e)/n,mi(t)/n)},sec:function(){const e=this.re,t=this.im,n=.5*di(2*t)+.5*Math.cos(2*e);return new wi(Math.cos(e)*di(t)/n,Math.sin(e)*mi(t)/n)},csc:function(){const e=this.re,t=this.im,n=.5*di(2*t)-.5*Math.cos(2*e);return new wi(Math.sin(e)*di(t)/n,-Math.cos(e)*mi(t)/n)},asin:function(){const e=this.re,t=this.im,n=new wi(t*t-e*e+1,-2*e*t).sqrt(),r=new wi(n.re-t,n.im+e).log();return new wi(r.im,-r.re)},acos:function(){const e=this.re,t=this.im,n=new wi(t*t-e*e+1,-2*e*t).sqrt(),r=new wi(n.re-t,n.im+e).log();return new wi(Math.PI/2-r.im,r.re)},atan:function(){const e=this.re,t=this.im;if(0===e){if(1===t)return new wi(0,1/0);if(-1===t)return new wi(0,-1/0)}const n=e*e+(1-t)*(1-t),r=new wi((1-t*t-e*e)/n,-2*e/n).log();return new wi(-.5*r.im,.5*r.re)},acot:function(){const e=this.re,t=this.im;if(0===t)return new wi(Math.atan2(1,e),0);const n=e*e+t*t;return 0!==n?new wi(e/n,-t/n).atan():new wi(0!==e?e/0:0,0!==t?-t/0:0).atan()},asec:function(){const e=this.re,t=this.im;if(0===e&&0===t)return new wi(0,1/0);const n=e*e+t*t;return 0!==n?new wi(e/n,-t/n).acos():new wi(0!==e?e/0:0,0!==t?-t/0:0).acos()},acsc:function(){const e=this.re,t=this.im;if(0===e&&0===t)return new wi(Math.PI/2,1/0);const n=e*e+t*t;return 0!==n?new wi(e/n,-t/n).asin():new wi(0!==e?e/0:0,0!==t?-t/0:0).asin()},sinh:function(){const e=this.re,t=this.im;return new wi(mi(e)*Math.cos(t),di(e)*Math.sin(t))},cosh:function(){const e=this.re,t=this.im;return new wi(di(e)*Math.cos(t),mi(e)*Math.sin(t))},tanh:function(){const e=2*this.re,t=2*this.im,n=di(e)+Math.cos(t);return new wi(mi(e)/n,Math.sin(t)/n)},coth:function(){const e=2*this.re,t=2*this.im,n=di(e)-Math.cos(t);return new wi(mi(e)/n,-Math.sin(t)/n)},csch:function(){const e=this.re,t=this.im,n=Math.cos(2*t)-di(2*e);return new wi(-2*mi(e)*Math.cos(t)/n,2*di(e)*Math.sin(t)/n)},sech:function(){const e=this.re,t=this.im,n=Math.cos(2*t)+di(2*e);return new wi(2*di(e)*Math.cos(t)/n,-2*mi(e)*Math.sin(t)/n)},asinh:function(){let e=this.im;this.im=-this.re,this.re=e;const t=this.asin();return this.re=-this.im,this.im=e,e=t.re,t.re=-t.im,t.im=e,t},acosh:function(){const e=this.acos();if(e.im<=0){const t=e.re;e.re=-e.im,e.im=t}else{const t=e.im;e.im=-e.re,e.re=t}return e},atanh:function(){const e=this.re,t=this.im,n=e>1&&0===t,r=1-e,i=1+e,a=r*r+t*t,o=0!==a?new wi((i*r-t*t)/a,(t*r+i*t)/a):new wi(-1!==e?e/0:0,0!==t?t/0:0),s=o.re;return o.re=vi(o.re,o.im)/2,o.im=Math.atan2(o.im,s)/2,n&&(o.im=-o.im),o},acoth:function(){const e=this.re,t=this.im;if(0===e&&0===t)return new wi(0,Math.PI/2);const n=e*e+t*t;return 0!==n?new wi(e/n,-t/n).atanh():new wi(0!==e?e/0:0,0!==t?-t/0:0).atanh()},acsch:function(){const e=this.re,t=this.im;if(0===t)return new wi(0!==e?Math.log(e+Math.sqrt(e*e+1)):1/0,0);const n=e*e+t*t;return 0!==n?new wi(e/n,-t/n).asinh():new wi(0!==e?e/0:0,0!==t?-t/0:0).asinh()},asech:function(){const e=this.re,t=this.im;if(this.isZero())return wi.INFINITY;const n=e*e+t*t;return 0!==n?new wi(e/n,-t/n).acosh():new wi(0!==e?e/0:0,0!==t?-t/0:0).acosh()},inverse:function(){if(this.isZero())return wi.INFINITY;if(this.isInfinite())return wi.ZERO;const e=this.re,t=this.im,n=e*e+t*t;return new wi(e/n,-t/n)},conjugate:function(){return new wi(this.re,-this.im)},neg:function(){return new wi(-this.re,-this.im)},ceil:function(e){return e=Math.pow(10,e||0),new wi(Math.ceil(this.re*e)/e,Math.ceil(this.im*e)/e)},floor:function(e){return e=Math.pow(10,e||0),new wi(Math.floor(this.re*e)/e,Math.floor(this.im*e)/e)},round:function(e){return e=Math.pow(10,e||0),new wi(Math.round(this.re*e)/e,Math.round(this.im*e)/e)},equals:function(e,t){const n=bi(e,t);return Math.abs(n.re-this.re)<=wi.EPSILON&&Math.abs(n.im-this.im)<=wi.EPSILON},clone:function(){return new wi(this.re,this.im)},toString:function(){let e=this.re,t=this.im,n="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(e)<wi.EPSILON&&(e=0),Math.abs(t)<wi.EPSILON&&(t=0),0===t?n+e:(0!==e?(n+=e,n+=" ",t<0?(t=-t,n+="-"):n+="+",n+=" "):t<0&&(t=-t,n+="-"),1!==t&&(n+=t),n+"i"))},toVector:function(){return[this.re,this.im]},valueOf:function(){return 0===this.im?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return 0===this.im&&0===this.re},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!this.isFinite()}},wi.ZERO=new wi(0,0),wi.ONE=new wi(1,0),wi.I=new wi(0,1),wi.PI=new wi(Math.PI,0),wi.E=new wi(Math.E,0),wi.INFINITY=new wi(1/0,1/0),wi.NAN=new wi(NaN,NaN),wi.EPSILON=1e-15;var Ei=Sn("Complex",[],function(){return wi.prototype.type="Complex",wi.prototype.isComplex=!0,wi.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},wi.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},wi.prototype.format=function(e){var t=this.im,n=this.re,r=Dt(this.re,e),i=Dt(this.im,e),a=_e(e)?e:e?e.precision:null;if(null!==a){var o=Math.pow(10,-a);Math.abs(n/t)<o&&(n=0),Math.abs(t/n)<o&&(t=0)}return 0===t?r:0===n?1===t?"i":-1===t?"-i":i+"i":t<0?-1===t?r+" - i":r+" - "+i.substring(1)+"i":1===t?r+" + i":r+" + "+i+"i"},wi.fromPolar=function(e){switch(arguments.length){case 1:var t=arguments[0];if("object"===Ni(t))return wi(t);throw new TypeError("Input has to be an object with r and phi keys.");case 2:var n=arguments[0],r=arguments[1];if(_e(n)){if(Pe(r)&&r.hasBase("ANGLE")&&(r=r.toNumber("rad")),_e(r))return new wi({r:n,phi:r});throw new TypeError("Phi is not a number nor an angle unit.")}throw new TypeError("Radius r is not a number.");default:throw new SyntaxError("Wrong number of arguments in function fromPolar")}},wi.prototype.valueOf=wi.prototype.toString,wi.fromJSON=function(e){return new wi(e)},wi.compare=function(e,t){return e.re>t.re?1:e.re<t.re?-1:e.im>t.im?1:e.im<t.im?-1:0},wi},{isClass:!0}),Si={s:1,n:0,d:1};function Mi(e,t){if(isNaN(e=parseInt(e,10)))throw Ri();return e*t}function Ai(e,t){if(0===t)throw _i();var n=Object.create(Ti.prototype);n.s=e<0?-1:1;var r=ki(e=e<0?-e:e,t);return n.n=e/r,n.d=t/r,n}function Ci(e){for(var t={},n=e,r=2,i=4;i<=n;){for(;n%r===0;)n/=r,t[r]=(t[r]||0)+1;i+=1+2*r++}return n!==e?n>1&&(t[n]=(t[n]||0)+1):t[e]=(t[e]||0)+1,t}var Oi=function(e,t){var n,r=0,i=1,a=1,o=0,s=0,u=0,l=1,c=1,f=0,p=1,h=1,d=1,m=1e7;if(null==e);else if(void 0!==t){if(a=(r=e)*(i=t),r%1!=0||i%1!=0)throw Di()}else switch(typeof e){case"object":if("d"in e&&"n"in e)r=e.n,i=e.d,"s"in e&&(r*=e.s);else{if(!(0 in e))throw Ri();r=e[0],1 in e&&(i=e[1])}a=r*i;break;case"number":if(e<0&&(a=e,e=-e),e%1==0)r=e;else if(e>0){for(e>=1&&(e/=c=Math.pow(10,Math.floor(1+Math.log(e)/Math.LN10)));p<=m&&d<=m;){if(e===(n=(f+h)/(p+d))){p+d<=m?(r=f+h,i=p+d):d>p?(r=h,i=d):(r=f,i=p);break}e>n?(f+=h,p+=d):(h+=f,d+=p),p>m?(r=h,i=d):(r=f,i=p)}r*=c}else(isNaN(e)||isNaN(t))&&(i=r=NaN);break;case"string":if(null===(p=e.match(/\d+|./g)))throw Ri();if("-"===p[f]?(a=-1,f++):"+"===p[f]&&f++,p.length===f+1?s=Mi(p[f++],a):"."===p[f+1]||"."===p[f]?("."!==p[f]&&(o=Mi(p[f++],a)),(1+ ++f===p.length||"("===p[f+1]&&")"===p[f+3]||"'"===p[f+1]&&"'"===p[f+3])&&(s=Mi(p[f],a),l=Math.pow(10,p[f].length),f++),("("===p[f]&&")"===p[f+2]||"'"===p[f]&&"'"===p[f+2])&&(u=Mi(p[f+1],a),c=Math.pow(10,p[f+1].length)-1,f+=3)):"/"===p[f+1]||":"===p[f+1]?(s=Mi(p[f],a),l=Mi(p[f+2],1),f+=3):"/"===p[f+3]&&" "===p[f+1]&&(o=Mi(p[f],a),s=Mi(p[f+2],a),l=Mi(p[f+4],1),f+=5),p.length<=f){a=r=u+(i=l*c)*o+c*s;break}default:throw Ri()}if(0===i)throw _i();Si.s=a<0?-1:1,Si.n=Math.abs(r),Si.d=Math.abs(i)};function ki(e,t){if(!e)return t;if(!t)return e;for(;;){if(!(e%=t))return t;if(!(t%=e))return e}}function Ti(e,t){if(Oi(e,t),!(this instanceof Ti))return Ai(Si.s*Si.n,Si.d);e=ki(Si.d,Si.n),this.s=Si.s,this.n=Si.n/e,this.d=Si.d/e}var _i=function(){return new Error("Division by Zero")},Ri=function(){return new Error("Invalid argument")},Di=function(){return new Error("Parameters must be integer")};Ti.prototype={s:1,n:0,d:1,abs:function(){return Ai(this.n,this.d)},neg:function(){return Ai(-this.s*this.n,this.d)},add:function(e,t){return Oi(e,t),Ai(this.s*this.n*Si.d+Si.s*this.d*Si.n,this.d*Si.d)},sub:function(e,t){return Oi(e,t),Ai(this.s*this.n*Si.d-Si.s*this.d*Si.n,this.d*Si.d)},mul:function(e,t){return Oi(e,t),Ai(this.s*Si.s*this.n*Si.n,this.d*Si.d)},div:function(e,t){return Oi(e,t),Ai(this.s*Si.s*this.n*Si.d,this.d*Si.n)},clone:function(){return Ai(this.s*this.n,this.d)},mod:function(e,t){if(isNaN(this.n)||isNaN(this.d))return new Ti(NaN);if(void 0===e)return Ai(this.s*this.n%this.d,1);if(Oi(e,t),0===Si.n&&0===this.d)throw _i();return Ai(this.s*(Si.d*this.n)%(Si.n*this.d),Si.d*this.d)},gcd:function(e,t){return Oi(e,t),Ai(ki(Si.n,this.n)*ki(Si.d,this.d),Si.d*this.d)},lcm:function(e,t){return Oi(e,t),0===Si.n&&0===this.n?Ai(0,1):Ai(Si.n*this.n,ki(Si.n,this.n)*ki(Si.d,this.d))},ceil:function(e){return e=Math.pow(10,e||0),isNaN(this.n)||isNaN(this.d)?new Ti(NaN):Ai(Math.ceil(e*this.s*this.n/this.d),e)},floor:function(e){return e=Math.pow(10,e||0),isNaN(this.n)||isNaN(this.d)?new Ti(NaN):Ai(Math.floor(e*this.s*this.n/this.d),e)},round:function(e){return e=Math.pow(10,e||0),isNaN(this.n)||isNaN(this.d)?new Ti(NaN):Ai(Math.round(e*this.s*this.n/this.d),e)},roundTo:function(e,t){return Oi(e,t),Ai(this.s*Math.round(this.n*Si.d/(this.d*Si.n))*Si.n,Si.d)},inverse:function(){return Ai(this.s*this.d,this.n)},pow:function(e,t){if(Oi(e,t),1===Si.d)return Si.s<0?Ai(Math.pow(this.s*this.d,Si.n),Math.pow(this.n,Si.n)):Ai(Math.pow(this.s*this.n,Si.n),Math.pow(this.d,Si.n));if(this.s<0)return null;var n=Ci(this.n),r=Ci(this.d),i=1,a=1;for(var o in n)if("1"!==o){if("0"===o){i=0;break}if(n[o]*=Si.n,n[o]%Si.d!==0)return null;n[o]/=Si.d,i*=Math.pow(o,n[o])}for(var o in r)if("1"!==o){if(r[o]*=Si.n,r[o]%Si.d!==0)return null;r[o]/=Si.d,a*=Math.pow(o,r[o])}return Si.s<0?Ai(a,i):Ai(i,a)},equals:function(e,t){return Oi(e,t),this.s*this.n*Si.d===Si.s*Si.n*this.d},compare:function(e,t){Oi(e,t);var n=this.s*this.n*Si.d-Si.s*Si.n*this.d;return(0<n)-(n<0)},simplify:function(e){if(isNaN(this.n)||isNaN(this.d))return this;e=e||.001;for(var t=this.abs(),n=t.toContinued(),r=1;r<n.length;r++){for(var i=Ai(n[r-1],1),a=r-2;a>=0;a--)i=i.inverse().add(n[a]);if(Math.abs(i.sub(t).valueOf())<e)return i.mul(this.s)}return this},divisible:function(e,t){return Oi(e,t),!(!(Si.n*this.d)||this.n*Si.d%(Si.n*this.d))},valueOf:function(){return this.s*this.n/this.d},toFraction:function(e){var t,n="",r=this.n,i=this.d;return this.s<0&&(n+="-"),1===i?n+=r:(e&&(t=Math.floor(r/i))>0&&(n+=t,n+=" ",r%=i),n+=r,n+="/",n+=i),n},toLatex:function(e){var t,n="",r=this.n,i=this.d;return this.s<0&&(n+="-"),1===i?n+=r:(e&&(t=Math.floor(r/i))>0&&(n+=t,r%=i),n+="\\frac{",n+=r,n+="}{",n+=i,n+="}"),n},toContinued:function(){var e,t=this.n,n=this.d,r=[];if(isNaN(t)||isNaN(n))return r;do{r.push(Math.floor(t/n)),e=t%n,t=n,n=e}while(1!==t);return r},toString:function(e){var t=this.n,n=this.d;if(isNaN(t)||isNaN(n))return"NaN";e=e||15;var r=function(e,t){for(;t%2==0;t/=2);for(;t%5==0;t/=5);if(1===t)return 0;for(var n=10%t,r=1;1!==n;r++)if(n=10*n%t,r>2e3)return 0;return r}(0,n),i=function(e,t,n){for(var r=1,i=function(e,t,n){for(var r=1;t>0;e=e*e%n,t>>=1)1&t&&(r=r*e%n);return r}(10,n,t),a=0;a<300;a++){if(r===i)return a;r=10*r%t,i=10*i%t}return 0}(0,n,r),a=this.s<0?"-":"";if(a+=t/n|0,t%=n,(t*=10)&&(a+="."),r){for(var o=i;o--;)a+=t/n|0,t%=n,t*=10;for(a+="(",o=r;o--;)a+=t/n|0,t%=n,t*=10;a+=")"}else for(o=e;t&&o--;)a+=t/n|0,t%=n,t*=10;return a}};var Ii=Sn("Fraction",[],function(){return Ti.prototype.type="Fraction",Ti.prototype.isFraction=!0,Ti.prototype.toJSON=function(){return{mathjs:"Fraction",n:this.s*this.n,d:this.d}},Ti.fromJSON=function(e){return new Ti(e)},Ti},{isClass:!0}),Pi=Sn("Range",[],function(){function e(t,n,r){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator");var i=null!=t,a=null!=n,o=null!=r;if(i)if(Re(t))t=t.toNumber();else if("number"!=typeof t)throw new TypeError("Parameter start must be a number");if(a)if(Re(n))n=n.toNumber();else if("number"!=typeof n)throw new TypeError("Parameter end must be a number");if(o)if(Re(r))r=r.toNumber();else if("number"!=typeof r)throw new TypeError("Parameter step must be a number");this.start=i?parseFloat(t):0,this.end=a?parseFloat(n):0,this.step=o?parseFloat(r):1}return e.prototype.type="Range",e.prototype.isRange=!0,e.parse=function(t){if("string"!=typeof t)return null;var n=t.split(":").map(function(e){return parseFloat(e)});if(n.some(function(e){return isNaN(e)}))return null;switch(n.length){case 2:return new e(n[0],n[1]);case 3:return new e(n[0],n[2],n[1]);default:return null}},e.prototype.clone=function(){return new e(this.start,this.end,this.step)},e.prototype.size=function(){var e=0,t=this.start,n=this.step,r=this.end-t;return Ct(n)===Ct(r)?e=Math.ceil(r/n):0===r&&(e=0),isNaN(e)&&(e=0),[e]},e.prototype.min=function(){var e=this.size()[0];return e>0?this.step>0?this.start:this.start+(e-1)*this.step:void 0},e.prototype.max=function(){var e=this.size()[0];return e>0?this.step>0?this.start+(e-1)*this.step:this.start:void 0},e.prototype.forEach=function(e){var t=this.start,n=this.step,r=this.end,i=0;if(n>0)for(;t<r;)e(t,[i],this),t+=n,i++;else if(n<0)for(;t>r;)e(t,[i],this),t+=n,i++},e.prototype.map=function(e){var t=[];return this.forEach(function(n,r,i){t[r[0]]=e(n,r,i)}),t},e.prototype.toArray=function(){var e=[];return this.forEach(function(t,n){e[n[0]]=t}),e},e.prototype.valueOf=function(){return this.toArray()},e.prototype.format=function(e){var t=Dt(this.start,e);return 1!==this.step&&(t+=":"+Dt(this.step,e)),t+":"+Dt(this.end,e)},e.prototype.toString=function(){return this.format()},e.prototype.toJSON=function(){return{mathjs:"Range",start:this.start,end:this.end,step:this.step}},e.fromJSON=function(t){return new e(t.start,t.end,t.step)},e},{isClass:!0}),qi=Sn("Matrix",[],function(){function e(){if(!(this instanceof e))throw new SyntaxError("Constructor must be called with the new operator")}return e.prototype.type="Matrix",e.prototype.isMatrix=!0,e.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},e.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},e.prototype.create=function(e,t){throw new Error("Cannot invoke create on a Matrix interface")},e.prototype.subset=function(e,t,n){throw new Error("Cannot invoke subset on a Matrix interface")},e.prototype.get=function(e){throw new Error("Cannot invoke get on a Matrix interface")},e.prototype.set=function(e,t,n){throw new Error("Cannot invoke set on a Matrix interface")},e.prototype.resize=function(e,t){throw new Error("Cannot invoke resize on a Matrix interface")},e.prototype.reshape=function(e,t){throw new Error("Cannot invoke reshape on a Matrix interface")},e.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},e.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},e.prototype.map=function(e,t){throw new Error("Cannot invoke map on a Matrix interface")},e.prototype.forEach=function(e){throw new Error("Cannot invoke forEach on a Matrix interface")},e.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},e.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},e.prototype.format=function(e){throw new Error("Cannot invoke format on a Matrix interface")},e.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},e},{isClass:!0}),zi=Sn("DenseMatrix",["Matrix"],function(e){var t=e.Matrix;function n(e,t){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(t&&!qe(t))throw new Error("Invalid datatype: "+t);if(Be(e))"DenseMatrix"===e.type?(this._data=yt(e._data),this._size=yt(e._size),this._datatype=t||e._datatype):(this._data=e.toArray(),this._size=e.size(),this._datatype=t||e._datatype);else if(e&&ze(e.data)&&ze(e.size))this._data=e.data,this._size=e.size,on(this._data,this._size),this._datatype=t||e.datatype;else if(ze(e))this._data=s(e),this._size=rn(this._data),on(this._data,this._size),this._datatype=t;else{if(e)throw new TypeError("Unsupported type of data ("+mt(e)+")");this._data=[],this._size=[0],this._datatype=t}}function r(e,t,n,i){var a=i===n-1,o=t.dimension(i);return a?o.map(function(t){return sn(t,e.length),e[t]}).valueOf():o.map(function(a){return sn(a,e.length),r(e[a],t,n,i+1)}).valueOf()}function i(e,t,n,r,a){var o=a===r-1,s=t.dimension(a);o?s.forEach(function(t,r){sn(t),e[t]=n[r[0]]}):s.forEach(function(o,s){sn(o),i(e[o],t,n[s[0]],r,a+1)})}function a(e,t,n){if(0===t.length){for(var r=e._data;ze(r);)r=r[0];return r}return e._size=t.slice(0),e._data=un(e._data,e._size,n),e}function o(e,t,n){for(var r=e._size.slice(0),i=!1;r.length<t.length;)r.push(0),i=!0;for(var o=0,s=t.length;o<s;o++)t[o]>r[o]&&(r[o]=t[o],i=!0);i&&a(e,r,n)}function s(e){for(var t=0,n=e.length;t<n;t++){var r=e[t];ze(r)?e[t]=s(r):r&&!0===r.isMatrix&&(e[t]=s(r.valueOf()))}return e}return n.prototype=new t,n.prototype.createDenseMatrix=function(e,t){return new n(e,t)},n.prototype.type="DenseMatrix",n.prototype.isDenseMatrix=!0,n.prototype.getDataType=function(){return En(this._data,mt)},n.prototype.storage=function(){return"dense"},n.prototype.datatype=function(){return this._datatype},n.prototype.create=function(e,t){return new n(e,t)},n.prototype.subset=function(e,t,a){switch(arguments.length){case 1:return function(e,t){if(!$e(t))throw new TypeError("Invalid index");if(t.isScalar())return e.get(t.min());var i=t.size();if(i.length!==e._size.length)throw new tn(i.length,e._size.length);for(var a=t.min(),o=t.max(),s=0,u=e._size.length;s<u;s++)sn(a[s],e._size[s]),sn(o[s],e._size[s]);return new n(r(e._data,t,i.length,0),e._datatype)}(this,e);case 2:case 3:return function(e,t,n,r){if(!t||!0!==t.isIndex)throw new TypeError("Invalid index");var a,s=t.size(),u=t.isScalar();if(Be(n)?(a=n.size(),n=n.valueOf()):a=rn(n),u){if(0!==a.length)throw new TypeError("Scalar expected");e.set(t.min(),n,r)}else{if(s.length<e._size.length)throw new tn(s.length,e._size.length,"<");if(a.length<s.length){for(var l=0,c=0;1===s[l]&&1===a[l];)l++;for(;1===s[l];)c++,l++;n=hn(n,s.length,c,a)}if(!xt(s,a))throw new tn(s,a,">");var f=t.max().map(function(e){return e+1});o(e,f,r);var p=s.length;i(e._data,t,n,p,0)}return e}(this,e,t,a);default:throw new SyntaxError("Wrong number of arguments")}},n.prototype.get=function(e){if(!ze(e))throw new TypeError("Array expected");if(e.length!==this._size.length)throw new tn(e.length,this._size.length);for(var t=0;t<e.length;t++)sn(e[t],this._size[t]);for(var n=this._data,r=0,i=e.length;r<i;r++){var a=e[r];sn(a,n.length),n=n[a]}return n},n.prototype.set=function(e,t,n){if(!ze(e))throw new TypeError("Array expected");if(e.length<this._size.length)throw new tn(e.length,this._size.length,"<");var r,i,a;o(this,e.map(function(e){return e+1}),n);var s=this._data;for(r=0,i=e.length-1;r<i;r++)sn(a=e[r],s.length),s=s[a];return sn(a=e[e.length-1],s.length),s[a]=t,this},n.prototype.resize=function(e,t,n){if(!je(e))throw new TypeError("Array or Matrix expected");var r=e.valueOf().map(function(e){return Array.isArray(e)&&1===e.length?e[0]:e});return a(n?this.clone():this,r,t)},n.prototype.reshape=function(e,t){var n=t?this.clone():this;return n._data=cn(n._data,e),n._size=e.slice(0),n},n.prototype.clone=function(){return new n({data:yt(this._data),size:yt(this._size),datatype:this._datatype})},n.prototype.size=function(){return this._size.slice(0)},n.prototype.map=function(e){var t=this,r=function n(r,i){return ze(r)?r.map(function(e,t){return n(e,i.concat(t))}):e(r,i,t)}(this._data,[]);return new n(r,void 0!==this._datatype?En(r,mt):void 0)},n.prototype.forEach=function(e){var t=this;!function n(r,i){ze(r)?r.forEach(function(e,t){n(e,i.concat(t))}):e(r,i,t)}(this._data,[])},n.prototype.toArray=function(){return yt(this._data)},n.prototype.valueOf=function(){return this._data},n.prototype.format=function(e){return Jt(this._data,e)},n.prototype.toString=function(){return Jt(this._data)},n.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},n.prototype.diagonal=function(e){if(e){if(Re(e)&&(e=e.toNumber()),!_e(e)||!At(e))throw new TypeError("The parameter k must be an integer number")}else e=0;for(var t=e>0?e:0,r=e<0?-e:0,i=this._size[0],a=this._size[1],o=Math.min(i-r,a-t),s=[],u=0;u<o;u++)s[u]=this._data[u+r][u+t];return new n({data:s,size:[o],datatype:this._datatype})},n.diagonal=function(e,t,r,i){if(!ze(e))throw new TypeError("Array expected, size parameter");if(2!==e.length)throw new Error("Only two dimensions matrix are supported");if(e=e.map(function(e){if(Re(e)&&(e=e.toNumber()),!_e(e)||!At(e)||e<1)throw new Error("Size values must be positive integers");return e}),r){if(Re(r)&&(r=r.toNumber()),!_e(r)||!At(r))throw new TypeError("The parameter k must be an integer number")}else r=0;var a,o=r>0?r:0,s=r<0?-r:0,u=e[0],l=e[1],c=Math.min(u-s,l-o);if(ze(t)){if(t.length!==c)throw new Error("Invalid value array length");a=function(e){return t[e]}}else if(Be(t)){var f=t.size();if(1!==f.length||f[0]!==c)throw new Error("Invalid matrix length");a=function(e){return t.get([e])}}else a=function(){return t};i||(i=Re(a(0))?a(0).mul(0):0);var p=[];if(e.length>0){p=un(p,e,i);for(var h=0;h<c;h++)p[h+s][h+o]=a(h)}return new n({data:p,size:[u,l]})},n.fromJSON=function(e){return new n(e)},n.prototype.swapRows=function(e,t){if(!(_e(e)&&At(e)&&_e(t)&&At(t)))throw new Error("Row index must be positive integers");if(2!==this._size.length)throw new Error("Only two dimensional matrix is supported");return sn(e,this._size[0]),sn(t,this._size[0]),n._swapRows(e,t,this._data),this},n._swapRows=function(e,t,n){var r=n[e];n[e]=n[t],n[t]=r},n},{isClass:!0}),Bi="clone",ji=Sn(Bi,["typed"],function(e){return(0,e.typed)(Bi,{any:yt})});function Li(e){for(var t=0;t<e.length;t++)if(je(e[t]))return!0;return!1}function Fi(e,t){Be(e)&&(e=e.valueOf());for(var n=0,r=e.length;n<r;n++){var i=e[n];Array.isArray(i)?Fi(i,t):t(i)}}function Ui(e,t,n){return e&&"function"==typeof e.map?e.map(function(e){return Ui(e,t)}):t(e)}function $i(e,t,n){var r=Array.isArray(e)?rn(e):e.size();if(t<0||t>=r.length)throw new nn(t,r.length);return Be(e)?e.create(Vi(e.valueOf(),t,n)):Vi(e,t,n)}function Vi(e,t,n){var r,i,a,o;if(t<=0){if(Array.isArray(e[0])){for(o=function(e){var t,n,r=e.length,i=e[0].length,a=[];for(n=0;n<i;n++){var o=[];for(t=0;t<r;t++)o.push(e[t][n]);a.push(o)}return a}(e),i=[],r=0;r<o.length;r++)i[r]=Vi(o[r],t-1,n);return i}for(a=e[0],r=1;r<e.length;r++)a=n(a,e[r]);return a}for(i=[],r=0;r<e.length;r++)i[r]=Vi(e[r],t-1,n);return i}function Hi(e,t,n,r,i,a,o,s,u,l,c){var f,p,h,d,m=e._values,g=e._index,y=e._ptr;if(r)for(p=y[t],h=y[t+1],f=p;f<h;f++)n[d=g[f]]!==a?(n[d]=a,o.push(d),l?(r[d]=u?s(m[f],c):s(c,m[f]),i[d]=a):r[d]=m[f]):(r[d]=u?s(m[f],r[d]):s(r[d],m[f]),i[d]=a);else for(p=y[t],h=y[t+1],f=p;f<h;f++)n[d=g[f]]!==a?(n[d]=a,o.push(d)):i[d]=a}var Wi="isInteger",Gi=Sn(Wi,["typed"],function(e){return(0,e.typed)(Wi,{number:At,BigNumber:function(e){return e.isInt()},Fraction:function(e){return 1===e.d&&isFinite(e.n)},"Array | Matrix":function(e){return Ui(e,this)}})}),Yi="number",Zi="number, number";function Ji(e){return Math.abs(e)}function Xi(e,t){return e+t}function Ki(e,t){return e*t}function Qi(e){return-e}function ea(e){return e}function ta(e){return _t(e)}function na(e){return Math.ceil(e)}function ra(e){return e*e*e}function ia(e){return Math.exp(e)}function aa(e){return Rt(e)}function oa(e,t){if(!At(e)||!At(t))throw new Error("Parameters in function gcd must be integer numbers");for(var n;0!==t;)n=e%t,e=t,t=n;return e<0?-e:e}function sa(e,t){if(!At(e)||!At(t))throw new Error("Parameters in function lcm must be integer numbers");if(0===e||0===t)return 0;for(var n,r=e*t;0!==t;)t=e%(n=t),e=n;return Math.abs(r/e)}function ua(e){return Math.log(e)}function la(e){return kt(e)}function ca(e){return Ot(e)}function fa(e,t){if(t>0)return e-t*Math.floor(e/t);if(0===t)return e;throw new Error("Cannot calculate mod for a negative divisor")}function pa(e,t){var n=t<0;if(n&&(t=-t),0===t)throw new Error("Root must be non-zero");if(e<0&&Math.abs(t)%2!=1)throw new Error("Root must be odd when a is negative.");if(0===e)return n?1/0:0;if(!isFinite(e))return n?0:e;var r=Math.pow(Math.abs(e),1/t);return r=e<0?-r:r,n?1/r:r}function ha(e){return Ct(e)}function da(e){return e*e}function ma(e,t){var n,r,i,a=0,o=1,s=1,u=0;if(!At(e)||!At(t))throw new Error("Parameters in function xgcd must be integer numbers");for(;t;)i=e-(r=Math.floor(e/t))*t,n=a,a=o-r*a,o=n,n=s,s=u-r*s,u=n,e=t,t=i;return e<0?[-e,-o,-u]:[e,e?o:0,u]}function ga(e,t){return e*e<1&&t===1/0||e*e>1&&t===-1/0?0:Math.pow(e,t)}function ya(e){return parseFloat(Pt(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0))}Ji.signature=Yi,Xi.signature=Zi,Ki.signature=Zi,Qi.signature=Yi,ea.signature=Yi,ta.signature=Yi,na.signature=Yi,ra.signature=Yi,ia.signature=Yi,aa.signature=Yi,oa.signature=Zi,sa.signature=Zi,ua.signature=Yi,la.signature=Yi,ca.signature=Yi,fa.signature=Zi,pa.signature=Zi,ha.signature=Yi,da.signature=Yi,ma.signature=Zi,ga.signature=Zi,ya.signature=Zi;var va="number, number";function xa(e,t){if(!At(e)||!At(t))throw new Error("Integers expected in function bitAnd");return e&t}function ba(e){if(!At(e))throw new Error("Integer expected in function bitNot");return~e}function wa(e,t){if(!At(e)||!At(t))throw new Error("Integers expected in function bitOr");return e|t}function Na(e,t){if(!At(e)||!At(t))throw new Error("Integers expected in function bitXor");return e^t}function Ea(e,t){if(!At(e)||!At(t))throw new Error("Integers expected in function leftShift");return e<<t}function Sa(e,t){if(!At(e)||!At(t))throw new Error("Integers expected in function rightArithShift");return e>>t}function Ma(e,t){if(!At(e)||!At(t))throw new Error("Integers expected in function rightLogShift");return e>>>t}function Aa(e,t){if(t<e)return 1;if(t===e)return t;var n=t+e>>1;return Aa(e,n)*Aa(n+1,t)}function Ca(e,t){if(!At(e)||e<0)throw new TypeError("Positive integer value expected in function combinations");if(!At(t)||t<0)throw new TypeError("Positive integer value expected in function combinations");if(t>e)throw new TypeError("k must be less than or equal to n");var n=e-t;return t<n?Aa(n+1,e)/Aa(1,t):Aa(t+1,e)/Aa(1,n)}xa.signature=va,ba.signature="number",wa.signature=va,Na.signature=va,Ea.signature=va,Sa.signature=va,Ma.signature=va,Ca.signature="number, number";var Oa=Math.PI,ka=2*Math.PI,Ta=Math.E,_a="number, number";function Ra(e){return!e}function Da(e,t){return!(!e&&!t)}function Ia(e,t){return!!e!=!!t}function Pa(e,t){return!(!e||!t)}function qa(e){var t;if(At(e))return e<=0?isFinite(e)?1/0:NaN:e>171?1/0:Aa(1,e-1);if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*qa(1-e));if(e>=171.35)return 1/0;if(e>85){var n=e*e,r=n*e,i=r*e,a=i*e;return Math.sqrt(2*Math.PI/e)*Math.pow(e/Math.E,e)*(1+1/(12*e)+1/(288*n)-139/(51840*r)-571/(2488320*i)+163879/(209018880*a)+5246819/(75246796800*a*e))}--e,t=Ba[0];for(var o=1;o<Ba.length;++o)t+=Ba[o]/(e+o);var s=e+za+.5;return Math.sqrt(2*Math.PI)*Math.pow(s,e+.5)*Math.exp(-s)*t}Ra.signature="number",Da.signature=_a,Ia.signature=_a,Pa.signature=_a,qa.signature="number";var za=4.7421875,Ba=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22],ja="number";function La(e){return Ft(e)}function Fa(e){return Math.atan(1/e)}function Ua(e){return isFinite(e)?(Math.log((e+1)/e)+Math.log(e/(e-1)))/2:0}function $a(e){return Math.asin(1/e)}function Va(e){var t=1/e;return Math.log(t+Math.sqrt(t*t+1))}function Ha(e){return Math.acos(1/e)}function Wa(e){var t=1/e,n=Math.sqrt(t*t-1);return Math.log(n+t)}function Ga(e){return Ut(e)}function Ya(e){return $t(e)}function Za(e){return 1/Math.tan(e)}function Ja(e){var t=Math.exp(2*e);return(t+1)/(t-1)}function Xa(e){return 1/Math.sin(e)}function Ka(e){return 0===e?Number.POSITIVE_INFINITY:Math.abs(2/(Math.exp(e)-Math.exp(-e)))*Ct(e)}function Qa(e){return 1/Math.cos(e)}function eo(e){return 2/(Math.exp(e)+Math.exp(-e))}function to(e){return Ht(e)}La.signature=ja,Fa.signature=ja,Ua.signature=ja,$a.signature=ja,Va.signature=ja,Ha.signature=ja,Wa.signature=ja,Ga.signature=ja,Ya.signature=ja,Za.signature=ja,Ja.signature=ja,Xa.signature=ja,Ka.signature=ja,Qa.signature=ja,eo.signature=ja,to.signature=ja;var no="number";function ro(e){return e<0}function io(e){return e>0}function ao(e){return 0===e}function oo(e){return Number.isNaN(e)}ro.signature=no,io.signature=no,ao.signature=no,oo.signature=no;var so="isNegative",uo=Sn(so,["typed"],function(e){return(0,e.typed)(so,{number:ro,BigNumber:function(e){return e.isNeg()&&!e.isZero()&&!e.isNaN()},Fraction:function(e){return e.s<0},Unit:function(e){return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),lo="isNumeric",co=Sn(lo,["typed"],function(e){return(0,e.typed)(lo,{"number | BigNumber | Fraction | boolean":function(){return!0},"Complex | Unit | string | null | undefined | Node":function(){return!1},"Array | Matrix":function(e){return Ui(e,this)}})}),fo="hasNumericValue",po=Sn(fo,["typed","isNumeric"],function(e){var t=e.typed,n=e.isNumeric;return t(fo,{string:function(e){return e.trim().length>0&&!isNaN(Number(e))},any:function(e){return n(e)}})}),ho="isPositive",mo=Sn(ho,["typed"],function(e){return(0,e.typed)(ho,{number:io,BigNumber:function(e){return!e.isNeg()&&!e.isZero()&&!e.isNaN()},Fraction:function(e){return e.s>0&&e.n>0},Unit:function(e){return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),go="isZero",yo=Sn(go,["typed"],function(e){return(0,e.typed)(go,{number:ao,BigNumber:function(e){return e.isZero()},Complex:function(e){return 0===e.re&&0===e.im},Fraction:function(e){return 1===e.d&&0===e.n},Unit:function(e){return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),vo="isNaN",xo=Sn(vo,["typed"],function(e){return(0,e.typed)(vo,{number:oo,BigNumber:function(e){return e.isNaN()},Fraction:function(e){return!1},Complex:function(e){return e.isNaN()},Unit:function(e){return Number.isNaN(e.value)},"Array | Matrix":function(e){return Ui(e,Number.isNaN)}})}),bo="typeOf",wo=Sn(bo,["typed"],function(e){return(0,e.typed)(bo,{any:mt})});function No(e,t,n){if(null==n)return e.eq(t);if(e.eq(t))return!0;if(e.isNaN()||t.isNaN())return!1;if(e.isFinite()&&t.isFinite()){var r=e.minus(t).abs();if(r.isZero())return!0;var i=e.constructor.max(e.abs(),t.abs());return r.lte(i.times(n))}return!1}var Eo="equalScalar",So=Sn(Eo,["typed","config"],function(e){var t=e.typed,n=e.config;return t(Eo,{"boolean, boolean":function(e,t){return e===t},"number, number":function(e,t){return Lt(e,t,n.epsilon)},"BigNumber, BigNumber":function(e,t){return e.eq(t)||No(e,t,n.epsilon)},"Fraction, Fraction":function(e,t){return e.equals(t)},"Complex, Complex":function(e,t){return function(e,t,n){return Lt(e.re,t.re,n)&&Lt(e.im,t.im,n)}(e,t,n.epsilon)},"Unit, Unit":function(e,t){if(!e.equalBase(t))throw new Error("Cannot compare units with different base");return this(e.value,t.value)}})});Sn(Eo,["typed","config"],function(e){var t=e.typed,n=e.config;return t(Eo,{"number, number":function(e,t){return Lt(e,t,n.epsilon)}})});var Mo=Sn("SparseMatrix",["typed","equalScalar","Matrix"],function(e){var t=e.typed,n=e.equalScalar,r=e.Matrix;function i(e,t){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");if(t&&!qe(t))throw new Error("Invalid datatype: "+t);if(Be(e))!function(e,t,n){"SparseMatrix"===t.type?(e._values=t._values?yt(t._values):void 0,e._index=yt(t._index),e._ptr=yt(t._ptr),e._size=yt(t._size),e._datatype=n||t._datatype):a(e,t.valueOf(),n||t._datatype)}(this,e,t);else if(e&&ze(e.index)&&ze(e.ptr)&&ze(e.size))this._values=e.values,this._index=e.index,this._ptr=e.ptr,this._size=e.size,this._datatype=t||e.datatype;else if(ze(e))a(this,e,t);else{if(e)throw new TypeError("Unsupported type of data ("+mt(e)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=t}}function a(e,r,i){e._values=[],e._index=[],e._ptr=[],e._datatype=i;var a=r.length,o=0,s=n,u=0;if(qe(i)&&(s=t.find(n,[i,i])||n,u=t.convert(0,i)),a>0){var l=0;do{e._ptr.push(e._index.length);for(var c=0;c<a;c++){var f=r[c];if(ze(f)){if(0===l&&o<f.length&&(o=f.length),l<f.length){var p=f[l];s(p,u)||(e._values.push(p),e._index.push(c))}}else 0===l&&o<1&&(o=1),s(f,u)||(e._values.push(f),e._index.push(c))}l++}while(l<o)}e._ptr.push(e._index.length),e._size=[a,o]}function o(e,t,n,r){if(n-t===0)return n;for(var i=t;i<n;i++)if(r[i]===e)return i;return t}function s(e,t,n,r,i,a,o){i.splice(e,0,r),a.splice(e,0,t);for(var s=n+1;s<o.length;s++)o[s]++}function u(e,r,i,a){var o=a||0,s=n,u=0;qe(e._datatype)&&(s=t.find(n,[e._datatype,e._datatype])||n,u=t.convert(0,e._datatype),o=t.convert(o,e._datatype));var l,c,f,p=!s(o,u),h=e._size[0],d=e._size[1];if(i>d){for(c=d;c<i;c++)if(e._ptr[c]=e._values.length,p)for(l=0;l<h;l++)e._values.push(o),e._index.push(l);e._ptr[i]=e._values.length}else i<d&&(e._ptr.splice(i+1,d-i),e._values.splice(e._ptr[i],e._values.length),e._index.splice(e._ptr[i],e._index.length));if(d=i,r>h){if(p){var m=0;for(c=0;c<d;c++){e._ptr[c]=e._ptr[c]+m,f=e._ptr[c+1]+m;var g=0;for(l=h;l<r;l++,g++)e._values.splice(f+g,0,o),e._index.splice(f+g,0,l),m++}e._ptr[d]=e._values.length}}else if(r<h){var y=0;for(c=0;c<d;c++){e._ptr[c]=e._ptr[c]-y;var v=e._ptr[c],x=e._ptr[c+1]-y;for(f=v;f<x;f++)(l=e._index[f])>r-1&&(e._values.splice(f,1),e._index.splice(f,1),y++)}e._ptr[c]=e._values.length}return e._size[0]=r,e._size[1]=i,e}function l(e,t,n,r,i){var a,o,s=r[0],u=r[1],l=[];for(a=0;a<s;a++)for(l[a]=[],o=0;o<u;o++)l[a][o]=0;for(o=0;o<u;o++)for(var c=n[o],f=n[o+1],p=c;p<f;p++)l[a=t[p]][o]=e?i?yt(e[p]):e[p]:1;return l}return i.prototype=new r,i.prototype.createSparseMatrix=function(e,t){return new i(e,t)},i.prototype.type="SparseMatrix",i.prototype.isSparseMatrix=!0,i.prototype.getDataType=function(){return En(this._values,mt)},i.prototype.storage=function(){return"sparse"},i.prototype.datatype=function(){return this._datatype},i.prototype.create=function(e,t){return new i(e,t)},i.prototype.density=function(){var e=this._size[0],t=this._size[1];return 0!==e&&0!==t?this._index.length/(e*t):0},i.prototype.subset=function(e,t,n){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return function(e,t){if(!$e(t))throw new TypeError("Invalid index");if(t.isScalar())return e.get(t.min());var n,r,a,o,s=t.size();if(s.length!==e._size.length)throw new tn(s.length,e._size.length);var u=t.min(),l=t.max();for(n=0,r=e._size.length;n<r;n++)sn(u[n],e._size[n]),sn(l[n],e._size[n]);var c=e._values,f=e._index,p=e._ptr,h=t.dimension(0),d=t.dimension(1),m=[],g=[];h.forEach(function(e,t){g[e]=t[0],m[e]=!0});var y=c?[]:void 0,v=[],x=[];return d.forEach(function(e){for(x.push(v.length),a=p[e],o=p[e+1];a<o;a++)n=f[a],!0===m[n]&&(v.push(g[n]),y&&y.push(c[a]))}),x.push(v.length),new i({values:y,index:v,ptr:x,size:s,datatype:e._datatype})}(this,e);case 2:case 3:return function(e,t,n,r){if(!t||!0!==t.isIndex)throw new TypeError("Invalid index");var i,a=t.size(),o=t.isScalar();if(Be(n)?(i=n.size(),n=n.toArray()):i=rn(n),o){if(0!==i.length)throw new TypeError("Scalar expected");e.set(t.min(),n,r)}else{if(1!==a.length&&2!==a.length)throw new tn(a.length,e._size.length,"<");if(i.length<a.length){for(var s=0,u=0;1===a[s]&&1===i[s];)s++;for(;1===a[s];)u++,s++;n=hn(n,a.length,u,i)}if(!xt(a,i))throw new tn(a,i,">");for(var l=t.min()[0],c=t.min()[1],f=i[0],p=i[1],h=0;h<f;h++)for(var d=0;d<p;d++){var m=n[h][d];e.set([h+l,d+c],m,r)}}return e}(this,e,t,n);default:throw new SyntaxError("Wrong number of arguments")}},i.prototype.get=function(e){if(!ze(e))throw new TypeError("Array expected");if(e.length!==this._size.length)throw new tn(e.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var t=e[0],n=e[1];sn(t,this._size[0]),sn(n,this._size[1]);var r=o(t,this._ptr[n],this._ptr[n+1],this._index);return r<this._ptr[n+1]&&this._index[r]===t?this._values[r]:0},i.prototype.set=function(e,r,i){if(!ze(e))throw new TypeError("Array expected");if(e.length!==this._size.length)throw new tn(e.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var a=e[0],l=e[1],c=this._size[0],f=this._size[1],p=n,h=0;qe(this._datatype)&&(p=t.find(n,[this._datatype,this._datatype])||n,h=t.convert(0,this._datatype)),(a>c-1||l>f-1)&&(u(this,Math.max(a+1,c),Math.max(l+1,f),i),c=this._size[0],f=this._size[1]),sn(a,c),sn(l,f);var d=o(a,this._ptr[l],this._ptr[l+1],this._index);return d<this._ptr[l+1]&&this._index[d]===a?p(r,h)?function(e,t,n,r,i){n.splice(e,1),r.splice(e,1);for(var a=t+1;a<i.length;a++)i[a]--}(d,l,this._values,this._index,this._ptr):this._values[d]=r:s(d,a,l,r,this._values,this._index,this._ptr),this},i.prototype.resize=function(e,t,n){if(!je(e))throw new TypeError("Array or Matrix expected");var r=e.valueOf().map(function(e){return Array.isArray(e)&&1===e.length?e[0]:e});if(2!==r.length)throw new Error("Only two dimensions matrix are supported");return r.forEach(function(e){if(!_e(e)||!At(e)||e<0)throw new TypeError("Invalid size, must contain positive integers (size: "+Jt(r)+")")}),u(n?this.clone():this,r[0],r[1],t)},i.prototype.reshape=function(e,t){if(!ze(e))throw new TypeError("Array expected");if(2!==e.length)throw new Error("Sparse matrices can only be reshaped in two dimensions");if(e.forEach(function(t){if(!_e(t)||!At(t)||t<0)throw new TypeError("Invalid size, must contain positive integers (size: "+Jt(e)+")")}),this._size[0]*this._size[1]!==e[0]*e[1])throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var n=t?this.clone():this;if(this._size[0]===e[0]&&this._size[1]===e[1])return n;for(var r=[],i=0;i<n._ptr.length;i++)for(var a=0;a<n._ptr[i+1]-n._ptr[i];a++)r.push(i);for(var u=n._values.slice(),l=n._index.slice(),c=0;c<n._index.length;c++){var f=l[c],p=r[c],h=f*n._size[1]+p;r[c]=h%e[1],l[c]=Math.floor(h/e[1])}n._values.length=0,n._index.length=0,n._ptr.length=e[1]+1,n._size=e.slice();for(var d=0;d<n._ptr.length;d++)n._ptr[d]=0;for(var m=0;m<u.length;m++){var g=l[m],y=r[m],v=u[m];s(o(g,n._ptr[y],n._ptr[y+1],n._index),g,y,v,n._values,n._index,n._ptr)}return n},i.prototype.clone=function(){return new i({values:this._values?yt(this._values):void 0,index:yt(this._index),ptr:yt(this._ptr),size:yt(this._size),datatype:this._datatype})},i.prototype.size=function(){return this._size.slice(0)},i.prototype.map=function(e,r){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var a=this;return function(e,r,a,o,s,u,l){var c=[],f=[],p=[],h=n,d=0;qe(e._datatype)&&(h=t.find(n,[e._datatype,e._datatype])||n,d=t.convert(0,e._datatype));for(var m=function(e,t,n){e=u(e,t,n),h(e,d)||(c.push(e),f.push(t))},g=0;g<=s;g++){p.push(c.length);var y=e._ptr[g],v=e._ptr[g+1];if(l)for(var x=y;x<v;x++){var b=e._index[x];b>=0&&b<=a&&m(e._values[x],b-0,g-0)}else{for(var w={},N=y;N<v;N++)w[e._index[N]]=e._values[N];for(var E=0;E<=a;E++)m(E in w?w[E]:0,E-0,g-0)}}return p.push(c.length),new i({values:c,index:f,ptr:p,size:[a-0+1,s-0+1]})}(this,0,this._size[0]-1,0,this._size[1]-1,function(t,n,r){return e(t,[n,r],a)},r)},i.prototype.forEach=function(e,t){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var n=this._size[0],r=this._size[1],i=0;i<r;i++){var a=this._ptr[i],o=this._ptr[i+1];if(t)for(var s=a;s<o;s++){var u=this._index[s];e(this._values[s],[u,i],this)}else{for(var l={},c=a;c<o;c++)l[this._index[c]]=this._values[c];for(var f=0;f<n;f++)e(f in l?l[f]:0,[f,i],this)}}},i.prototype.toArray=function(){return l(this._values,this._index,this._ptr,this._size,!0)},i.prototype.valueOf=function(){return l(this._values,this._index,this._ptr,this._size,!1)},i.prototype.format=function(e){for(var t=this._size[0],n=this._size[1],r=this.density(),i="Sparse Matrix ["+Jt(t,e)+" x "+Jt(n,e)+"] density: "+Jt(r,e)+"\n",a=0;a<n;a++)for(var o=this._ptr[a],s=this._ptr[a+1],u=o;u<s;u++)i+="\n ("+Jt(this._index[u],e)+", "+Jt(a,e)+") ==> "+(this._values?Jt(this._values[u],e):"X");return i},i.prototype.toString=function(){return Jt(this.toArray())},i.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},i.prototype.diagonal=function(e){if(e){if(Re(e)&&(e=e.toNumber()),!_e(e)||!At(e))throw new TypeError("The parameter k must be an integer number")}else e=0;var t=e>0?e:0,n=e<0?-e:0,r=this._size[0],a=this._size[1],o=Math.min(r-n,a-t),s=[],u=[],l=[];l[0]=0;for(var c=t;c<a&&s.length<o;c++)for(var f=this._ptr[c],p=this._ptr[c+1],h=f;h<p;h++){var d=this._index[h];if(d===c-t+n){s.push(this._values[h]),u[s.length-1]=d-n;break}}return l.push(s.length),new i({values:s,index:u,ptr:l,size:[o,1]})},i.fromJSON=function(e){return new i(e)},i.diagonal=function(e,r,a,o,s){if(!ze(e))throw new TypeError("Array expected, size parameter");if(2!==e.length)throw new Error("Only two dimensions matrix are supported");if(e=e.map(function(e){if(Re(e)&&(e=e.toNumber()),!_e(e)||!At(e)||e<1)throw new Error("Size values must be positive integers");return e}),a){if(Re(a)&&(a=a.toNumber()),!_e(a)||!At(a))throw new TypeError("The parameter k must be an integer number")}else a=0;var u=n,l=0;qe(s)&&(u=t.find(n,[s,s])||n,l=t.convert(0,s));var c,f=a>0?a:0,p=a<0?-a:0,h=e[0],d=e[1],m=Math.min(h-p,d-f);if(ze(r)){if(r.length!==m)throw new Error("Invalid value array length");c=function(e){return r[e]}}else if(Be(r)){var g=r.size();if(1!==g.length||g[0]!==m)throw new Error("Invalid matrix length");c=function(e){return r.get([e])}}else c=function(){return r};for(var y=[],v=[],x=[],b=0;b<d;b++){x.push(y.length);var w=b-f;if(w>=0&&w<m){var N=c(w);u(N,l)||(v.push(w+p),y.push(N))}}return x.push(y.length),new i({values:y,index:v,ptr:x,size:[h,d]})},i.prototype.swapRows=function(e,t){if(!(_e(e)&&At(e)&&_e(t)&&At(t)))throw new Error("Row index must be positive integers");if(2!==this._size.length)throw new Error("Only two dimensional matrix is supported");return sn(e,this._size[0]),sn(t,this._size[0]),i._swapRows(e,t,this._size[1],this._values,this._index,this._ptr),this},i._forEachRow=function(e,t,n,r,i){for(var a=r[e],o=r[e+1],s=a;s<o;s++)i(n[s],t[s])},i._swapRows=function(e,t,n,r,i,a){for(var s=0;s<n;s++){var u=a[s],l=a[s+1],c=o(e,u,l,i),f=o(t,u,l,i);if(c<l&&f<l&&i[c]===e&&i[f]===t){if(r){var p=r[c];r[c]=r[f],r[f]=p}}else if(c<l&&i[c]===e&&(f>=l||i[f]!==t)){var h=r?r[c]:void 0;i.splice(f,0,t),r&&r.splice(f,0,h),i.splice(f<=c?c+1:c,1),r&&r.splice(f<=c?c+1:c,1)}else if(f<l&&i[f]===t&&(c>=l||i[c]!==e)){var d=r?r[f]:void 0;i.splice(c,0,e),r&&r.splice(c,0,d),i.splice(c<=f?f+1:f,1),r&&r.splice(c<=f?f+1:f,1)}}},i},{isClass:!0}),Ao=Sn("number",["typed"],function(e){var t=(0,e.typed)("number",{"":function(){return 0},number:function(e){return e},string:function(e){if("NaN"===e)return NaN;var t=Number(e);if(isNaN(t))throw new SyntaxError('String "'+e+'" is no valid number');if(["0b","0o","0x"].includes(e.substring(0,2))){if(t>Math.pow(2,32)-1)throw new SyntaxError('String "'.concat(e,'" is out of range'));2147483648&t&&(t=-1*~(t-1))}return t},BigNumber:function(e){return e.toNumber()},Fraction:function(e){return e.valueOf()},Unit:function(e){throw new Error("Second argument with valueless unit expected")},null:function(e){return 0},"Unit, string | Unit":function(e,t){return e.toNumber(t)},"Array | Matrix":function(e){return Ui(e,this)}});return t.fromJSON=function(e){return parseFloat(e.value)},t}),Co="string",Oo=Sn(Co,["typed"],function(e){return(0,e.typed)(Co,{"":function(){return""},number:Dt,null:function(e){return"null"},boolean:function(e){return e+""},string:function(e){return e},"Array | Matrix":function(e){return Ui(e,this)},any:function(e){return String(e)}})}),ko="boolean",To=Sn(ko,["typed"],function(e){return(0,e.typed)(ko,{"":function(){return!1},boolean:function(e){return e},number:function(e){return!!e},null:function(e){return!1},BigNumber:function(e){return!e.isZero()},string:function(e){var t=e.toLowerCase();if("true"===t)return!0;if("false"===t)return!1;var n=Number(e);if(""!==e&&!isNaN(n))return!!n;throw new Error('Cannot convert "'+e+'" to a boolean')},"Array | Matrix":function(e){return Ui(e,this)}})}),_o=Sn("bignumber",["typed","BigNumber"],function(e){var t=e.typed,n=e.BigNumber;return t("bignumber",{"":function(){return new n(0)},number:function(e){return new n(e+"")},string:function(e){return new n(e)},BigNumber:function(e){return e},Fraction:function(e){return new n(e.n).div(e.d).times(e.s)},null:function(e){return new n(0)},"Array | Matrix":function(e){return Ui(e,this)}})}),Ro=Sn("complex",["typed","Complex"],function(e){var t=e.typed,n=e.Complex;return t("complex",{"":function(){return n.ZERO},number:function(e){return new n(e,0)},"number, number":function(e,t){return new n(e,t)},"BigNumber, BigNumber":function(e,t){return new n(e.toNumber(),t.toNumber())},Fraction:function(e){return new n(e.valueOf(),0)},Complex:function(e){return e.clone()},string:function(e){return n(e)},null:function(e){return n(0)},Object:function(e){if("re"in e&&"im"in e)return new n(e.re,e.im);if("r"in e&&"phi"in e||"abs"in e&&"arg"in e)return new n(e);throw new Error("Expected object with properties (re and im) or (r and phi) or (abs and arg)")},"Array | Matrix":function(e){return Ui(e,this)}})}),Do=Sn("fraction",["typed","Fraction"],function(e){var t=e.typed,n=e.Fraction;return t("fraction",{number:function(e){if(!isFinite(e)||isNaN(e))throw new Error(e+" cannot be represented as a fraction");return new n(e)},string:function(e){return new n(e)},"number, number":function(e,t){return new n(e,t)},null:function(e){return new n(0)},BigNumber:function(e){return new n(e.toString())},Fraction:function(e){return e},Object:function(e){return new n(e)},"Array | Matrix":function(e){return Ui(e,this)}})}),Io="matrix",Po=Sn(Io,["typed","Matrix","DenseMatrix","SparseMatrix"],function(e){var t=e.typed;e.Matrix;var n=e.DenseMatrix,r=e.SparseMatrix;return t(Io,{"":function(){return i([])},string:function(e){return i([],e)},"string, string":function(e,t){return i([],e,t)},Array:function(e){return i(e)},Matrix:function(e){return i(e,e.storage())},"Array | Matrix, string":i,"Array | Matrix, string, string":i});function i(e,t,i){if("dense"===t||"default"===t||void 0===t)return new n(e,i);if("sparse"===t)return new r(e,i);throw new TypeError("Unknown matrix type "+JSON.stringify(t)+".")}}),qo="splitUnit",zo=Sn(qo,["typed"],function(e){return(0,e.typed)(qo,{"Unit, Array":function(e,t){return e.splitUnit(t)}})}),Bo="unaryMinus",jo=Sn(Bo,["typed"],function(e){return(0,e.typed)(Bo,{number:Qi,Complex:function(e){return e.neg()},BigNumber:function(e){return e.neg()},Fraction:function(e){return e.neg()},Unit:function(e){var t=e.clone();return t.value=this(e.value),t},"Array | Matrix":function(e){return Ui(e,this)}})}),Lo="unaryPlus",Fo=Sn(Lo,["typed","config","BigNumber"],function(e){var t=e.typed,n=e.config,r=e.BigNumber;return t(Lo,{number:ea,Complex:function(e){return e},BigNumber:function(e){return e},Fraction:function(e){return e},Unit:function(e){return e.clone()},"Array | Matrix":function(e){return Ui(e,this)},"boolean | string":function(e){return"BigNumber"===n.number?new r(+e):+e}})}),Uo=Sn("abs",["typed"],function(e){return(0,e.typed)("abs",{number:Ji,Complex:function(e){return e.abs()},BigNumber:function(e){return e.abs()},Fraction:function(e){return e.abs()},"Array | Matrix":function(e){return Ui(e,this)},Unit:function(e){return e.abs()}})}),$o="apply",Vo=Sn($o,["typed","isInteger"],function(e){var t=e.typed,n=e.isInteger;return t($o,{"Array | Matrix, number | BigNumber, function":function(e,t,r){if(!n(t))throw new TypeError("Integer number expected for dimension");var i=Array.isArray(e)?rn(e):e.size();if(t<0||t>=i.length)throw new nn(t,i.length);return Be(e)?e.create(Ho(e.valueOf(),t,r)):Ho(e,t,r)}})});function Ho(e,t,n){var r,i,a;if(t<=0){if(Array.isArray(e[0])){for(a=function(e){var t,n,r=e.length,i=e[0].length,a=[];for(n=0;n<i;n++){var o=[];for(t=0;t<r;t++)o.push(e[t][n]);a.push(o)}return a}(e),i=[],r=0;r<a.length;r++)i[r]=Ho(a[r],t-1,n);return i}return n(e)}for(i=[],r=0;r<e.length;r++)i[r]=Ho(e[r],t-1,n);return i}var Wo="addScalar",Go=Sn(Wo,["typed"],function(e){return(0,e.typed)(Wo,{"number, number":Xi,"Complex, Complex":function(e,t){return e.add(t)},"BigNumber, BigNumber":function(e,t){return e.plus(t)},"Fraction, Fraction":function(e,t){return e.add(t)},"Unit, Unit":function(e,t){if(null===e.value||void 0===e.value)throw new Error("Parameter x contains a unit with undefined value");if(null===t.value||void 0===t.value)throw new Error("Parameter y contains a unit with undefined value");if(!e.equalBase(t))throw new Error("Units do not match");var n=e.clone();return n.value=this(n.value,t.value),n.fixPrefix=!1,n}})}),Yo="cbrt",Zo=Sn(Yo,["config","typed","isNegative","unaryMinus","matrix","Complex","BigNumber","Fraction"],function(e){var t=e.config,n=e.typed,r=e.isNegative,i=e.unaryMinus,a=e.matrix,o=e.Complex,s=e.BigNumber,u=e.Fraction;return n(Yo,{number:ta,Complex:l,"Complex, boolean":l,BigNumber:function(e){return e.cbrt()},Unit:function(e){if(e.value&&De(e.value)){var t=e.clone();return t.value=1,(t=t.pow(1/3)).value=l(e.value),t}var n,a=r(e.value);a&&(e.value=i(e.value)),n=Re(e.value)?new s(1).div(3):Ie(e.value)?new u(1,3):1/3;var o=e.pow(n);return a&&(o.value=i(o.value)),o},"Array | Matrix":function(e){return Ui(e,this)}});function l(e,n){var r=e.arg()/3,i=e.abs(),s=new o(ta(i),0).mul(new o(0,r).exp());if(n){var u=[s,new o(ta(i),0).mul(new o(0,r+2*Math.PI/3).exp()),new o(ta(i),0).mul(new o(0,r-2*Math.PI/3).exp())];return"Array"===t.matrix?u:a(u)}return s}}),Jo=Sn("algorithm11",["typed","equalScalar"],function(e){var t=e.typed,n=e.equalScalar;return function(e,r,i,a){var o=e._values,s=e._index,u=e._ptr,l=e._size,c=e._datatype;if(!o)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var f,p=l[0],h=l[1],d=n,m=0,g=i;"string"==typeof c&&(f=c,d=t.find(n,[f,f]),m=t.convert(0,f),r=t.convert(r,f),g=t.find(i,[f,f]));for(var y=[],v=[],x=[],b=0;b<h;b++){x[b]=v.length;for(var w=u[b],N=u[b+1],E=w;E<N;E++){var S=s[E],M=a?g(r,o[E]):g(o[E],r);d(M,m)||(v.push(S),y.push(M))}}return x[h]=v.length,e.createSparseMatrix({values:y,index:v,ptr:x,size:[p,h],datatype:f})}}),Xo=Sn("algorithm14",["typed"],function(e){var t=e.typed;return function(e,r,i,a){var o,s=e._data,u=e._size,l=e._datatype,c=i;"string"==typeof l&&(o=l,r=t.convert(r,o),c=t.find(i,[o,o]));var f=u.length>0?n(c,0,u,u[0],s,r,a):[];return e.createDenseMatrix({data:f,size:yt(u),datatype:o})};function n(e,t,r,i,a,o,s){var u=[];if(t===r.length-1)for(var l=0;l<i;l++)u[l]=s?e(o,a[l]):e(a[l],o);else for(var c=0;c<i;c++)u[c]=n(e,t+1,r,r[t+1],a[c],o,s);return u}});function Ko(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Qo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Qo(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var es=Sn("ceil",["typed","config","round","matrix","equalScalar"],function(e){var t=e.typed,n=e.config,r=e.round,i=e.matrix,a=e.equalScalar,o=Jo({typed:t,equalScalar:a}),s=Xo({typed:t});return t("ceil",{number:function(e){return Lt(e,r(e),n.epsilon)?r(e):na(e)},"number, number":function(e,t){if(Lt(e,r(e,t),n.epsilon))return r(e,t);var i=Ko("".concat(e,"e").split("e"),2),a=i[0],o=i[1],s=Math.ceil(Number("".concat(a,"e").concat(Number(o)+t))),u=Ko("".concat(s,"e").split("e"),2);return a=u[0],o=u[1],Number("".concat(a,"e").concat(Number(o)-t))},Complex:function(e){return e.ceil()},"Complex, number":function(e,t){return e.ceil(t)},BigNumber:function(e){return No(e,r(e),n.epsilon)?r(e):e.ceil()},"BigNumber, BigNumber":function(e,t){return No(e,r(e,t),n.epsilon)?r(e,t):e.toDecimalPlaces(t.toNumber(),pi.ROUND_CEIL)},Fraction:function(e){return e.ceil()},"Fraction, number":function(e,t){return e.ceil(t)},"Array | Matrix":function(e){return Ui(e,this)},"Array | Matrix, number":function(e,t){var n=this;return Ui(e,function(e){return n(e,t)})},"SparseMatrix, number | BigNumber":function(e,t){return o(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return s(e,t,this,!1)},"number | Complex | BigNumber, Array":function(e,t){return s(i(t),e,this,!0).valueOf()}})}),ts="cube",ns=Sn(ts,["typed"],function(e){return(0,e.typed)(ts,{number:ra,Complex:function(e){return e.mul(e).mul(e)},BigNumber:function(e){return e.times(e).times(e)},Fraction:function(e){return e.pow(3)},"Array | Matrix":function(e){return Ui(e,this)},Unit:function(e){return e.pow(3)}})}),rs=Sn("exp",["typed"],function(e){return(0,e.typed)("exp",{number:ia,Complex:function(e){return e.exp()},BigNumber:function(e){return e.exp()},"Array | Matrix":function(e){return Ui(e,this)}})}),is="expm1",as=Sn(is,["typed","Complex"],function(e){var t=e.typed,n=e.Complex;return t(is,{number:aa,Complex:function(e){var t=Math.exp(e.re);return new n(t*Math.cos(e.im)-1,t*Math.sin(e.im))},BigNumber:function(e){return e.exp().minus(1)},"Array | Matrix":function(e){return Ui(e,this)}})}),os=Sn("fix",["typed","Complex","matrix","ceil","floor"],function(e){var t=e.typed,n=e.Complex,r=e.matrix,i=e.ceil,a=e.floor,o=Xo({typed:t});return t("fix",{number:function(e){return e>0?a(e):i(e)},"number, number | BigNumber":function(e,t){return e>0?a(e,t):i(e,t)},Complex:function(e){return new n(e.re>0?Math.floor(e.re):Math.ceil(e.re),e.im>0?Math.floor(e.im):Math.ceil(e.im))},"Complex, number | BigNumber":function(e,t){return new n(e.re>0?a(e.re,t):i(e.re,t),e.im>0?a(e.im,t):i(e.im,t))},BigNumber:function(e){return e.isNegative()?i(e):a(e)},"BigNumber, number | BigNumber":function(e,t){return e.isNegative()?i(e,t):a(e,t)},Fraction:function(e){return e.s<0?e.ceil():e.floor()},"Fraction, number | BigNumber":function(e,t){return e.s<0?e.ceil(t):e.floor(t)},"Array | Matrix":function(e){return Ui(e,this)},"Array | Matrix, number | BigNumber":function(e,t){var n=this;return Ui(e,function(e){return n(e,t)})},"number | Complex | BigNumber, Array":function(e,t){return o(r(t),e,this,!0).valueOf()}})});function ss(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}}(e,t)||function(e,t){if(e){if("string"==typeof e)return us(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?us(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function us(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ls=Sn("floor",["typed","config","round","matrix","equalScalar"],function(e){var t=e.typed,n=e.config,r=e.round,i=e.matrix,a=e.equalScalar,o=Jo({typed:t,equalScalar:a}),s=Xo({typed:t});return t("floor",{number:function(e){return Lt(e,r(e),n.epsilon)?r(e):Math.floor(e)},"number, number":function(e,t){if(Lt(e,r(e,t),n.epsilon))return r(e,t);var i=ss("".concat(e,"e").split("e"),2),a=i[0],o=i[1],s=Math.floor(Number("".concat(a,"e").concat(Number(o)+t))),u=ss("".concat(s,"e").split("e"),2);return a=u[0],o=u[1],Number("".concat(a,"e").concat(Number(o)-t))},Complex:function(e){return e.floor()},"Complex, number":function(e,t){return e.floor(t)},BigNumber:function(e){return No(e,r(e),n.epsilon)?r(e):e.floor()},"BigNumber, BigNumber":function(e,t){return No(e,r(e,t),n.epsilon)?r(e,t):e.toDecimalPlaces(t.toNumber(),pi.ROUND_FLOOR)},Fraction:function(e){return e.floor()},"Fraction, number":function(e,t){return e.floor(t)},"Array | Matrix":function(e){return Ui(e,this)},"Array | Matrix, number":function(e,t){var n=this;return Ui(e,function(e){return n(e,t)})},"SparseMatrix, number | BigNumber":function(e,t){return o(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return s(e,t,this,!1)},"number | Complex | BigNumber, Array":function(e,t){return s(i(t),e,this,!0).valueOf()}})}),cs=Sn("algorithm01",["typed"],function(e){var t=e.typed;return function(e,n,r,i){var a=e._data,o=e._size,s=e._datatype,u=n._values,l=n._index,c=n._ptr,f=n._size,p=n._datatype;if(o.length!==f.length)throw new tn(o.length,f.length);if(o[0]!==f[0]||o[1]!==f[1])throw new RangeError("Dimension mismatch. Matrix A ("+o+") must match Matrix B ("+f+")");if(!u)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var h,d,m=o[0],g=o[1],y="string"==typeof s&&s===p?s:void 0,v=y?t.find(r,[y,y]):r,x=[];for(h=0;h<m;h++)x[h]=[];var b=[],w=[];for(d=0;d<g;d++){for(var N=d+1,E=c[d],S=c[d+1],M=E;M<S;M++)b[h=l[M]]=i?v(u[M],a[h][d]):v(a[h][d],u[M]),w[h]=N;for(h=0;h<m;h++)w[h]===N?x[h][d]=b[h]:x[h][d]=a[h][d]}return e.createDenseMatrix({data:x,size:[m,g],datatype:y})}}),fs=Sn("algorithm04",["typed","equalScalar"],function(e){var t=e.typed,n=e.equalScalar;return function(e,r,i){var a=e._values,o=e._index,s=e._ptr,u=e._size,l=e._datatype,c=r._values,f=r._index,p=r._ptr,h=r._size,d=r._datatype;if(u.length!==h.length)throw new tn(u.length,h.length);if(u[0]!==h[0]||u[1]!==h[1])throw new RangeError("Dimension mismatch. Matrix A ("+u+") must match Matrix B ("+h+")");var m,g=u[0],y=u[1],v=n,x=0,b=i;"string"==typeof l&&l===d&&(m=l,v=t.find(n,[m,m]),x=t.convert(0,m),b=t.find(i,[m,m]));var w,N,E,S,M,A=a&&c?[]:void 0,C=[],O=[],k=a&&c?[]:void 0,T=a&&c?[]:void 0,_=[],R=[];for(N=0;N<y;N++){O[N]=C.length;var D=N+1;for(S=s[N],M=s[N+1],E=S;E<M;E++)w=o[E],C.push(w),_[w]=D,k&&(k[w]=a[E]);for(S=p[N],M=p[N+1],E=S;E<M;E++)if(_[w=f[E]]===D){if(k){var I=b(k[w],c[E]);v(I,x)?_[w]=null:k[w]=I}}else C.push(w),R[w]=D,T&&(T[w]=c[E]);if(k&&T)for(E=O[N];E<C.length;)_[w=C[E]]===D?(A[E]=k[w],E++):R[w]===D?(A[E]=T[w],E++):C.splice(E,1)}return O[y]=C.length,e.createSparseMatrix({values:A,index:C,ptr:O,size:[g,y],datatype:m})}}),ps=Sn("algorithm10",["typed","DenseMatrix"],function(e){var t=e.typed,n=e.DenseMatrix;return function(e,r,i,a){var o=e._values,s=e._index,u=e._ptr,l=e._size,c=e._datatype;if(!o)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var f,p=l[0],h=l[1],d=i;"string"==typeof c&&(f=c,r=t.convert(r,f),d=t.find(i,[f,f]));for(var m=[],g=[],y=[],v=0;v<h;v++){for(var x=v+1,b=u[v],w=u[v+1],N=b;N<w;N++){var E=s[N];g[E]=o[N],y[E]=x}for(var S=0;S<p;S++)0===v&&(m[S]=[]),y[S]===x?m[S][v]=a?d(r,g[S]):d(g[S],r):m[S][v]=r}return new n({data:m,size:[p,h],datatype:f})}}),hs=Sn("algorithm13",["typed"],function(e){var t=e.typed;return function(e,r,i){var a,o=e._data,s=e._size,u=e._datatype,l=r._data,c=r._size,f=r._datatype,p=[];if(s.length!==c.length)throw new tn(s.length,c.length);for(var h=0;h<s.length;h++){if(s[h]!==c[h])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+c+")");p[h]=s[h]}var d=i;"string"==typeof u&&u===f&&(a=u,d=t.find(i,[a,a]));var m=p.length>0?n(d,0,p,p[0],o,l):[];return e.createDenseMatrix({data:m,size:p,datatype:a})};function n(e,t,r,i,a,o){var s=[];if(t===r.length-1)for(var u=0;u<i;u++)s[u]=e(a[u],o[u]);else for(var l=0;l<i;l++)s[l]=n(e,t+1,r,r[t+1],a[l],o[l]);return s}}),ds=Sn("gcd",["typed","matrix","equalScalar","BigNumber","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.BigNumber,a=e.DenseMatrix,o=cs({typed:t}),s=fs({typed:t,equalScalar:r}),u=ps({typed:t,DenseMatrix:a}),l=hs({typed:t}),c=Xo({typed:t});return t("gcd",{"number, number":oa,"BigNumber, BigNumber":function(e,t){if(!e.isInt()||!t.isInt())throw new Error("Parameters in function gcd must be integer numbers");for(var n=new i(0);!t.isZero();){var r=e.mod(t);e=t,t=r}return e.lt(n)?e.neg():e},"Fraction, Fraction":function(e,t){return e.gcd(t)},"SparseMatrix, SparseMatrix":function(e,t){return s(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return o(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return o(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return l(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, number | BigNumber":function(e,t){return u(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return c(e,t,this,!1)},"number | BigNumber, SparseMatrix":function(e,t){return u(t,e,this,!0)},"number | BigNumber, DenseMatrix":function(e,t){return c(t,e,this,!0)},"Array, number | BigNumber":function(e,t){return c(n(e),t,this,!1).valueOf()},"number | BigNumber, Array":function(e,t){return c(n(t),e,this,!0).valueOf()},"Array | Matrix | number | BigNumber, Array | Matrix | number | BigNumber, ...Array | Matrix | number | BigNumber":function(e,t,n){for(var r=this(e,t),i=0;i<n.length;i++)r=this(r,n[i]);return r}})}),ms=Sn("algorithm02",["typed","equalScalar"],function(e){var t=e.typed,n=e.equalScalar;return function(e,r,i,a){var o=e._data,s=e._size,u=e._datatype,l=r._values,c=r._index,f=r._ptr,p=r._size,h=r._datatype;if(s.length!==p.length)throw new tn(s.length,p.length);if(s[0]!==p[0]||s[1]!==p[1])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+p+")");if(!l)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var d,m=s[0],g=s[1],y=n,v=0,x=i;"string"==typeof u&&u===h&&(d=u,y=t.find(n,[d,d]),v=t.convert(0,d),x=t.find(i,[d,d]));for(var b=[],w=[],N=[],E=0;E<g;E++){N[E]=w.length;for(var S=f[E],M=f[E+1],A=S;A<M;A++){var C=c[A],O=a?x(l[A],o[C][E]):x(o[C][E],l[A]);y(O,v)||(w.push(C),b.push(O))}}return N[g]=w.length,r.createSparseMatrix({values:b,index:w,ptr:N,size:[m,g],datatype:d})}}),gs=Sn("algorithm06",["typed","equalScalar"],function(e){var t=e.typed,n=e.equalScalar;return function(e,r,i){var a=e._values,o=e._size,s=e._datatype,u=r._values,l=r._size,c=r._datatype;if(o.length!==l.length)throw new tn(o.length,l.length);if(o[0]!==l[0]||o[1]!==l[1])throw new RangeError("Dimension mismatch. Matrix A ("+o+") must match Matrix B ("+l+")");var f,p=o[0],h=o[1],d=n,m=0,g=i;"string"==typeof s&&s===c&&(f=s,d=t.find(n,[f,f]),m=t.convert(0,f),g=t.find(i,[f,f]));for(var y=a&&u?[]:void 0,v=[],x=[],b=y?[]:void 0,w=[],N=[],E=0;E<h;E++){x[E]=v.length;var S=E+1;if(Hi(e,E,w,b,N,S,v,g),Hi(r,E,w,b,N,S,v,g),b)for(var M=x[E];M<v.length;){var A=v[M];if(N[A]===S){var C=b[A];d(C,m)?v.splice(M,1):(y.push(C),M++)}else v.splice(M,1)}else for(var O=x[E];O<v.length;)N[v[O]]!==S?v.splice(O,1):O++}return x[h]=v.length,e.createSparseMatrix({values:y,index:v,ptr:x,size:[p,h],datatype:f})}}),ys=Sn("lcm",["typed","matrix","equalScalar"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=ms({typed:t,equalScalar:r}),a=gs({typed:t,equalScalar:r}),o=Jo({typed:t,equalScalar:r}),s=hs({typed:t}),u=Xo({typed:t});return t("lcm",{"number, number":sa,"BigNumber, BigNumber":function(e,t){if(!e.isInt()||!t.isInt())throw new Error("Parameters in function lcm must be integer numbers");if(e.isZero())return e;if(t.isZero())return t;for(var n=e.times(t);!t.isZero();){var r=t;t=e.mod(r),e=r}return n.div(e).abs()},"Fraction, Fraction":function(e,t){return e.lcm(t)},"SparseMatrix, SparseMatrix":function(e,t){return a(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return i(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return i(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return s(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, number | BigNumber":function(e,t){return o(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return u(e,t,this,!1)},"number | BigNumber, SparseMatrix":function(e,t){return o(t,e,this,!0)},"number | BigNumber, DenseMatrix":function(e,t){return u(t,e,this,!0)},"Array, number | BigNumber":function(e,t){return u(n(e),t,this,!1).valueOf()},"number | BigNumber, Array":function(e,t){return u(n(t),e,this,!0).valueOf()},"Array | Matrix | number | BigNumber, Array | Matrix | number | BigNumber, ...Array | Matrix | number | BigNumber":function(e,t,n){for(var r=this(e,t),i=0;i<n.length;i++)r=this(r,n[i]);return r}})}),vs="log10",xs=Sn(vs,["typed","config","Complex"],function(e){var t=e.typed,n=e.config,r=e.Complex;return t(vs,{number:function(e){return e>=0||n.predictable?la(e):new r(e,0).log().div(Math.LN10)},Complex:function(e){return new r(e).log().div(Math.LN10)},BigNumber:function(e){return!e.isNegative()||n.predictable?e.log():new r(e.toNumber(),0).log().div(Math.LN10)},"Array | Matrix":function(e){return Ui(e,this)}})}),bs="log2",ws=Sn(bs,["typed","config","Complex"],function(e){var t=e.typed,n=e.config,r=e.Complex;return t(bs,{number:function(e){return e>=0||n.predictable?ca(e):i(new r(e,0))},Complex:i,BigNumber:function(e){return!e.isNegative()||n.predictable?e.log(2):i(new r(e.toNumber(),0))},"Array | Matrix":function(e){return Ui(e,this)}});function i(e){var t=Math.sqrt(e.re*e.re+e.im*e.im);return new r(Math.log2?Math.log2(t):Math.log(t)/Math.LN2,Math.atan2(e.im,e.re)/Math.LN2)}}),Ns=Sn("algorithm03",["typed"],function(e){var t=e.typed;return function(e,n,r,i){var a=e._data,o=e._size,s=e._datatype,u=n._values,l=n._index,c=n._ptr,f=n._size,p=n._datatype;if(o.length!==f.length)throw new tn(o.length,f.length);if(o[0]!==f[0]||o[1]!==f[1])throw new RangeError("Dimension mismatch. Matrix A ("+o+") must match Matrix B ("+f+")");if(!u)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var h,d=o[0],m=o[1],g=0,y=r;"string"==typeof s&&s===p&&(h=s,g=t.convert(0,h),y=t.find(r,[h,h]));for(var v=[],x=0;x<d;x++)v[x]=[];for(var b=[],w=[],N=0;N<m;N++){for(var E=N+1,S=c[N],M=c[N+1],A=S;A<M;A++){var C=l[A];b[C]=i?y(u[A],a[C][N]):y(a[C][N],u[A]),w[C]=E}for(var O=0;O<d;O++)w[O]===E?v[O][N]=b[O]:v[O][N]=i?y(g,a[O][N]):y(a[O][N],g)}return e.createDenseMatrix({data:v,size:[d,m],datatype:h})}}),Es=Sn("algorithm05",["typed","equalScalar"],function(e){var t=e.typed,n=e.equalScalar;return function(e,r,i){var a=e._values,o=e._index,s=e._ptr,u=e._size,l=e._datatype,c=r._values,f=r._index,p=r._ptr,h=r._size,d=r._datatype;if(u.length!==h.length)throw new tn(u.length,h.length);if(u[0]!==h[0]||u[1]!==h[1])throw new RangeError("Dimension mismatch. Matrix A ("+u+") must match Matrix B ("+h+")");var m,g=u[0],y=u[1],v=n,x=0,b=i;"string"==typeof l&&l===d&&(m=l,v=t.find(n,[m,m]),x=t.convert(0,m),b=t.find(i,[m,m]));var w,N,E,S,M=a&&c?[]:void 0,A=[],C=[],O=M?[]:void 0,k=M?[]:void 0,T=[],_=[];for(N=0;N<y;N++){C[N]=A.length;var R=N+1;for(E=s[N],S=s[N+1];E<S;E++)w=o[E],A.push(w),T[w]=R,O&&(O[w]=a[E]);for(E=p[N],S=p[N+1];E<S;E++)T[w=f[E]]!==R&&A.push(w),_[w]=R,k&&(k[w]=c[E]);if(M)for(E=C[N];E<A.length;){var D=T[w=A[E]],I=_[w];if(D===R||I===R){var P=b(D===R?O[w]:x,I===R?k[w]:x);v(P,x)?A.splice(E,1):(M.push(P),E++)}}}return C[y]=A.length,e.createSparseMatrix({values:M,index:A,ptr:C,size:[g,y],datatype:m})}}),Ss=Sn("algorithm12",["typed","DenseMatrix"],function(e){var t=e.typed,n=e.DenseMatrix;return function(e,r,i,a){var o=e._values,s=e._index,u=e._ptr,l=e._size,c=e._datatype;if(!o)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var f,p=l[0],h=l[1],d=i;"string"==typeof c&&(f=c,r=t.convert(r,f),d=t.find(i,[f,f]));for(var m=[],g=[],y=[],v=0;v<h;v++){for(var x=v+1,b=u[v],w=u[v+1],N=b;N<w;N++){var E=s[N];g[E]=o[N],y[E]=x}for(var S=0;S<p;S++)0===v&&(m[S]=[]),y[S]===x?m[S][v]=a?d(r,g[S]):d(g[S],r):m[S][v]=a?d(r,0):d(0,r)}return new n({data:m,size:[p,h],datatype:f})}}),Ms=Sn("mod",["typed","matrix","equalScalar","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.DenseMatrix,a=ms({typed:t,equalScalar:r}),o=Ns({typed:t}),s=Es({typed:t,equalScalar:r}),u=Jo({typed:t,equalScalar:r}),l=Ss({typed:t,DenseMatrix:i}),c=hs({typed:t}),f=Xo({typed:t});return t("mod",{"number, number":fa,"BigNumber, BigNumber":function(e,t){if(t.isNeg())throw new Error("Cannot calculate mod for a negative divisor");return t.isZero()?e:e.mod(t)},"Fraction, Fraction":function(e,t){if(t.compare(0)<0)throw new Error("Cannot calculate mod for a negative divisor");return e.compare(0)>=0?e.mod(t):e.mod(t).add(t).mod(t)},"SparseMatrix, SparseMatrix":function(e,t){return s(e,t,this,!1)},"SparseMatrix, DenseMatrix":function(e,t){return a(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return o(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return c(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return u(e,t,this,!1)},"DenseMatrix, any":function(e,t){return f(e,t,this,!1)},"any, SparseMatrix":function(e,t){return l(t,e,this,!0)},"any, DenseMatrix":function(e,t){return f(t,e,this,!0)},"Array, any":function(e,t){return f(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return f(n(t),e,this,!0).valueOf()}})}),As=Sn("multiplyScalar",["typed"],function(e){return(0,e.typed)("multiplyScalar",{"number, number":Ki,"Complex, Complex":function(e,t){return e.mul(t)},"BigNumber, BigNumber":function(e,t){return e.times(t)},"Fraction, Fraction":function(e,t){return e.mul(t)},"number | Fraction | BigNumber | Complex, Unit":function(e,t){var n=t.clone();return n.value=null===n.value?n._normalize(e):this(n.value,e),n},"Unit, number | Fraction | BigNumber | Complex":function(e,t){var n=e.clone();return n.value=null===n.value?n._normalize(t):this(n.value,t),n},"Unit, Unit":function(e,t){return e.multiply(t)}})}),Cs="multiply",Os=Sn(Cs,["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],function(e){var t=e.typed,n=e.matrix,r=e.addScalar,i=e.multiplyScalar,a=e.equalScalar,o=e.dot,s=Jo({typed:t,equalScalar:a}),u=Xo({typed:t});function l(e,t){switch(e.length){case 1:switch(t.length){case 1:if(e[0]!==t[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(e[0]!==t[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+e[0]+") must match Matrix rows ("+t[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+t.length+" dimensions)")}break;case 2:switch(t.length){case 1:if(e[1]!==t[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+e[1]+") must match Vector length ("+t[0]+")");break;case 2:if(e[1]!==t[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+e[1]+") must match Matrix B rows ("+t[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+t.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+e.length+" dimensions)")}}function c(e,n){if("dense"!==n.storage())throw new Error("Support for SparseMatrix not implemented");return function(e,n){var a,o=e._data,s=e._size,u=e._datatype,l=n._data,c=n._size,f=n._datatype,p=s[0],h=c[1],d=r,m=i;u&&f&&u===f&&"string"==typeof u&&(a=u,d=t.find(r,[a,a]),m=t.find(i,[a,a]));for(var g=[],y=0;y<h;y++){for(var v=m(o[0],l[0][y]),x=1;x<p;x++)v=d(v,m(o[x],l[x][y]));g[y]=v}return e.createDenseMatrix({data:g,size:[h],datatype:a})}(e,n)}var f=t("_multiplyMatrixVector",{"DenseMatrix, any":function(e,n){var a,o=e._data,s=e._size,u=e._datatype,l=n._data,c=n._datatype,f=s[0],p=s[1],h=r,d=i;u&&c&&u===c&&"string"==typeof u&&(a=u,h=t.find(r,[a,a]),d=t.find(i,[a,a]));for(var m=[],g=0;g<f;g++){for(var y=o[g],v=d(y[0],l[0]),x=1;x<p;x++)v=h(v,d(y[x],l[x]));m[g]=v}return e.createDenseMatrix({data:m,size:[f],datatype:a})},"SparseMatrix, any":function(e,n){var o=e._values,s=e._index,u=e._ptr,l=e._datatype;if(!o)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var c,f=n._data,p=n._datatype,h=e._size[0],d=n._size[0],m=[],g=[],y=[],v=r,x=i,b=a,w=0;l&&p&&l===p&&"string"==typeof l&&(c=l,v=t.find(r,[c,c]),x=t.find(i,[c,c]),b=t.find(a,[c,c]),w=t.convert(0,c));var N=[],E=[];y[0]=0;for(var S=0;S<d;S++){var M=f[S];if(!b(M,w))for(var A=u[S],C=u[S+1],O=A;O<C;O++){var k=s[O];E[k]?N[k]=v(N[k],x(M,o[O])):(E[k]=!0,g.push(k),N[k]=x(M,o[O]))}}for(var T=g.length,_=0;_<T;_++){var R=g[_];m[_]=N[R]}return y[1]=g.length,e.createSparseMatrix({values:m,index:g,ptr:y,size:[h,1],datatype:c})}}),p=t("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":function(e,n){var a,o=e._data,s=e._size,u=e._datatype,l=n._data,c=n._size,f=n._datatype,p=s[0],h=s[1],d=c[1],m=r,g=i;u&&f&&u===f&&"string"==typeof u&&(a=u,m=t.find(r,[a,a]),g=t.find(i,[a,a]));for(var y=[],v=0;v<p;v++){var x=o[v];y[v]=[];for(var b=0;b<d;b++){for(var w=g(x[0],l[0][b]),N=1;N<h;N++)w=m(w,g(x[N],l[N][b]));y[v][b]=w}}return e.createDenseMatrix({data:y,size:[p,d],datatype:a})},"DenseMatrix, SparseMatrix":function(e,n){var o=e._data,s=e._size,u=e._datatype,l=n._values,c=n._index,f=n._ptr,p=n._size,h=n._datatype;if(!l)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var d,m=s[0],g=p[1],y=r,v=i,x=a,b=0;u&&h&&u===h&&"string"==typeof u&&(d=u,y=t.find(r,[d,d]),v=t.find(i,[d,d]),x=t.find(a,[d,d]),b=t.convert(0,d));for(var w=[],N=[],E=[],S=n.createSparseMatrix({values:w,index:N,ptr:E,size:[m,g],datatype:d}),M=0;M<g;M++){E[M]=N.length;var A=f[M],C=f[M+1];if(C>A)for(var O=0,k=0;k<m;k++){for(var T=k+1,_=void 0,R=A;R<C;R++){var D=c[R];O!==T?(_=v(o[k][D],l[R]),O=T):_=y(_,v(o[k][D],l[R]))}O!==T||x(_,b)||(N.push(k),w.push(_))}}return E[g]=N.length,S},"SparseMatrix, DenseMatrix":function(e,n){var o=e._values,s=e._index,u=e._ptr,l=e._datatype;if(!o)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var c,f=n._data,p=n._datatype,h=e._size[0],d=n._size[0],m=n._size[1],g=r,y=i,v=a,x=0;l&&p&&l===p&&"string"==typeof l&&(c=l,g=t.find(r,[c,c]),y=t.find(i,[c,c]),v=t.find(a,[c,c]),x=t.convert(0,c));for(var b=[],w=[],N=[],E=e.createSparseMatrix({values:b,index:w,ptr:N,size:[h,m],datatype:c}),S=[],M=[],A=0;A<m;A++){N[A]=w.length;for(var C=A+1,O=0;O<d;O++){var k=f[O][A];if(!v(k,x))for(var T=u[O],_=u[O+1],R=T;R<_;R++){var D=s[R];M[D]!==C?(M[D]=C,w.push(D),S[D]=y(k,o[R])):S[D]=g(S[D],y(k,o[R]))}}for(var I=N[A],P=w.length,q=I;q<P;q++){var z=w[q];b[q]=S[z]}}return N[m]=w.length,E},"SparseMatrix, SparseMatrix":function(e,n){var a,o=e._values,s=e._index,u=e._ptr,l=e._datatype,c=n._values,f=n._index,p=n._ptr,h=n._datatype,d=e._size[0],m=n._size[1],g=o&&c,y=r,v=i;l&&h&&l===h&&"string"==typeof l&&(a=l,y=t.find(r,[a,a]),v=t.find(i,[a,a]));for(var x,b,w,N,E,S,M,A,C=g?[]:void 0,O=[],k=[],T=e.createSparseMatrix({values:C,index:O,ptr:k,size:[d,m],datatype:a}),_=g?[]:void 0,R=[],D=0;D<m;D++){k[D]=O.length;var I=D+1;for(E=p[D],S=p[D+1],N=E;N<S;N++)if(A=f[N],g)for(b=u[A],w=u[A+1],x=b;x<w;x++)R[M=s[x]]!==I?(R[M]=I,O.push(M),_[M]=v(c[N],o[x])):_[M]=y(_[M],v(c[N],o[x]));else for(b=u[A],w=u[A+1],x=b;x<w;x++)R[M=s[x]]!==I&&(R[M]=I,O.push(M));if(g)for(var P=k[D],q=O.length,z=P;z<q;z++){var B=O[z];C[z]=_[B]}}return k[m]=O.length,T}});return t(Cs,vt({"Array, Array":function(e,t){l(rn(e),rn(t));var r=this(n(e),n(t));return Be(r)?r.valueOf():r},"Matrix, Matrix":function(e,t){var n=e.size(),r=t.size();return l(n,r),1===n.length?1===r.length?function(e,t,n){if(0===n)throw new Error("Cannot multiply two empty vectors");return o(e,t)}(e,t,n[0]):c(e,t):1===r.length?f(e,t):p(e,t)},"Matrix, Array":function(e,t){return this(e,n(t))},"Array, Matrix":function(e,t){return this(n(e,t.storage()),t)},"SparseMatrix, any":function(e,t){return s(e,t,i,!1)},"DenseMatrix, any":function(e,t){return u(e,t,i,!1)},"any, SparseMatrix":function(e,t){return s(t,e,i,!0)},"any, DenseMatrix":function(e,t){return u(t,e,i,!0)},"Array, any":function(e,t){return u(n(e),t,i,!1).valueOf()},"any, Array":function(e,t){return u(n(t),e,i,!0).valueOf()},"any, any":i,"any, any, ...any":function(e,t,n){for(var r=this(e,t),i=0;i<n.length;i++)r=this(r,n[i]);return r}},i.signatures))}),ks="nthRoot",Ts=Sn(ks,["typed","matrix","equalScalar","BigNumber"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.BigNumber,a=cs({typed:t}),o=ms({typed:t,equalScalar:r}),s=gs({typed:t,equalScalar:r}),u=Jo({typed:t,equalScalar:r}),l=hs({typed:t}),c=Xo({typed:t}),f="Complex number not supported in function nthRoot. Use nthRoots instead.";return t(ks,{number:function(e){return pa(e,2)},"number, number":pa,BigNumber:function(e){return p(e,new i(2))},Complex:function(e){throw new Error(f)},"Complex, number":function(e,t){throw new Error(f)},"BigNumber, BigNumber":p,"Array | Matrix":function(e){return this(e,2)},"SparseMatrix, SparseMatrix":function(e,t){if(1===t.density())return s(e,t,this);throw new Error("Root must be non-zero")},"SparseMatrix, DenseMatrix":function(e,t){return o(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){if(1===t.density())return a(e,t,this,!1);throw new Error("Root must be non-zero")},"DenseMatrix, DenseMatrix":function(e,t){return l(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, number | BigNumber":function(e,t){return u(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return c(e,t,this,!1)},"number | BigNumber, SparseMatrix":function(e,t){if(1===t.density())return u(t,e,this,!0);throw new Error("Root must be non-zero")},"number | BigNumber, DenseMatrix":function(e,t){return c(t,e,this,!0)},"Array, number | BigNumber":function(e,t){return this(n(e),t).valueOf()},"number | BigNumber, Array":function(e,t){return this(e,n(t)).valueOf()}});function p(e,t){var n=i.precision,r=i.clone({precision:n+2}),a=new i(0),o=new r(1),s=t.isNegative();if(s&&(t=t.neg()),t.isZero())throw new Error("Root must be non-zero");if(e.isNegative()&&!t.abs().mod(2).equals(1))throw new Error("Root must be odd when a is negative.");if(e.isZero())return s?new r(1/0):0;if(!e.isFinite())return s?a:e;var u=e.abs().pow(o.div(t));return u=e.isNeg()?u.neg():u,new i((s?o.div(u):u).toPrecision(n))}});Sn(ks,["typed"],function(e){return(0,e.typed)(ks,{number:pa,"number, number":pa})});var _s="sign",Rs=Sn(_s,["typed","BigNumber","Fraction","complex"],function(e){var t=e.typed,n=e.BigNumber,r=e.complex,i=e.Fraction;return t(_s,{number:ha,Complex:function(e){return 0===e.im?r(ha(e.re)):e.sign()},BigNumber:function(e){return new n(e.cmp(0))},Fraction:function(e){return new i(e.s,1)},"Array | Matrix":function(e){return Ui(e,this)},Unit:function(e){return this(e.value)}})}),Ds=Sn("sqrt",["config","typed","Complex"],function(e){var t=e.config,n=e.typed,r=e.Complex;return n("sqrt",{number:i,Complex:function(e){return e.sqrt()},BigNumber:function(e){return!e.isNegative()||t.predictable?e.sqrt():i(e.toNumber())},"Array | Matrix":function(e){return Ui(e,this)},Unit:function(e){return e.pow(.5)}});function i(e){return isNaN(e)?NaN:e>=0||t.predictable?Math.sqrt(e):new r(e,0).sqrt()}}),Is="square",Ps=Sn(Is,["typed"],function(e){return(0,e.typed)(Is,{number:da,Complex:function(e){return e.mul(e)},BigNumber:function(e){return e.times(e)},Fraction:function(e){return e.mul(e)},"Array | Matrix":function(e){return Ui(e,this)},Unit:function(e){return e.pow(2)}})}),qs="subtract",zs=Sn(qs,["typed","matrix","equalScalar","addScalar","unaryMinus","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.addScalar,a=e.unaryMinus,o=e.DenseMatrix,s=cs({typed:t}),u=Ns({typed:t}),l=Es({typed:t,equalScalar:r}),c=ps({typed:t,DenseMatrix:o}),f=hs({typed:t}),p=Xo({typed:t});return t(qs,{"number, number":function(e,t){return e-t},"Complex, Complex":function(e,t){return e.sub(t)},"BigNumber, BigNumber":function(e,t){return e.minus(t)},"Fraction, Fraction":function(e,t){return e.sub(t)},"Unit, Unit":function(e,t){if(null===e.value)throw new Error("Parameter x contains a unit with undefined value");if(null===t.value)throw new Error("Parameter y contains a unit with undefined value");if(!e.equalBase(t))throw new Error("Units do not match");var n=e.clone();return n.value=this(n.value,t.value),n.fixPrefix=!1,n},"SparseMatrix, SparseMatrix":function(e,t){return Bs(e,t),l(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return Bs(e,t),u(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return Bs(e,t),s(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return Bs(e,t),f(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return c(e,a(t),i)},"DenseMatrix, any":function(e,t){return p(e,t,this)},"any, SparseMatrix":function(e,t){return c(t,e,this,!0)},"any, DenseMatrix":function(e,t){return p(t,e,this,!0)},"Array, any":function(e,t){return p(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return p(n(t),e,this,!0).valueOf()}})});function Bs(e,t){var n=e.size(),r=t.size();if(n.length!==r.length)throw new tn(n.length,r.length)}var js="xgcd",Ls=Sn(js,["typed","config","matrix","BigNumber"],function(e){var t=e.typed,n=e.config,r=e.matrix,i=e.BigNumber;return t(js,{"number, number":function(e,t){var i=ma(e,t);return"Array"===n.matrix?i:r(i)},"BigNumber, BigNumber":function(e,t){var a,o,s,u,l=new i(0),c=new i(1),f=l,p=c,h=c,d=l;if(!e.isInt()||!t.isInt())throw new Error("Parameters in function xgcd must be integer numbers");for(;!t.isZero();)o=e.div(t).floor(),s=e.mod(t),a=f,f=p.minus(o.times(f)),p=a,a=h,h=d.minus(o.times(h)),d=a,e=t,t=s;return u=e.lt(l)?[e.neg(),p.neg(),d.neg()]:[e,e.isZero()?0:p,d],"Array"===n.matrix?u:r(u)}})}),Fs=Sn("algorithm09",["typed","equalScalar"],function(e){var t=e.typed,n=e.equalScalar;return function(e,r,i){var a=e._values,o=e._index,s=e._ptr,u=e._size,l=e._datatype,c=r._values,f=r._index,p=r._ptr,h=r._size,d=r._datatype;if(u.length!==h.length)throw new tn(u.length,h.length);if(u[0]!==h[0]||u[1]!==h[1])throw new RangeError("Dimension mismatch. Matrix A ("+u+") must match Matrix B ("+h+")");var m,g=u[0],y=u[1],v=n,x=0,b=i;"string"==typeof l&&l===d&&(m=l,v=t.find(n,[m,m]),x=t.convert(0,m),b=t.find(i,[m,m]));var w,N,E,S,M,A=a&&c?[]:void 0,C=[],O=[],k=A?[]:void 0,T=[];for(N=0;N<y;N++){O[N]=C.length;var _=N+1;if(k)for(S=p[N],M=p[N+1],E=S;E<M;E++)T[w=f[E]]=_,k[w]=c[E];for(S=s[N],M=s[N+1],E=S;E<M;E++)if(w=o[E],k){var R=T[w]===_?k[w]:x,D=b(a[E],R);v(D,x)||(C.push(w),A.push(D))}else C.push(w)}return O[y]=C.length,e.createSparseMatrix({values:A,index:C,ptr:O,size:[g,y],datatype:m})}}),Us="dotMultiply",$s=Sn(Us,["typed","matrix","equalScalar","multiplyScalar"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.multiplyScalar,a=ms({typed:t,equalScalar:r}),o=Fs({typed:t,equalScalar:r}),s=Jo({typed:t,equalScalar:r}),u=hs({typed:t}),l=Xo({typed:t});return t(Us,{"any, any":i,"SparseMatrix, SparseMatrix":function(e,t){return o(e,t,i,!1)},"SparseMatrix, DenseMatrix":function(e,t){return a(t,e,i,!0)},"DenseMatrix, SparseMatrix":function(e,t){return a(e,t,i,!1)},"DenseMatrix, DenseMatrix":function(e,t){return u(e,t,i)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return s(e,t,i,!1)},"DenseMatrix, any":function(e,t){return l(e,t,i,!1)},"any, SparseMatrix":function(e,t){return s(t,e,i,!0)},"any, DenseMatrix":function(e,t){return l(t,e,i,!0)},"Array, any":function(e,t){return l(n(e),t,i,!1).valueOf()},"any, Array":function(e,t){return l(n(t),e,i,!0).valueOf()}})});function Vs(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error("Integers expected in function bitAnd");var n=e.constructor;if(e.isNaN()||t.isNaN())return new n(NaN);if(e.isZero()||t.eq(-1)||e.eq(t))return e;if(t.isZero()||e.eq(-1))return t;if(!e.isFinite()||!t.isFinite()){if(!e.isFinite()&&!t.isFinite())return e.isNegative()===t.isNegative()?e:new n(0);if(!e.isFinite())return t.isNegative()?e:e.isNegative()?new n(0):t;if(!t.isFinite())return e.isNegative()?t:t.isNegative()?new n(0):e}return Gs(e,t,function(e,t){return e&t})}function Hs(e){if(e.isFinite()&&!e.isInteger())throw new Error("Integer expected in function bitNot");var t=e.constructor,n=t.precision;t.config({precision:1e9});var r=e.plus(new t(1));return r.s=-r.s||null,t.config({precision:n}),r}function Ws(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error("Integers expected in function bitOr");var n=e.constructor;if(e.isNaN()||t.isNaN())return new n(NaN);var r=new n(-1);return e.isZero()||t.eq(r)||e.eq(t)?t:t.isZero()||e.eq(r)?e:e.isFinite()&&t.isFinite()?Gs(e,t,function(e,t){return e|t}):!e.isFinite()&&!e.isNegative()&&t.isNegative()||e.isNegative()&&!t.isNegative()&&!t.isFinite()?r:e.isNegative()&&t.isNegative()?e.isFinite()?e:t:e.isFinite()?t:e}function Gs(e,t,n){var r,i,a,o,s,u=e.constructor,l=+(e.s<0),c=+(t.s<0);if(l){r=Ys(Hs(e));for(var f=0;f<r.length;++f)r[f]^=1}else r=Ys(e);if(c){i=Ys(Hs(t));for(var p=0;p<i.length;++p)i[p]^=1}else i=Ys(t);r.length<=i.length?(a=r,o=i,s=l):(a=i,o=r,s=c);var h=a.length,d=o.length,m=1^n(l,c),g=new u(1^m),y=new u(1),v=new u(2),x=u.precision;for(u.config({precision:1e9});h>0;)n(a[--h],o[--d])===m&&(g=g.plus(y)),y=y.times(v);for(;d>0;)n(s,o[--d])===m&&(g=g.plus(y)),y=y.times(v);return u.config({precision:x}),0===m&&(g.s=-g.s),g}function Ys(e){for(var t=e.d,n=t[0]+"",r=1;r<t.length;++r){for(var i=t[r]+"",a=7-i.length;a--;)i="0"+i;n+=i}for(var o=n.length;"0"===n.charAt(o);)o--;var s=e.e,u=n.slice(0,o+1||1),l=u.length;if(s>0)if(++s>l)for(s-=l;s--;)u+="0";else s<l&&(u=u.slice(0,s)+"."+u.slice(s));for(var c=[0],f=0;f<u.length;){for(var p=c.length;p--;)c[p]*=10;c[0]+=parseInt(u.charAt(f++));for(var h=0;h<c.length;++h)c[h]>1&&(null!==c[h+1]&&void 0!==c[h+1]||(c[h+1]=0),c[h+1]+=c[h]>>1,c[h]&=1)}return c.reverse()}function Zs(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error("Integers expected in function bitXor");var n=e.constructor;if(e.isNaN()||t.isNaN())return new n(NaN);if(e.isZero())return t;if(t.isZero())return e;if(e.eq(t))return new n(0);var r=new n(-1);return e.eq(r)?Hs(t):t.eq(r)?Hs(e):e.isFinite()&&t.isFinite()?Gs(e,t,function(e,t){return e^t}):e.isFinite()||t.isFinite()?new n(e.isNegative()===t.isNegative()?1/0:-1/0):r}function Js(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error("Integers expected in function leftShift");var n=e.constructor;return e.isNaN()||t.isNaN()||t.isNegative()&&!t.isZero()?new n(NaN):e.isZero()||t.isZero()?e:e.isFinite()||t.isFinite()?t.lt(55)?e.times(Math.pow(2,t.toNumber())+""):e.times(new n(2).pow(t)):new n(NaN)}function Xs(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error("Integers expected in function rightArithShift");var n=e.constructor;return e.isNaN()||t.isNaN()||t.isNegative()&&!t.isZero()?new n(NaN):e.isZero()||t.isZero()?e:t.isFinite()?t.lt(55)?e.div(Math.pow(2,t.toNumber())+"").floor():e.div(new n(2).pow(t)).floor():e.isNegative()?new n(-1):e.isFinite()?new n(0):new n(NaN)}var Ks="bitAnd",Qs=Sn(Ks,["typed","matrix","equalScalar"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=ms({typed:t,equalScalar:r}),a=gs({typed:t,equalScalar:r}),o=Jo({typed:t,equalScalar:r}),s=hs({typed:t}),u=Xo({typed:t});return t(Ks,{"number, number":xa,"BigNumber, BigNumber":Vs,"SparseMatrix, SparseMatrix":function(e,t){return a(e,t,this,!1)},"SparseMatrix, DenseMatrix":function(e,t){return i(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return i(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return s(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return o(e,t,this,!1)},"DenseMatrix, any":function(e,t){return u(e,t,this,!1)},"any, SparseMatrix":function(e,t){return o(t,e,this,!0)},"any, DenseMatrix":function(e,t){return u(t,e,this,!0)},"Array, any":function(e,t){return u(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return u(n(t),e,this,!0).valueOf()}})}),eu="bitNot",tu=Sn(eu,["typed"],function(e){return(0,e.typed)(eu,{number:ba,BigNumber:Hs,"Array | Matrix":function(e){return Ui(e,this)}})}),nu="bitOr",ru=Sn(nu,["typed","matrix","equalScalar","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.DenseMatrix,a=cs({typed:t}),o=fs({typed:t,equalScalar:r}),s=ps({typed:t,DenseMatrix:i}),u=hs({typed:t}),l=Xo({typed:t});return t(nu,{"number, number":wa,"BigNumber, BigNumber":Ws,"SparseMatrix, SparseMatrix":function(e,t){return o(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return a(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return a(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return u(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return s(e,t,this,!1)},"DenseMatrix, any":function(e,t){return l(e,t,this,!1)},"any, SparseMatrix":function(e,t){return s(t,e,this,!0)},"any, DenseMatrix":function(e,t){return l(t,e,this,!0)},"Array, any":function(e,t){return l(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return l(n(t),e,this,!0).valueOf()}})}),iu=Sn("algorithm07",["typed","DenseMatrix"],function(e){var t=e.typed,n=e.DenseMatrix;return function(e,i,a){var o=e._size,s=e._datatype,u=i._size,l=i._datatype;if(o.length!==u.length)throw new tn(o.length,u.length);if(o[0]!==u[0]||o[1]!==u[1])throw new RangeError("Dimension mismatch. Matrix A ("+o+") must match Matrix B ("+u+")");var c,f,p,h=o[0],d=o[1],m=0,g=a;"string"==typeof s&&s===l&&(c=s,m=t.convert(0,c),g=t.find(a,[c,c]));var y=[];for(f=0;f<h;f++)y[f]=[];var v=[],x=[],b=[],w=[];for(p=0;p<d;p++){var N=p+1;for(r(e,p,b,v,N),r(i,p,w,x,N),f=0;f<h;f++){var E=b[f]===N?v[f]:m,S=w[f]===N?x[f]:m;y[f][p]=g(E,S)}}return new n({data:y,size:[h,d],datatype:c})};function r(e,t,n,r,i){for(var a=e._values,o=e._index,s=e._ptr,u=s[t],l=s[t+1];u<l;u++){var c=o[u];n[c]=i,r[c]=a[u]}}}),au="bitXor",ou=Sn(au,["typed","matrix","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.DenseMatrix,i=Ns({typed:t}),a=iu({typed:t,DenseMatrix:r}),o=Ss({typed:t,DenseMatrix:r}),s=hs({typed:t}),u=Xo({typed:t});return t(au,{"number, number":Na,"BigNumber, BigNumber":Zs,"SparseMatrix, SparseMatrix":function(e,t){return a(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return i(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return i(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return s(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return o(e,t,this,!1)},"DenseMatrix, any":function(e,t){return u(e,t,this,!1)},"any, SparseMatrix":function(e,t){return o(t,e,this,!0)},"any, DenseMatrix":function(e,t){return u(t,e,this,!0)},"Array, any":function(e,t){return u(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return u(n(t),e,this,!0).valueOf()}})}),su=Sn("arg",["typed"],function(e){return(0,e.typed)("arg",{number:function(e){return Math.atan2(0,e)},BigNumber:function(e){return e.constructor.atan2(0,e)},Complex:function(e){return e.arg()},"Array | Matrix":function(e){return Ui(e,this)}})}),uu="conj",lu=Sn(uu,["typed"],function(e){return(0,e.typed)(uu,{number:function(e){return e},BigNumber:function(e){return e},Complex:function(e){return e.conjugate()},"Array | Matrix":function(e){return Ui(e,this)}})}),cu=Sn("im",["typed"],function(e){return(0,e.typed)("im",{number:function(e){return 0},BigNumber:function(e){return e.mul(0)},Complex:function(e){return e.im},"Array | Matrix":function(e){return Ui(e,this)}})}),fu=Sn("re",["typed"],function(e){return(0,e.typed)("re",{number:function(e){return e},BigNumber:function(e){return e},Complex:function(e){return e.re},"Array | Matrix":function(e){return Ui(e,this)}})}),pu=Sn("not",["typed"],function(e){return(0,e.typed)("not",{number:Ra,Complex:function(e){return 0===e.re&&0===e.im},BigNumber:function(e){return e.isZero()||e.isNaN()},Unit:function(e){return null===e.value||this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),hu=Sn("or",["typed","matrix","equalScalar","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.DenseMatrix,a=Ns({typed:t}),o=Es({typed:t,equalScalar:r}),s=Ss({typed:t,DenseMatrix:i}),u=hs({typed:t}),l=Xo({typed:t});return t("or",{"number, number":Da,"Complex, Complex":function(e,t){return 0!==e.re||0!==e.im||0!==t.re||0!==t.im},"BigNumber, BigNumber":function(e,t){return!e.isZero()&&!e.isNaN()||!t.isZero()&&!t.isNaN()},"Unit, Unit":function(e,t){return this(e.value||0,t.value||0)},"SparseMatrix, SparseMatrix":function(e,t){return o(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return a(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return a(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return u(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return s(e,t,this,!1)},"DenseMatrix, any":function(e,t){return l(e,t,this,!1)},"any, SparseMatrix":function(e,t){return s(t,e,this,!0)},"any, DenseMatrix":function(e,t){return l(t,e,this,!0)},"Array, any":function(e,t){return l(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return l(n(t),e,this,!0).valueOf()}})}),du=Sn("xor",["typed","matrix","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.DenseMatrix,i=Ns({typed:t}),a=iu({typed:t,DenseMatrix:r}),o=Ss({typed:t,DenseMatrix:r}),s=hs({typed:t}),u=Xo({typed:t});return t("xor",{"number, number":Ia,"Complex, Complex":function(e,t){return(0!==e.re||0!==e.im)!=(0!==t.re||0!==t.im)},"BigNumber, BigNumber":function(e,t){return(!e.isZero()&&!e.isNaN())!=(!t.isZero()&&!t.isNaN())},"Unit, Unit":function(e,t){return this(e.value||0,t.value||0)},"SparseMatrix, SparseMatrix":function(e,t){return a(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return i(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return i(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return s(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return o(e,t,this,!1)},"DenseMatrix, any":function(e,t){return u(e,t,this,!1)},"any, SparseMatrix":function(e,t){return o(t,e,this,!0)},"any, DenseMatrix":function(e,t){return u(t,e,this,!0)},"Array, any":function(e,t){return u(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return u(n(t),e,this,!0).valueOf()}})}),mu="concat",gu=Sn(mu,["typed","matrix","isInteger"],function(e){var t=e.typed,n=e.matrix,r=e.isInteger;return t(mu,{"...Array | Matrix | number | BigNumber":function(e){var t,i,a=e.length,o=-1,s=!1,u=[];for(t=0;t<a;t++){var l=e[t];if(Be(l)&&(s=!0),_e(l)||Re(l)){if(t!==a-1)throw new Error("Dimension must be specified as last argument");if(i=o,o=l.valueOf(),!r(o))throw new TypeError("Integer number expected for dimension");if(o<0||t>0&&o>i)throw new nn(o,i+1)}else{var c=yt(l).valueOf(),f=rn(c);if(u[t]=c,i=o,o=f.length-1,t>0&&o!==i)throw new tn(i+1,o+1)}}if(0===u.length)throw new SyntaxError("At least one matrix expected");for(var p=u.shift();u.length;)p=yu(p,u.shift(),o,0);return s?n(p):p},"...string":function(e){return e.join("")}})});function yu(e,t,n,r){if(r<n){if(e.length!==t.length)throw new tn(e.length,t.length);for(var i=[],a=0;a<e.length;a++)i[a]=yu(e[a],t[a],n,r+1);return i}return e.concat(t)}var vu="column",xu=Sn(vu,["typed","Index","matrix","range"],function(e){var t=e.typed,n=e.Index,r=e.matrix,i=e.range;return t(vu,{"Matrix, number":a,"Array, number":function(e,t){return a(r(yt(e)),t).valueOf()}});function a(e,t){if(2!==e.size().length)throw new Error("Only two dimensional matrix is supported");sn(t,e.size()[1]);var r=i(0,e.size()[0]),a=new n(r,t);return e.subset(a)}}),bu="cross",wu=Sn(bu,["typed","matrix","subtract","multiply"],function(e){var t=e.typed,n=e.matrix,r=e.subtract,i=e.multiply;return t(bu,{"Matrix, Matrix":function(e,t){return n(a(e.toArray(),t.toArray()))},"Matrix, Array":function(e,t){return n(a(e.toArray(),t))},"Array, Matrix":function(e,t){return n(a(e,t.toArray()))},"Array, Array":a});function a(e,t){var n=Math.max(rn(e).length,rn(t).length);e=fn(e),t=fn(t);var a=rn(e),o=rn(t);if(1!==a.length||1!==o.length||3!==a[0]||3!==o[0])throw new RangeError("Vectors with length 3 expected (Size A = ["+a.join(", ")+"], B = ["+o.join(", ")+"])");var s=[r(i(e[1],t[2]),i(e[2],t[1])),r(i(e[2],t[0]),i(e[0],t[2])),r(i(e[0],t[1]),i(e[1],t[0]))];return n>1?[s]:s}}),Nu="diag",Eu=Sn(Nu,["typed","matrix","DenseMatrix","SparseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.DenseMatrix,i=e.SparseMatrix;return t(Nu,{Array:function(e){return a(e,0,rn(e),null)},"Array, number":function(e,t){return a(e,t,rn(e),null)},"Array, BigNumber":function(e,t){return a(e,t.toNumber(),rn(e),null)},"Array, string":function(e,t){return a(e,0,rn(e),t)},"Array, number, string":function(e,t,n){return a(e,t,rn(e),n)},"Array, BigNumber, string":function(e,t,n){return a(e,t.toNumber(),rn(e),n)},Matrix:function(e){return a(e,0,e.size(),e.storage())},"Matrix, number":function(e,t){return a(e,t,e.size(),e.storage())},"Matrix, BigNumber":function(e,t){return a(e,t.toNumber(),e.size(),e.storage())},"Matrix, string":function(e,t){return a(e,0,e.size(),t)},"Matrix, number, string":function(e,t,n){return a(e,t,e.size(),n)},"Matrix, BigNumber, string":function(e,t,n){return a(e,t.toNumber(),e.size(),n)}});function a(e,t,a,o){if(!At(t))throw new TypeError("Second parameter in function diag must be an integer");var s=t>0?t:0,u=t<0?-t:0;switch(a.length){case 1:return function(e,t,n,a,o,s){var u=[a+o,a+s];if(n&&"sparse"!==n&&"dense"!==n)throw new TypeError("Unknown matrix type ".concat(n,'"'));var l="sparse"===n?i.diagonal(u,e,t):r.diagonal(u,e,t);return null!==n?l:l.valueOf()}(e,t,o,a[0],u,s);case 2:return function(e,t,r,i,a,o){if(Be(e)){var s=e.diagonal(t);return null!==r?r!==s.storage()?n(s,r):s:s.valueOf()}for(var u=Math.min(i[0]-a,i[1]-o),l=[],c=0;c<u;c++)l[c]=e[c+a][c+o];return null!==r?n(l):l}(e,t,o,a,u,s)}throw new RangeError("Matrix for function diag must be 2 dimensional")}});function Su(e){return Su="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Su(e)}function Mu(e,t){return function n(){"object"!==Su(n.cache)&&(n.cache={});for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];var a=t?t(r):JSON.stringify(r);return a in n.cache||(n.cache[a]=e.apply(e,r)),n.cache[a]}}function Au(e){return Object.keys(e.signatures||{}).reduce(function(e,t){var n=(t.match(/,/g)||[]).length+1;return Math.max(e,n)},-1)}var Cu=Sn("filter",["typed"],function(e){return(0,e.typed)("filter",{"Array, function":Ou,"Matrix, function":function(e,t){return e.create(Ou(e.toArray(),t))},"Array, RegExp":xn,"Matrix, RegExp":function(e,t){return e.create(xn(e.toArray(),t))}})});function Ou(e,t){var n=Au(t);return vn(e,function(e,r,i){return 1===n?t(e):2===n?t(e,[r]):t(e,[r],i)})}var ku="flatten",Tu=Sn(ku,["typed","matrix"],function(e){var t=e.typed,n=e.matrix;return t(ku,{Array:function(e){return mn(yt(e))},Matrix:function(e){var t=mn(yt(e.toArray()));return n(t)}})}),_u="forEach",Ru=Sn(_u,["typed"],function(e){return(0,e.typed)(_u,{"Array, function":Du,"Matrix, function":function(e,t){return e.forEach(t)}})});function Du(e,t){var n=Au(t);!function r(i,a){Array.isArray(i)?yn(i,function(e,t){r(e,a.concat(t))}):1===n?t(i):2===n?t(i,a):t(i,a,e)}(e,[])}var Iu="getMatrixDataType",Pu=Sn(Iu,["typed"],function(e){return(0,e.typed)(Iu,{Array:function(e){return En(e,mt)},Matrix:function(e){return e.getDataType()}})}),qu="identity",zu=Sn(qu,["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],function(e){var t=e.typed,n=e.config,r=e.matrix,i=e.BigNumber,a=e.DenseMatrix,o=e.SparseMatrix;return t(qu,{"":function(){return"Matrix"===n.matrix?r([]):[]},string:function(e){return r(e)},"number | BigNumber":function(e){return u(e,e,"Matrix"===n.matrix?"dense":void 0)},"number | BigNumber, string":function(e,t){return u(e,e,t)},"number | BigNumber, number | BigNumber":function(e,t){return u(e,t,"Matrix"===n.matrix?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(e,t,n){return u(e,t,n)},Array:function(e){return s(e)},"Array, string":function(e,t){return s(e,t)},Matrix:function(e){return s(e.valueOf(),e.storage())},"Matrix, string":function(e,t){return s(e.valueOf(),t)}});function s(e,t){switch(e.length){case 0:return t?r(t):[];case 1:return u(e[0],e[0],t);case 2:return u(e[0],e[1],t);default:throw new Error("Vector containing two values expected")}}function u(e,t,n){var r=Re(e)||Re(t)?i:null;if(Re(e)&&(e=e.toNumber()),Re(t)&&(t=t.toNumber()),!At(e)||e<1)throw new Error("Parameters in function identity must be positive integers");if(!At(t)||t<1)throw new Error("Parameters in function identity must be positive integers");var s=r?new i(1):1,u=r?new r(0):0,l=[e,t];if(n){if("sparse"===n)return o.diagonal(l,s,0,u);if("dense"===n)return a.diagonal(l,s,0,u);throw new TypeError('Unknown matrix type "'.concat(n,'"'))}for(var c=un([],l,u),f=e<t?e:t,p=0;p<f;p++)c[p][p]=s;return c}}),Bu="kron",ju=Sn(Bu,["typed","matrix","multiplyScalar"],function(e){var t=e.typed,n=e.matrix,r=e.multiplyScalar;return t(Bu,{"Matrix, Matrix":function(e,t){return n(i(e.toArray(),t.toArray()))},"Matrix, Array":function(e,t){return n(i(e.toArray(),t))},"Array, Matrix":function(e,t){return n(i(e,t.toArray()))},"Array, Array":i});function i(e,t){if(1===rn(e).length&&(e=[e]),1===rn(t).length&&(t=[t]),rn(e).length>2||rn(t).length>2)throw new RangeError("Vectors with dimensions greater then 2 are not supported expected (Size x = "+JSON.stringify(e.length)+", y = "+JSON.stringify(t.length)+")");var n=[],i=[];return e.map(function(e){return t.map(function(t){return i=[],n.push(i),e.map(function(e){return t.map(function(t){return i.push(r(e,t))})})})})&&n}}),Lu=Sn("map",["typed"],function(e){return(0,e.typed)("map",{"Array, function":Fu,"Matrix, function":function(e,t){return e.map(t)}})});function Fu(e,t){var n=Au(t);return function r(i,a){return Array.isArray(i)?i.map(function(e,t){return r(e,a.concat(t))}):1===n?t(i):2===n?t(i,a):t(i,a,e)}(e,[])}var Uu="diff",$u=Sn(Uu,["typed","matrix","subtract","number"],function(e){var t=e.typed,n=e.matrix,r=e.subtract,i=e.number;return t(Uu,{"Array | Matrix":function(e){return Be(e)?n(o(e.toArray())):o(e)},"Array | Matrix, number":function(e,t){if(!At(t))throw new RangeError("Dimension must be a whole number");return Be(e)?n(a(e.toArray(),t)):a(e,t)},"Array | Matrix, BigNumber":function(e,t){return this(e,i(t))}});function a(e,t){if(Be(e)&&(e=e.toArray()),!Array.isArray(e))throw RangeError("Array/Matrix does not have that many dimensions");if(t>0){var n=[];return e.forEach(function(e){n.push(a(e,t-1))}),n}if(0===t)return o(e);throw RangeError("Cannot have negative dimension")}function o(e){var t=[],n=e.length;if(n<2)return e;for(var r=1;r<n;r++)t.push(s(e[r-1],e[r]));return t}function s(e,t){Be(e)&&(e=e.toArray()),Be(t)&&(t=t.toArray());var n=Array.isArray(e),i=Array.isArray(t);if(n&&i)return function(e,t){if(e.length!==t.length)throw RangeError("Not all sub-arrays have the same length");for(var n=[],r=e.length,i=0;i<r;i++)n.push(s(e[i],t[i]));return n}(e,t);if(!n&&!i)return r(t,e);throw TypeError("Cannot calculate difference between 1 array and 1 non-array")}}),Vu=Sn("ones",["typed","config","matrix","BigNumber"],function(e){var t=e.typed,n=e.config,r=e.matrix,i=e.BigNumber;return t("ones",{"":function(){return"Array"===n.matrix?a([]):a([],"default")},"...number | BigNumber | string":function(e){if("string"==typeof e[e.length-1]){var t=e.pop();return a(e,t)}return"Array"===n.matrix?a(e):a(e,"default")},Array:a,Matrix:function(e){var t=e.storage();return a(e.valueOf(),t)},"Array | Matrix, string":function(e,t){return a(e.valueOf(),t)}});function a(e,t){var n=function(e){var t=!1;return e.forEach(function(e,n,r){Re(e)&&(t=!0,r[n]=e.toNumber())}),t}(e),a=n?new i(1):1;if(function(e){e.forEach(function(e){if("number"!=typeof e||!At(e)||e<0)throw new Error("Parameters in function ones must be positive integers")})}(e),t){var o=r(t);return e.length>0?o.resize(e,a):o}var s=[];return e.length>0?un(s,e,a):s}});function Hu(){throw new Error('No "bignumber" implementation available')}function Wu(){throw new Error('No "fraction" implementation available')}function Gu(){throw new Error('No "matrix" implementation available')}var Yu="range",Zu=Sn(Yu,["typed","config","?matrix","?bignumber","smaller","smallerEq","larger","largerEq"],function(e){var t=e.typed,n=e.config,r=e.matrix,i=e.bignumber,a=e.smaller,o=e.smallerEq,s=e.larger,u=e.largerEq;return t(Yu,{string:c,"string, boolean":c,"number, number":function(e,t){return l(f(e,t,1))},"number, number, number":function(e,t,n){return l(f(e,t,n))},"number, number, boolean":function(e,t,n){return l(n?p(e,t,1):f(e,t,1))},"number, number, number, boolean":function(e,t,n,r){return l(r?p(e,t,n):f(e,t,n))},"BigNumber, BigNumber":function(e,t){return l(h(e,t,new(0,e.constructor)(1)))},"BigNumber, BigNumber, BigNumber":function(e,t,n){return l(h(e,t,n))},"BigNumber, BigNumber, boolean":function(e,t,n){var r=e.constructor;return l(n?d(e,t,new r(1)):h(e,t,new r(1)))},"BigNumber, BigNumber, BigNumber, boolean":function(e,t,n,r){return l(r?d(e,t,n):h(e,t,n))}});function l(e){return"Matrix"===n.matrix?r?r(e):Gu():e}function c(e,t){var r=function(e){var t=e.split(":").map(function(e){return Number(e)});if(t.some(function(e){return isNaN(e)}))return null;switch(t.length){case 2:return{start:t[0],end:t[1],step:1};case 3:return{start:t[0],end:t[2],step:t[1]};default:return null}}(e);if(!r)throw new SyntaxError('String "'+e+'" is no valid range');return"BigNumber"===n.number?(void 0===i&&Hu(),l((t?d:h)(i(r.start),i(r.end),i(r.step)))):l((t?p:f)(r.start,r.end,r.step))}function f(e,t,n){var r=[],i=e;if(n>0)for(;a(i,t);)r.push(i),i+=n;else if(n<0)for(;s(i,t);)r.push(i),i+=n;return r}function p(e,t,n){var r=[],i=e;if(n>0)for(;o(i,t);)r.push(i),i+=n;else if(n<0)for(;u(i,t);)r.push(i),i+=n;return r}function h(e,t,n){var r=i(0),o=[],u=e;if(n.gt(r))for(;a(u,t);)o.push(u),u=u.plus(n);else if(n.lt(r))for(;s(u,t);)o.push(u),u=u.plus(n);return o}function d(e,t,n){var r=i(0),a=[],s=e;if(n.gt(r))for(;o(s,t);)a.push(s),s=s.plus(n);else if(n.lt(r))for(;u(s,t);)a.push(s),s=s.plus(n);return a}}),Ju="reshape",Xu=Sn(Ju,["typed","isInteger","matrix"],function(e){var t=e.typed,n=e.isInteger,r=e.matrix;return t(Ju,{"Matrix, Array":function(e,t){return e.reshape?e.reshape(t):r(cn(e.valueOf(),t))},"Array, Array":function(e,t){return t.forEach(function(e){if(!n(e))throw new TypeError("Invalid size for dimension: "+e)}),cn(e,t)}})});function Ku(e,t,n,r){if(!(this instanceof Ku))throw new SyntaxError("Constructor must be called with the new operator");this.fn=e,this.count=t,this.min=n,this.max=r,this.message="Wrong number of arguments in function "+e+" ("+t+" provided, "+n+(null!=r?"-"+r:"")+" expected)",this.stack=(new Error).stack}Ku.prototype=new Error,Ku.prototype.constructor=Error,Ku.prototype.name="ArgumentsError",Ku.prototype.isArgumentsError=!0;var Qu=Sn("resize",["config","matrix"],function(e){var t=e.config,n=e.matrix;return function(e,r,i){if(2!==arguments.length&&3!==arguments.length)throw new Ku("resize",arguments.length,2,3);if(Be(r)&&(r=r.valueOf()),Re(r[0])&&(r=r.map(function(e){return Re(e)?e.toNumber():e})),Be(e))return e.resize(r,i,!0);if("string"==typeof e)return function(e,t,n){if(void 0!==n){if("string"!=typeof n||1!==n.length)throw new TypeError("Single character expected as defaultValue")}else n=" ";if(1!==t.length)throw new tn(t.length,1);var r=t[0];if("number"!=typeof r||!At(r))throw new TypeError("Invalid size, must contain positive integers (size: "+Jt(t)+")");if(e.length>r)return e.substring(0,r);if(e.length<r){for(var i=e,a=0,o=r-e.length;a<o;a++)i+=n;return i}return e}(e,r,i);var a=!Array.isArray(e)&&"Array"!==t.matrix;if(0===r.length){for(;Array.isArray(e);)e=e[0];return yt(e)}Array.isArray(e)||(e=[e]);var o=un(e=yt(e),r,i);return a?n(o):o}}),el="rotate",tl=Sn(el,["typed","multiply","rotationMatrix"],function(e){var t=e.typed,n=e.multiply,r=e.rotationMatrix;return t(el,{"Array , number | BigNumber | Complex | Unit":function(e,t){return i(e,2),n(r(t),e).toArray()},"Matrix , number | BigNumber | Complex | Unit":function(e,t){return i(e,2),n(r(t),e)},"Array, number | BigNumber | Complex | Unit, Array | Matrix":function(e,t,a){return i(e,3),n(r(t,a),e)},"Matrix, number | BigNumber | Complex | Unit, Array | Matrix":function(e,t,a){return i(e,3),n(r(t,a),e)}});function i(e,t){var n=Array.isArray(e)?rn(e):e.size();if(n.length>2)throw new RangeError("Vector must be of dimensions 1x".concat(t));if(2===n.length&&1!==n[1])throw new RangeError("Vector must be of dimensions 1x".concat(t));if(n[0]!==t)throw new RangeError("Vector must be of dimensions 1x".concat(t))}}),nl="rotationMatrix",rl=Sn(nl,["typed","config","multiplyScalar","addScalar","unaryMinus","norm","matrix","BigNumber","DenseMatrix","SparseMatrix","cos","sin"],function(e){var t=e.typed,n=e.config,r=e.multiplyScalar,i=e.addScalar,a=e.unaryMinus,o=e.norm,s=e.BigNumber,u=e.matrix,l=e.DenseMatrix,c=e.SparseMatrix,f=e.cos,p=e.sin;return t(nl,{"":function(){return"Matrix"===n.matrix?u([]):[]},string:function(e){return u(e)},"number | BigNumber | Complex | Unit":function(e){return h(e,"Matrix"===n.matrix?"dense":void 0)},"number | BigNumber | Complex | Unit, string":function(e,t){return h(e,t)},"number | BigNumber | Complex | Unit, Array":function(e,t){var n=u(t);return d(n),y(e,n,void 0)},"number | BigNumber | Complex | Unit, Matrix":function(e,t){d(t);var r=t.storage()||("Matrix"===n.matrix?"dense":void 0);return y(e,t,r)},"number | BigNumber | Complex | Unit, Array, string":function(e,t,n){var r=u(t);return d(r),y(e,r,n)},"number | BigNumber | Complex | Unit, Matrix, string":function(e,t,n){return d(t),y(e,t,n)}});function h(e,t){var n=Re(e)?new s(-1):-1,i=f(e),a=p(e);return g([[i,r(n,a)],[a,i]],t)}function d(e){var t=e.size();if(t.length<1||3!==t[0])throw new RangeError("Vector must be of dimensions 1x3")}function m(e){return e.reduce(function(e,t){return r(e,t)})}function g(e,t){if(t){if("sparse"===t)return new c(e);if("dense"===t)return new l(e);throw new TypeError('Unknown matrix type "'.concat(t,'"'))}return e}function y(e,t,n){var r=o(t);if(0===r)throw new RangeError("Rotation around zero vector");var u=Re(e)?s:null,l=u?new u(1):1,c=u?new u(-1):-1,h=u?new u(t.get([0])/r):t.get([0])/r,d=u?new u(t.get([1])/r):t.get([1])/r,y=u?new u(t.get([2])/r):t.get([2])/r,v=f(e),x=i(l,a(v)),b=p(e);return g([[i(v,m([h,h,x])),i(m([h,d,x]),m([c,y,b])),i(m([h,y,x]),m([d,b]))],[i(m([h,d,x]),m([y,b])),i(v,m([d,d,x])),i(m([d,y,x]),m([c,h,b]))],[i(m([h,y,x]),m([c,d,b])),i(m([d,y,x]),m([h,b])),i(v,m([y,y,x]))]],n)}}),il=Sn("row",["typed","Index","matrix","range"],function(e){var t=e.typed,n=e.Index,r=e.matrix,i=e.range;return t("row",{"Matrix, number":a,"Array, number":function(e,t){return a(r(yt(e)),t).valueOf()}});function a(e,t){if(2!==e.size().length)throw new Error("Only two dimensional matrix is supported");sn(t,e.size()[0]);var r=i(0,e.size()[1]),a=new n(t,r);return e.subset(a)}}),al="size",ol=Sn(al,["typed","config","?matrix"],function(e){var t=e.typed,n=e.config,r=e.matrix;return t(al,{Matrix:function(e){return e.create(e.size())},Array:rn,string:function(e){return"Array"===n.matrix?[e.length]:r([e.length])},"number | Complex | BigNumber | Unit | boolean | null":function(e){return"Array"===n.matrix?[]:r?r([]):Gu()}})}),sl="squeeze",ul=Sn(sl,["typed","matrix"],function(e){var t=e.typed,n=e.matrix;return t(sl,{Array:function(e){return fn(yt(e))},Matrix:function(e){var t=fn(e.toArray());return Array.isArray(t)?n(t):t},any:function(e){return yt(e)}})});function ll(e){return ll="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ll(e)}function cl(e,t){if(dl(e)&&pl(e,t))return e[t];if("function"==typeof e[t]&&hl(e,t))throw new Error('Cannot access method "'+t+'" as a property');throw new Error('No access to property "'+t+'"')}function fl(e,t,n){if(dl(e)&&pl(e,t))return e[t]=n,n;throw new Error('No access to property "'+t+'"')}function pl(e,t){return!(!e||"object"!==ll(e)||!bt(ml,t)&&(t in Object.prototype||t in Function.prototype))}function hl(e,t){return!(null==e||"function"!=typeof e[t]||bt(e,t)&&Object.getPrototypeOf&&t in Object.getPrototypeOf(e)||!bt(gl,t)&&(t in Object.prototype||t in Function.prototype))}function dl(e){return"object"===ll(e)&&e&&e.constructor===Object}var ml={length:!0,name:!0},gl={toString:!0,valueOf:!0,toLocaleString:!0},yl="subset",vl=Sn(yl,["typed","matrix"],function(e){var t=e.typed,n=e.matrix;return t(yl,{"Array, Index":function(e,t){var r=n(e).subset(t);return t.isScalar()?r:r.valueOf()},"Matrix, Index":function(e,t){return e.subset(t)},"Object, Index":wl,"string, Index":xl,"Array, Index, any":function(e,t,r){return n(yt(e)).subset(t,r,void 0).valueOf()},"Array, Index, any, any":function(e,t,r,i){return n(yt(e)).subset(t,r,i).valueOf()},"Matrix, Index, any":function(e,t,n){return e.clone().subset(t,n)},"Matrix, Index, any, any":function(e,t,n,r){return e.clone().subset(t,n,r)},"string, Index, string":bl,"string, Index, string, string":bl,"Object, Index, any":Nl})});function xl(e,t){if(!$e(t))throw new TypeError("Index expected");if(1!==t.size().length)throw new tn(t.size().length,1);var n=e.length;sn(t.min()[0],n),sn(t.max()[0],n);var r=t.dimension(0),i="";return r.forEach(function(t){i+=e.charAt(t)}),i}function bl(e,t,n,r){if(!t||!0!==t.isIndex)throw new TypeError("Index expected");if(1!==t.size().length)throw new tn(t.size().length,1);if(void 0!==r){if("string"!=typeof r||1!==r.length)throw new TypeError("Single character expected as defaultValue")}else r=" ";var i=t.dimension(0);if(i.size()[0]!==n.length)throw new tn(i.size()[0],n.length);var a=e.length;sn(t.min()[0]),sn(t.max()[0]);for(var o=[],s=0;s<a;s++)o[s]=e.charAt(s);if(i.forEach(function(e,t){o[e]=n.charAt(t[0])}),o.length>a)for(var u=a-1,l=o.length;u<l;u++)o[u]||(o[u]=r);return o.join("")}function wl(e,t){if(1!==t.size().length)throw new tn(t.size(),1);var n=t.dimension(0);if("string"!=typeof n)throw new TypeError("String expected as index to retrieve an object property");return cl(e,n)}function Nl(e,t,n){if(1!==t.size().length)throw new tn(t.size(),1);var r=t.dimension(0);if("string"!=typeof r)throw new TypeError("String expected as index to retrieve an object property");var i=yt(e);return fl(i,r,n),i}var El=Sn("transpose",["typed","matrix"],function(e){var t=e.typed,n=e.matrix;return t("transpose",{Array:function(e){return this(n(e)).valueOf()},Matrix:function(e){var t,n=e.size();switch(n.length){case 1:t=e.clone();break;case 2:var r=n[0],i=n[1];if(0===i)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+Jt(n)+")");switch(e.storage()){case"dense":t=function(e,t,n){for(var r,i=e._data,a=[],o=0;o<n;o++){r=a[o]=[];for(var s=0;s<t;s++)r[s]=yt(i[s][o])}return e.createDenseMatrix({data:a,size:[n,t],datatype:e._datatype})}(e,r,i);break;case"sparse":t=function(e,t,n){for(var r,i,a,o=e._values,s=e._index,u=e._ptr,l=o?[]:void 0,c=[],f=[],p=[],h=0;h<t;h++)p[h]=0;for(r=0,i=s.length;r<i;r++)p[s[r]]++;for(var d=0,m=0;m<t;m++)f.push(d),d+=p[m],p[m]=f[m];for(f.push(d),a=0;a<n;a++)for(var g=u[a],y=u[a+1],v=g;v<y;v++){var x=p[s[v]]++;c[x]=a,o&&(l[x]=yt(o[v]))}return e.createSparseMatrix({values:l,index:c,ptr:f,size:[n,t],datatype:e._datatype})}(e,r,i)}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+Jt(this._size)+")")}return t},any:function(e){return yt(e)}})}),Sl="ctranspose",Ml=Sn(Sl,["typed","transpose","conj"],function(e){var t=e.typed,n=e.transpose,r=e.conj;return t(Sl,{any:function(e){return r(n(e))}})}),Al="zeros",Cl=Sn(Al,["typed","config","matrix","BigNumber"],function(e){var t=e.typed,n=e.config,r=e.matrix,i=e.BigNumber;return t(Al,{"":function(){return"Array"===n.matrix?a([]):a([],"default")},"...number | BigNumber | string":function(e){if("string"==typeof e[e.length-1]){var t=e.pop();return a(e,t)}return"Array"===n.matrix?a(e):a(e,"default")},Array:a,Matrix:function(e){var t=e.storage();return a(e.valueOf(),t)},"Array | Matrix, string":function(e,t){return a(e.valueOf(),t)}});function a(e,t){var n=function(e){var t=!1;return e.forEach(function(e,n,r){Re(e)&&(t=!0,r[n]=e.toNumber())}),t}(e),a=n?new i(0):0;if(function(e){e.forEach(function(e){if("number"!=typeof e||!At(e)||e<0)throw new Error("Parameters in function zeros must be positive integers")})}(e),t){var o=r(t);return e.length>0?o.resize(e,a):o}var s=[];return e.length>0?un(s,e,a):s}}),Ol=Sn("erf",["typed"],function(e){return(0,e.typed)("name",{number:function(e){var t=Math.abs(e);return t>=Dl?Ct(e):t<=kl?Ct(e)*function(e){var t,n=e*e,r=_l[0][4]*n,i=n;for(t=0;t<3;t+=1)r=(r+_l[0][t])*n,i=(i+Rl[0][t])*n;return e*(r+_l[0][3])/(i+Rl[0][3])}(t):t<=4?Ct(e)*(1-function(e){var t,n=_l[1][8]*e,r=e;for(t=0;t<7;t+=1)n=(n+_l[1][t])*e,r=(r+Rl[1][t])*e;var i=(n+_l[1][7])/(r+Rl[1][7]),a=parseInt(16*e)/16,o=(e-a)*(e+a);return Math.exp(-a*a)*Math.exp(-o)*i}(t)):Ct(e)*(1-function(e){var t,n=1/(e*e),r=_l[2][5]*n,i=n;for(t=0;t<4;t+=1)r=(r+_l[2][t])*n,i=(i+Rl[2][t])*n;var a=n*(r+_l[2][4])/(i+Rl[2][4]);a=(Tl-a)/e;var o=(e-(n=parseInt(16*e)/16))*(e+n);return Math.exp(-n*n)*Math.exp(-o)*a}(t))},"Array | Matrix":function(e){return Ui(e,this)}})}),kl=.46875,Tl=.5641895835477563,_l=[[3.1611237438705655,113.86415415105016,377.485237685302,3209.3775891384694,.18577770618460315],[.5641884969886701,8.883149794388377,66.11919063714163,298.6351381974001,881.952221241769,1712.0476126340707,2051.0783778260716,1230.3393547979972,2.1531153547440383e-8],[.30532663496123236,.36034489994980445,.12578172611122926,.016083785148742275,.0006587491615298378,.016315387137302097]],Rl=[[23.601290952344122,244.02463793444417,1282.6165260773723,2844.236833439171],[15.744926110709835,117.6939508913125,537.1811018620099,1621.3895745666903,3290.7992357334597,4362.619090143247,3439.3676741437216,1230.3393548037495],[2.568520192289822,1.8729528499234604,.5279051029514285,.06051834131244132,.0023352049762686918]],Dl=Math.pow(2,53),Il="mode",Pl=Sn(Il,["typed","isNaN","isNumeric"],function(e){var t=e.typed,n=e.isNaN,r=e.isNumeric;return t(Il,{"Array | Matrix":i,"...":function(e){return i(e)}});function i(e){if(0===(e=mn(e.valueOf())).length)throw new Error("Cannot calculate mode of an empty array");for(var t={},i=[],a=0,o=0;o<e.length;o++){var s=e[o];if(r(s)&&n(s))throw new Error("Cannot calculate mode of an array containing NaN values");s in t||(t[s]=0),t[s]++,t[s]===a?i.push(s):t[s]>a&&(a=t[s],i=[s])}return i}});function ql(e,t,n){var r;return-1!==String(e).indexOf("Unexpected type")?(r=arguments.length>2?" (type: "+mt(n)+", value: "+JSON.stringify(n)+")":" (type: "+e.data.actual+")",new TypeError("Cannot calculate "+t+", unexpected type of argument"+r)):-1!==String(e).indexOf("complex numbers")?(r=arguments.length>2?" (type: "+mt(n)+", value: "+JSON.stringify(n)+")":"",new TypeError("Cannot calculate "+t+", no ordering relation is defined for complex numbers"+r)):e}var zl="prod",Bl=Sn(zl,["typed","config","multiplyScalar","numeric"],function(e){var t=e.typed,n=e.config,r=e.multiplyScalar,i=e.numeric;return t(zl,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(e,t){throw new Error("prod(A, dim) is not yet supported")},"...":function(e){return a(e)}});function a(e){var t;if(Fi(e,function(e){try{t=void 0===t?e:r(t,e)}catch(t){throw ql(t,"prod",e)}}),"string"==typeof t&&(t=i(t,n.number)),void 0===t)throw new Error("Cannot calculate prod of an empty array");return t}}),jl="format",Ll=Sn(jl,["typed"],function(e){return(0,e.typed)(jl,{any:Jt,"any, Object | function | number":Jt})});function Fl(e){var t={2:"0b",8:"0o",16:"0x"}[e];return function(n){if(n>Math.pow(2,31)-1||n<-Math.pow(2,31))throw new Error("Value must be in range [-2^31, 2^31-1]");if(!At(n))throw new Error("Value must be an integer");return n<0&&(n+=Math.pow(2,32)),"".concat(t).concat(n.toString(e))}}var Ul=["typed"];function $l(e,t){return Sn(e,Ul,function(n){return(0,n.typed)(e,{number:Fl(t)})})}var Vl=$l("bin",2),Hl=$l("oct",8),Wl=$l("hex",16),Gl="print",Yl=Sn(Gl,["typed"],function(e){return(0,e.typed)(Gl,{"string, Object | Array":Zl,"string, Object | Array, number | Object":Zl})});function Zl(e,t,n){return e.replace(/\$([\w.]+)/g,function(e,r){for(var i=r.split("."),a=t[i.shift()];i.length&&void 0!==a;){var o=i.shift();a=o?a[o]:a+"."}return void 0!==a?qe(a)?a:Jt(a,n):e})}var Jl=Sn("to",["typed","matrix"],function(e){var t=e.typed,n=e.matrix,r=hs({typed:t}),i=Xo({typed:t});return t("to",{"Unit, Unit | string":function(e,t){return e.to(t)},"Matrix, Matrix":function(e,t){return r(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"Matrix, any":function(e,t){return i(e,t,this,!1)},"any, Matrix":function(e,t){return i(t,e,this,!0)},"Array, any":function(e,t){return i(n(e),t,this,!1).valueOf()},"any, Array":function(e,t){return i(n(t),e,this,!0).valueOf()}})}),Xl="isPrime",Kl=Sn(Xl,["typed"],function(e){return(0,e.typed)(Xl,{number:function(e){if(0*e!=0)return!1;if(e<=3)return e>1;if(e%2==0||e%3==0)return!1;for(var t=5;t*t<=e;t+=6)if(e%t===0||e%(t+2)===0)return!1;return!0},BigNumber:function(e){if(0*e.toNumber()!=0)return!1;if(e.lte(3))return e.gt(1);if(e.mod(2).eq(0)||e.mod(3).eq(0))return!1;for(var t=5;e.gte(t*t);t+=6)if(e.mod(t).eq(0)||e.mod(t+2).eq(0))return!1;return!0},"Array | Matrix":function(e){return Ui(e,this)}})}),Ql=Sn("numeric",["number","?bignumber","?fraction"],function(e){var t=e.number,n=e.bignumber,r=e.fraction,i={string:!0,number:!0,BigNumber:!0,Fraction:!0},a={number:function(e){return t(e)},BigNumber:n?function(e){return n(e)}:Hu,Fraction:r?function(e){return r(e)}:Wu};return function(e,t){var n=mt(e);if(!(n in i))throw new TypeError("Cannot convert "+e+' of type "'+n+'"; valid input types are '+Object.keys(i).join(", "));if(!(t in a))throw new TypeError("Cannot convert "+e+' to type "'+t+'"; valid output types are '+Object.keys(a).join(", "));return t===n?e:a[t](e)}}),ec="divideScalar",tc=Sn(ec,["typed","numeric"],function(e){var t=e.typed,n=e.numeric;return t(ec,{"number, number":function(e,t){return e/t},"Complex, Complex":function(e,t){return e.div(t)},"BigNumber, BigNumber":function(e,t){return e.div(t)},"Fraction, Fraction":function(e,t){return e.div(t)},"Unit, number | Fraction | BigNumber":function(e,t){var r=e.clone(),i=n(1,mt(t));return r.value=this(null===r.value?r._normalize(i):r.value,t),r},"number | Fraction | BigNumber, Unit":function(e,t){var r=t.clone();r=r.pow(-1);var i=n(1,mt(e));return r.value=this(e,null===t.value?t._normalize(i):t.value),r},"Unit, Unit":function(e,t){return e.divide(t)}})}),nc=Sn("pow",["typed","config","identity","multiply","matrix","fraction","number","Complex"],function(e){var t=e.typed,n=e.config,r=e.identity,i=e.multiply,a=e.matrix,o=e.number,s=e.fraction,u=e.Complex;return t("pow",{"number, number":l,"Complex, Complex":function(e,t){return e.pow(t)},"BigNumber, BigNumber":function(e,t){return t.isInteger()||e>=0||n.predictable?e.pow(t):new u(e.toNumber(),0).pow(t.toNumber(),0)},"Fraction, Fraction":function(e,t){if(1!==t.d){if(n.predictable)throw new Error("Function pow does not support non-integer exponents for fractions.");return l(e.valueOf(),t.valueOf())}return e.pow(t)},"Array, number":c,"Array, BigNumber":function(e,t){return c(e,t.toNumber())},"Matrix, number":f,"Matrix, BigNumber":function(e,t){return f(e,t.toNumber())},"Unit, number | BigNumber":function(e,t){return e.pow(t)}});function l(e,t){if(n.predictable&&!At(t)&&e<0)try{var r=s(t),i=o(r);if((t===i||Math.abs((t-i)/t)<1e-14)&&r.d%2==1)return(r.n%2==0?1:-1)*Math.pow(-e,t)}catch(e){}return n.predictable&&(e<-1&&t===1/0||e>-1&&e<0&&t===-1/0)?NaN:At(t)||e>=0||n.predictable?ga(e,t):e*e<1&&t===1/0||e*e>1&&t===-1/0?0:new u(e,0).pow(t,0)}function c(e,t){if(!At(t)||t<0)throw new TypeError("For A^b, b must be a positive integer (value is "+t+")");var n=rn(e);if(2!==n.length)throw new Error("For A^b, A must be 2 dimensional (A has "+n.length+" dimensions)");if(n[0]!==n[1])throw new Error("For A^b, A must be square (size is "+n[0]+"x"+n[1]+")");for(var a=r(n[0]).valueOf(),o=e;t>=1;)1&~t||(a=i(o,a)),t>>=1,o=i(o,o);return a}function f(e,t){return a(c(e.valueOf(),t))}});function rc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ic(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rc(Object(n),!0).forEach(function(t){ac(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rc(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ac(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var oc="Number of decimals in function round must be an integer",sc="round",uc=Sn(sc,["typed","matrix","equalScalar","zeros","BigNumber","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.zeros,a=e.BigNumber,o=e.DenseMatrix,s=Jo({typed:t,equalScalar:r}),u=Ss({typed:t,DenseMatrix:o}),l=Xo({typed:t});return t(sc,ic(ic({},lc),{},{Complex:function(e){return e.round()},"Complex, number":function(e,t){if(t%1)throw new TypeError(oc);return e.round(t)},"Complex, BigNumber":function(e,t){if(!t.isInteger())throw new TypeError(oc);var n=t.toNumber();return e.round(n)},"number, BigNumber":function(e,t){if(!t.isInteger())throw new TypeError(oc);return new a(e).toDecimalPlaces(t.toNumber())},BigNumber:function(e){return e.toDecimalPlaces(0)},"BigNumber, BigNumber":function(e,t){if(!t.isInteger())throw new TypeError(oc);return e.toDecimalPlaces(t.toNumber())},Fraction:function(e){return e.round()},"Fraction, number":function(e,t){if(t%1)throw new TypeError(oc);return e.round(t)},"Array | Matrix":function(e){return Ui(e,this)},"SparseMatrix, number | BigNumber":function(e,t){return s(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return l(e,t,this,!1)},"number | Complex | BigNumber, SparseMatrix":function(e,t){return r(e,0)?i(t.size(),t.storage()):u(t,e,this,!0)},"number | Complex | BigNumber, DenseMatrix":function(e,t){return r(e,0)?i(t.size(),t.storage()):l(t,e,this,!0)},"Array, number | BigNumber":function(e,t){return l(n(e),t,this,!1).valueOf()},"number | Complex | BigNumber, Array":function(e,t){return l(n(t),e,this,!0).valueOf()}}))}),lc={number:ya,"number, number":function(e,t){if(!At(t))throw new TypeError(oc);if(t<0||t>15)throw new Error("Number of decimals in function round must be in te range of 0-15");return ya(e,t)}};Sn(sc,["typed"],function(e){return(0,e.typed)(sc,lc)});var cc=Sn("log",["config","typed","divideScalar","Complex"],function(e){var t=e.typed,n=e.config,r=e.divideScalar,i=e.Complex;return t("log",{number:function(e){return e>=0||n.predictable?ua(e):new i(e,0).log()},Complex:function(e){return e.log()},BigNumber:function(e){return!e.isNegative()||n.predictable?e.ln():new i(e.toNumber(),0).log()},"Array | Matrix":function(e){return Ui(e,this)},"any, any":function(e,t){return r(this(e),this(t))}})}),fc="log1p",pc=Sn(fc,["typed","config","divideScalar","log","Complex"],function(e){var t=e.typed,n=e.config,r=e.divideScalar,i=e.log,a=e.Complex;return t(fc,{number:function(e){return e>=-1||n.predictable?Tt(e):o(new a(e,0))},Complex:o,BigNumber:function(e){var t=e.plus(1);return!t.isNegative()||n.predictable?t.ln():o(new a(e.toNumber(),0))},"Array | Matrix":function(e){return Ui(e,this)},"any, any":function(e,t){return r(this(e),i(t))}});function o(e){var t=e.re+1;return new a(Math.log(Math.sqrt(t*t+e.im*e.im)),Math.atan2(e.im,t))}}),hc="nthRoots",dc=Sn(hc,["config","typed","divideScalar","Complex"],function(e){var t=e.typed;e.config,e.divideScalar;var n=e.Complex,r=[function(e){return new n(e,0)},function(e){return new n(0,e)},function(e){return new n(-e,0)},function(e){return new n(0,-e)}];function i(e,t){if(t<0)throw new Error("Root must be greater than zero");if(0===t)throw new Error("Root must be non-zero");if(t%1!=0)throw new Error("Root must be an integer");if(0===e||0===e.abs())return[new n(0,0)];var i,a="number"==typeof e;(a||0===e.re||0===e.im)&&(i=a?2*+(e<0):0===e.im?2*+(e.re<0):2*+(e.im<0)+1);for(var o=e.arg(),s=e.abs(),u=[],l=Math.pow(s,1/t),c=0;c<t;c++){var f=(i+4*c)/t;f!==Math.round(f)?u.push(new n({r:l,phi:(o+2*Math.PI*c)/t})):u.push(r[f%4](l))}return u}return t(hc,{Complex:function(e){return i(e,2)},"Complex, number":i})}),mc="dotPow",gc=Sn(mc,["typed","equalScalar","matrix","pow","DenseMatrix"],function(e){var t=e.typed,n=e.equalScalar,r=e.matrix,i=e.pow,a=e.DenseMatrix,o=Ns({typed:t}),s=iu({typed:t,DenseMatrix:a}),u=Jo({typed:t,equalScalar:n}),l=Ss({typed:t,DenseMatrix:a}),c=hs({typed:t}),f=Xo({typed:t});return t(mc,{"any, any":i,"SparseMatrix, SparseMatrix":function(e,t){return s(e,t,i,!1)},"SparseMatrix, DenseMatrix":function(e,t){return o(t,e,i,!0)},"DenseMatrix, SparseMatrix":function(e,t){return o(e,t,i,!1)},"DenseMatrix, DenseMatrix":function(e,t){return c(e,t,i)},"Array, Array":function(e,t){return this(r(e),r(t)).valueOf()},"Array, Matrix":function(e,t){return this(r(e),t)},"Matrix, Array":function(e,t){return this(e,r(t))},"SparseMatrix, any":function(e,t){return u(e,t,this,!1)},"DenseMatrix, any":function(e,t){return f(e,t,this,!1)},"any, SparseMatrix":function(e,t){return l(t,e,this,!0)},"any, DenseMatrix":function(e,t){return f(t,e,this,!0)},"Array, any":function(e,t){return f(r(e),t,this,!1).valueOf()},"any, Array":function(e,t){return f(r(t),e,this,!0).valueOf()}})}),yc="dotDivide",vc=Sn(yc,["typed","matrix","equalScalar","divideScalar","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.divideScalar,a=e.DenseMatrix,o=ms({typed:t,equalScalar:r}),s=Ns({typed:t}),u=iu({typed:t,DenseMatrix:a}),l=Jo({typed:t,equalScalar:r}),c=Ss({typed:t,DenseMatrix:a}),f=hs({typed:t}),p=Xo({typed:t});return t(yc,{"any, any":i,"SparseMatrix, SparseMatrix":function(e,t){return u(e,t,i,!1)},"SparseMatrix, DenseMatrix":function(e,t){return o(t,e,i,!0)},"DenseMatrix, SparseMatrix":function(e,t){return s(e,t,i,!1)},"DenseMatrix, DenseMatrix":function(e,t){return f(e,t,i)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return l(e,t,i,!1)},"DenseMatrix, any":function(e,t){return p(e,t,i,!1)},"any, SparseMatrix":function(e,t){return c(t,e,i,!0)},"any, DenseMatrix":function(e,t){return p(t,e,i,!0)},"Array, any":function(e,t){return p(n(e),t,i,!1).valueOf()},"any, Array":function(e,t){return p(n(t),e,i,!0).valueOf()}})});function xc(e){var t=e.DenseMatrix;return function(e,n,r){var i=e.size();if(2!==i.length)throw new RangeError("Matrix must be two dimensional (size: "+Jt(i)+")");var a=i[0];if(a!==i[1])throw new RangeError("Matrix must be square (size: "+Jt(i)+")");var o=[];if(Be(n)){var s=n.size(),u=n._data;if(1===s.length){if(s[0]!==a)throw new RangeError("Dimension mismatch. Matrix columns must match vector length.");for(var l=0;l<a;l++)o[l]=[u[l]];return new t({data:o,size:[a,1],datatype:n._datatype})}if(2===s.length){if(s[0]!==a||1!==s[1])throw new RangeError("Dimension mismatch. Matrix columns must match vector length.");if(Le(n)){if(r){o=[];for(var c=0;c<a;c++)o[c]=[u[c][0]];return new t({data:o,size:[a,1],datatype:n._datatype})}return n}if(Fe(n)){for(var f=0;f<a;f++)o[f]=[0];for(var p=n._values,h=n._index,d=n._ptr,m=d[1],g=d[0];g<m;g++)o[h[g]][0]=p[g];return new t({data:o,size:[a,1],datatype:n._datatype})}}throw new RangeError("Dimension mismatch. The right side has to be either 1- or 2-dimensional vector.")}if(ze(n)){var y=rn(n);if(1===y.length){if(y[0]!==a)throw new RangeError("Dimension mismatch. Matrix columns must match vector length.");for(var v=0;v<a;v++)o[v]=[n[v]];return new t({data:o,size:[a,1]})}if(2===y.length){if(y[0]!==a||1!==y[1])throw new RangeError("Dimension mismatch. Matrix columns must match vector length.");for(var x=0;x<a;x++)o[x]=[n[x][0]];return new t({data:o,size:[a,1]})}throw new RangeError("Dimension mismatch. The right side has to be either 1- or 2-dimensional vector.")}}}var bc="lsolve",wc=Sn(bc,["typed","matrix","divideScalar","multiplyScalar","subtract","equalScalar","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.divideScalar,i=e.multiplyScalar,a=e.subtract,o=e.equalScalar,s=e.DenseMatrix,u=xc({DenseMatrix:s});return t(bc,{"SparseMatrix, Array | Matrix":function(e,t){return function(e,t){for(var n=(t=u(e,t,!0))._data,l=e._size[0],c=e._size[1],f=e._values,p=e._index,h=e._ptr,d=[],m=0;m<c;m++){var g=n[m][0]||0;if(o(g,0))d[m]=[0];else{for(var y=0,v=[],x=[],b=h[m],w=h[m+1],N=b;N<w;N++){var E=p[N];E===m?y=f[N]:E>m&&(v.push(f[N]),x.push(E))}if(o(y,0))throw new Error("Linear system cannot be solved since matrix is singular");for(var S=r(g,y),M=0,A=x.length;M<A;M++){var C=x[M];n[C]=[a(n[C][0]||0,i(S,v[M]))]}d[m]=[S]}}return new s({data:d,size:[l,1]})}(e,t)},"DenseMatrix, Array | Matrix":function(e,t){return l(e,t)},"Array, Array | Matrix":function(e,t){return l(n(e),t).valueOf()}});function l(e,t){for(var n=(t=u(e,t,!0))._data,l=e._size[0],c=e._size[1],f=[],p=e._data,h=0;h<c;h++){var d=n[h][0]||0,m=void 0;if(o(d,0))m=0;else{var g=p[h][h];if(o(g,0))throw new Error("Linear system cannot be solved since matrix is singular");m=r(d,g);for(var y=h+1;y<l;y++)n[y]=[a(n[y][0]||0,i(m,p[y][h]))]}f[h]=[m]}return new s({data:f,size:[l,1]})}}),Nc="usolve",Ec=Sn(Nc,["typed","matrix","divideScalar","multiplyScalar","subtract","equalScalar","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.divideScalar,i=e.multiplyScalar,a=e.subtract,o=e.equalScalar,s=e.DenseMatrix,u=xc({DenseMatrix:s});return t(Nc,{"SparseMatrix, Array | Matrix":function(e,t){return function(e,t){for(var n=(t=u(e,t,!0))._data,l=e._size[0],c=e._size[1],f=e._values,p=e._index,h=e._ptr,d=[],m=c-1;m>=0;m--){var g=n[m][0]||0;if(o(g,0))d[m]=[0];else{for(var y=0,v=[],x=[],b=h[m],w=h[m+1]-1;w>=b;w--){var N=p[w];N===m?y=f[w]:N<m&&(v.push(f[w]),x.push(N))}if(o(y,0))throw new Error("Linear system cannot be solved since matrix is singular");for(var E=r(g,y),S=0,M=x.length;S<M;S++){var A=x[S];n[A]=[a(n[A][0],i(E,v[S]))]}d[m]=[E]}}return new s({data:d,size:[l,1]})}(e,t)},"DenseMatrix, Array | Matrix":function(e,t){return l(e,t)},"Array, Array | Matrix":function(e,t){return l(n(e),t).valueOf()}});function l(e,t){for(var n=(t=u(e,t,!0))._data,l=e._size[0],c=e._size[1],f=[],p=e._data,h=c-1;h>=0;h--){var d=n[h][0]||0,m=void 0;if(o(d,0))m=0;else{var g=p[h][h];if(o(g,0))throw new Error("Linear system cannot be solved since matrix is singular");m=r(d,g);for(var y=h-1;y>=0;y--)n[y]=[a(n[y][0]||0,i(m,p[y][h]))]}f[h]=[m]}return new s({data:f,size:[l,1]})}});function Sc(e){return function(e){if(Array.isArray(e))return Mc(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Mc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mc(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Mc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Ac="lsolveAll",Cc=Sn(Ac,["typed","matrix","divideScalar","multiplyScalar","subtract","equalScalar","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.divideScalar,i=e.multiplyScalar,a=e.subtract,o=e.equalScalar,s=e.DenseMatrix,u=xc({DenseMatrix:s});return t(Ac,{"SparseMatrix, Array | Matrix":function(e,t){return function(e,t){for(var n=[u(e,t,!0)._data.map(function(e){return e[0]})],l=e._size[0],c=e._size[1],f=e._values,p=e._index,h=e._ptr,d=0;d<c;d++)for(var m=n.length,g=0;g<m;g++){for(var y=n[g],v=[],x=[],b=h[d],w=h[d+1],N=0,E=b;E<w;E++){var S=p[E];S===d?N=f[E]:S>d&&(v.push(f[E]),x.push(S))}if(o(N,0))if(o(y[d],0)){if(0===g){var M=Sc(y);M[d]=1;for(var A=0,C=x.length;A<C;A++){var O=x[A];M[O]=a(M[O],v[A])}n.push(M)}}else{if(0===g)return[];n.splice(g,1),g-=1,m-=1}else{y[d]=r(y[d],N);for(var k=0,T=x.length;k<T;k++){var _=x[k];y[_]=a(y[_],i(y[d],v[k]))}}}return n.map(function(e){return new s({data:e.map(function(e){return[e]}),size:[l,1]})})}(e,t)},"DenseMatrix, Array | Matrix":function(e,t){return l(e,t)},"Array, Array | Matrix":function(e,t){return l(n(e),t).map(function(e){return e.valueOf()})}});function l(e,t){for(var n=[u(e,t,!0)._data.map(function(e){return e[0]})],l=e._data,c=e._size[0],f=e._size[1],p=0;p<f;p++)for(var h=n.length,d=0;d<h;d++){var m=n[d];if(o(l[p][p],0))if(o(m[p],0)){if(0===d){var g=Sc(m);g[p]=1;for(var y=p+1;y<f;y++)g[y]=a(g[y],l[y][p]);n.push(g)}}else{if(0===d)return[];n.splice(d,1),d-=1,h-=1}else{m[p]=r(m[p],l[p][p]);for(var v=p+1;v<f;v++)m[v]=a(m[v],i(m[p],l[v][p]))}}return n.map(function(e){return new s({data:e.map(function(e){return[e]}),size:[c,1]})})}});function Oc(e){return function(e){if(Array.isArray(e))return kc(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return kc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?kc(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Tc="usolveAll",_c=Sn(Tc,["typed","matrix","divideScalar","multiplyScalar","subtract","equalScalar","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.divideScalar,i=e.multiplyScalar,a=e.subtract,o=e.equalScalar,s=e.DenseMatrix,u=xc({DenseMatrix:s});return t(Tc,{"SparseMatrix, Array | Matrix":function(e,t){return function(e,t){for(var n=[u(e,t,!0)._data.map(function(e){return e[0]})],l=e._size[0],c=e._size[1],f=e._values,p=e._index,h=e._ptr,d=c-1;d>=0;d--)for(var m=n.length,g=0;g<m;g++){for(var y=n[g],v=[],x=[],b=h[d],w=0,N=h[d+1]-1;N>=b;N--){var E=p[N];E===d?w=f[N]:E<d&&(v.push(f[N]),x.push(E))}if(o(w,0))if(o(y[d],0)){if(0===g){var S=Oc(y);S[d]=1;for(var M=0,A=x.length;M<A;M++){var C=x[M];S[C]=a(S[C],v[M])}n.push(S)}}else{if(0===g)return[];n.splice(g,1),g-=1,m-=1}else{y[d]=r(y[d],w);for(var O=0,k=x.length;O<k;O++){var T=x[O];y[T]=a(y[T],i(y[d],v[O]))}}}return n.map(function(e){return new s({data:e.map(function(e){return[e]}),size:[l,1]})})}(e,t)},"DenseMatrix, Array | Matrix":function(e,t){return l(e,t)},"Array, Array | Matrix":function(e,t){return l(n(e),t).map(function(e){return e.valueOf()})}});function l(e,t){for(var n=[u(e,t,!0)._data.map(function(e){return e[0]})],l=e._data,c=e._size[0],f=e._size[1]-1;f>=0;f--)for(var p=n.length,h=0;h<p;h++){var d=n[h];if(o(l[f][f],0))if(o(d[f],0)){if(0===h){var m=Oc(d);m[f]=1;for(var g=f-1;g>=0;g--)m[g]=a(m[g],l[g][f]);n.push(m)}}else{if(0===h)return[];n.splice(h,1),h-=1,p-=1}else{d[f]=r(d[f],l[f][f]);for(var y=f-1;y>=0;y--)d[y]=a(d[y],i(d[f],l[y][f]))}}return n.map(function(e){return new s({data:e.map(function(e){return[e]}),size:[c,1]})})}}),Rc=Sn("algorithm08",["typed","equalScalar"],function(e){var t=e.typed,n=e.equalScalar;return function(e,r,i){var a=e._values,o=e._index,s=e._ptr,u=e._size,l=e._datatype,c=r._values,f=r._index,p=r._ptr,h=r._size,d=r._datatype;if(u.length!==h.length)throw new tn(u.length,h.length);if(u[0]!==h[0]||u[1]!==h[1])throw new RangeError("Dimension mismatch. Matrix A ("+u+") must match Matrix B ("+h+")");if(!a||!c)throw new Error("Cannot perform operation on Pattern Sparse Matrices");var m,g=u[0],y=u[1],v=n,x=0,b=i;"string"==typeof l&&l===d&&(m=l,v=t.find(n,[m,m]),x=t.convert(0,m),b=t.find(i,[m,m]));for(var w,N,E,S,M=[],A=[],C=[],O=[],k=[],T=0;T<y;T++){C[T]=A.length;var _=T+1;for(N=s[T],E=s[T+1],w=N;w<E;w++)k[S=o[w]]=_,O[S]=a[w],A.push(S);for(N=p[T],E=p[T+1],w=N;w<E;w++)k[S=f[w]]===_&&(O[S]=b(O[S],c[w]));for(w=C[T];w<A.length;){var R=O[S=A[w]];v(R,x)?A.splice(w,1):(M.push(R),w++)}}return C[y]=A.length,e.createSparseMatrix({values:M,index:A,ptr:C,size:[g,y],datatype:m})}}),Dc="leftShift",Ic=Sn(Dc,["typed","matrix","equalScalar","zeros","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.zeros,a=e.DenseMatrix,o=cs({typed:t}),s=ms({typed:t,equalScalar:r}),u=Rc({typed:t,equalScalar:r}),l=ps({typed:t,DenseMatrix:a}),c=Jo({typed:t,equalScalar:r}),f=hs({typed:t}),p=Xo({typed:t});return t(Dc,{"number, number":Ea,"BigNumber, BigNumber":Js,"SparseMatrix, SparseMatrix":function(e,t){return u(e,t,this,!1)},"SparseMatrix, DenseMatrix":function(e,t){return s(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return o(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return f(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, number | BigNumber":function(e,t){return r(t,0)?e.clone():c(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return r(t,0)?e.clone():p(e,t,this,!1)},"number | BigNumber, SparseMatrix":function(e,t){return r(e,0)?i(t.size(),t.storage()):l(t,e,this,!0)},"number | BigNumber, DenseMatrix":function(e,t){return r(e,0)?i(t.size(),t.storage()):p(t,e,this,!0)},"Array, number | BigNumber":function(e,t){return this(n(e),t).valueOf()},"number | BigNumber, Array":function(e,t){return this(e,n(t)).valueOf()}})}),Pc="rightArithShift",qc=Sn(Pc,["typed","matrix","equalScalar","zeros","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.zeros,a=e.DenseMatrix,o=cs({typed:t}),s=ms({typed:t,equalScalar:r}),u=Rc({typed:t,equalScalar:r}),l=ps({typed:t,DenseMatrix:a}),c=Jo({typed:t,equalScalar:r}),f=hs({typed:t}),p=Xo({typed:t});return t(Pc,{"number, number":Sa,"BigNumber, BigNumber":Xs,"SparseMatrix, SparseMatrix":function(e,t){return u(e,t,this,!1)},"SparseMatrix, DenseMatrix":function(e,t){return s(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return o(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return f(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, number | BigNumber":function(e,t){return r(t,0)?e.clone():c(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return r(t,0)?e.clone():p(e,t,this,!1)},"number | BigNumber, SparseMatrix":function(e,t){return r(e,0)?i(t.size(),t.storage()):l(t,e,this,!0)},"number | BigNumber, DenseMatrix":function(e,t){return r(e,0)?i(t.size(),t.storage()):p(t,e,this,!0)},"Array, number | BigNumber":function(e,t){return this(n(e),t).valueOf()},"number | BigNumber, Array":function(e,t){return this(e,n(t)).valueOf()}})}),zc="rightLogShift",Bc=Sn(zc,["typed","matrix","equalScalar","zeros","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.zeros,a=e.DenseMatrix,o=cs({typed:t}),s=ms({typed:t,equalScalar:r}),u=Rc({typed:t,equalScalar:r}),l=ps({typed:t,DenseMatrix:a}),c=Jo({typed:t,equalScalar:r}),f=hs({typed:t}),p=Xo({typed:t});return t(zc,{"number, number":Ma,"SparseMatrix, SparseMatrix":function(e,t){return u(e,t,this,!1)},"SparseMatrix, DenseMatrix":function(e,t){return s(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return o(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return f(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, number | BigNumber":function(e,t){return r(t,0)?e.clone():c(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return r(t,0)?e.clone():p(e,t,this,!1)},"number | BigNumber, SparseMatrix":function(e,t){return r(e,0)?i(t.size(),t.storage()):l(t,e,this,!0)},"number | BigNumber, DenseMatrix":function(e,t){return r(e,0)?i(t.size(),t.storage()):p(t,e,this,!0)},"Array, number | BigNumber":function(e,t){return this(n(e),t).valueOf()},"number | BigNumber, Array":function(e,t){return this(e,n(t)).valueOf()}})}),jc=Sn("and",["typed","matrix","equalScalar","zeros","not"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.zeros,a=e.not,o=ms({typed:t,equalScalar:r}),s=gs({typed:t,equalScalar:r}),u=Jo({typed:t,equalScalar:r}),l=hs({typed:t}),c=Xo({typed:t});return t("and",{"number, number":Pa,"Complex, Complex":function(e,t){return!(0===e.re&&0===e.im||0===t.re&&0===t.im)},"BigNumber, BigNumber":function(e,t){return!(e.isZero()||t.isZero()||e.isNaN()||t.isNaN())},"Unit, Unit":function(e,t){return this(e.value||0,t.value||0)},"SparseMatrix, SparseMatrix":function(e,t){return s(e,t,this,!1)},"SparseMatrix, DenseMatrix":function(e,t){return o(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return o(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return l(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return a(t)?i(e.size(),e.storage()):u(e,t,this,!1)},"DenseMatrix, any":function(e,t){return a(t)?i(e.size(),e.storage()):c(e,t,this,!1)},"any, SparseMatrix":function(e,t){return a(e)?i(e.size(),e.storage()):u(t,e,this,!0)},"any, DenseMatrix":function(e,t){return a(e)?i(e.size(),e.storage()):c(t,e,this,!0)},"Array, any":function(e,t){return this(n(e),t).valueOf()},"any, Array":function(e,t){return this(e,n(t)).valueOf()}})}),Lc="compare",Fc=Sn(Lc,["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix"],function(e){var t=e.typed,n=e.config,r=e.equalScalar,i=e.matrix,a=e.BigNumber,o=e.Fraction,s=e.DenseMatrix,u=Ns({typed:t}),l=Es({typed:t,equalScalar:r}),c=Ss({typed:t,DenseMatrix:s}),f=hs({typed:t}),p=Xo({typed:t});return t(Lc,{"boolean, boolean":function(e,t){return e===t?0:e>t?1:-1},"number, number":function(e,t){return Lt(e,t,n.epsilon)?0:e>t?1:-1},"BigNumber, BigNumber":function(e,t){return No(e,t,n.epsilon)?new a(0):new a(e.cmp(t))},"Fraction, Fraction":function(e,t){return new o(e.compare(t))},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")},"Unit, Unit":function(e,t){if(!e.equalBase(t))throw new Error("Cannot compare units with different base");return this(e.value,t.value)},"SparseMatrix, SparseMatrix":function(e,t){return l(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return u(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return u(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return f(e,t,this)},"Array, Array":function(e,t){return this(i(e),i(t)).valueOf()},"Array, Matrix":function(e,t){return this(i(e),t)},"Matrix, Array":function(e,t){return this(e,i(t))},"SparseMatrix, any":function(e,t){return c(e,t,this,!1)},"DenseMatrix, any":function(e,t){return p(e,t,this,!1)},"any, SparseMatrix":function(e,t){return c(t,e,this,!0)},"any, DenseMatrix":function(e,t){return p(t,e,this,!0)},"Array, any":function(e,t){return p(i(e),t,this,!1).valueOf()},"any, Array":function(e,t){return p(i(t),e,this,!0).valueOf()}})});Sn(Lc,["typed","config"],function(e){var t=e.typed,n=e.config;return t(Lc,{"number, number":function(e,t){return Lt(e,t,n.epsilon)?0:e>t?1:-1}})});var Uc=function e(t,n){var r,i,a=/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,o=/(^[ ]*|[ ]*$)/g,s=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,u=/^0x[0-9a-f]+$/i,l=/^0/,c=function(t){return e.insensitive&&(""+t).toLowerCase()||""+t},f=c(t).replace(o,"")||"",p=c(n).replace(o,"")||"",h=f.replace(a,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),d=p.replace(a,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),m=parseInt(f.match(u),16)||1!==h.length&&f.match(s)&&Date.parse(f),g=parseInt(p.match(u),16)||m&&p.match(s)&&Date.parse(p)||null;if(g){if(m<g)return-1;if(m>g)return 1}for(var y=0,v=Math.max(h.length,d.length);y<v;y++){if(r=!(h[y]||"").match(l)&&parseFloat(h[y])||h[y]||0,i=!(d[y]||"").match(l)&&parseFloat(d[y])||d[y]||0,isNaN(r)!==isNaN(i))return isNaN(r)?1:-1;if(typeof r!=typeof i&&(r+="",i+=""),r<i)return-1;if(r>i)return 1}return 0},$c="compareNatural",Vc=Sn($c,["typed","compare"],function(e){var t=e.typed,n=e.compare,r=n.signatures["boolean,boolean"];return t($c,{"any, any":function(e,t){var o,s=mt(e),u=mt(t);if(!("number"!==s&&"BigNumber"!==s&&"Fraction"!==s||"number"!==u&&"BigNumber"!==u&&"Fraction"!==u))return"0"!==(o=n(e,t)).toString()?o>0?1:-1:Uc(s,u);if("Array"===s||"Matrix"===s||"Array"===u||"Matrix"===u)return 0!==(o=i(this,e,t))?o:Uc(s,u);if(s!==u)return Uc(s,u);if("Complex"===s)return function(e,t){return e.re>t.re?1:e.re<t.re?-1:e.im>t.im?1:e.im<t.im?-1:0}(e,t);if("Unit"===s)return e.equalBase(t)?this(e.value,t.value):a(this,e.formatUnits(),t.formatUnits());if("boolean"===s)return r(e,t);if("string"===s)return Uc(e,t);if("Object"===s)return function(e,t,n){var r=Object.keys(t),i=Object.keys(n);r.sort(Uc),i.sort(Uc);var o=a(e,r,i);if(0!==o)return o;for(var s=0;s<r.length;s++){var u=e(t[r[s]],n[i[s]]);if(0!==u)return u}return 0}(this,e,t);if("null"===s)return 0;if("undefined"===s)return 0;throw new TypeError('Unsupported type of value "'+s+'"')}});function i(e,t,n){return Fe(t)&&Fe(n)?a(e,t.toJSON().values,n.toJSON().values):Fe(t)?i(e,t.toArray(),n):Fe(n)?i(e,t,n.toArray()):Le(t)?i(e,t.toJSON().data,n):Le(n)?i(e,t,n.toJSON().data):Array.isArray(t)?Array.isArray(n)?a(e,t,n):i(e,t,[n]):i(e,[t],n)}function a(e,t,n){for(var r=0,i=Math.min(t.length,n.length);r<i;r++){var a=e(t[r],n[r]);if(0!==a)return a}return t.length>n.length?1:t.length<n.length?-1:0}}),Hc="compareText",Wc=Sn(Hc,["typed","matrix"],function(e){var t=e.typed,n=e.matrix,r=hs({typed:t}),i=Xo({typed:t});return t(Hc,{"any, any":en,"DenseMatrix, DenseMatrix":function(e,t){return r(e,t,en)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"DenseMatrix, any":function(e,t){return i(e,t,en,!1)},"any, DenseMatrix":function(e,t){return i(t,e,en,!0)},"Array, any":function(e,t){return i(n(e),t,en,!1).valueOf()},"any, Array":function(e,t){return i(n(t),e,en,!0).valueOf()}})});Sn(Hc,["typed"],function(e){return(0,e.typed)(Hc,{"any, any":en})});var Gc="equal",Yc=Sn(Gc,["typed","matrix","equalScalar","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.DenseMatrix,a=Ns({typed:t}),o=iu({typed:t,DenseMatrix:i}),s=Ss({typed:t,DenseMatrix:i}),u=hs({typed:t}),l=Xo({typed:t});return t(Gc,{"any, any":function(e,t){return null===e?null===t:null===t?null===e:void 0===e?void 0===t:void 0===t?void 0===e:r(e,t)},"SparseMatrix, SparseMatrix":function(e,t){return o(e,t,r)},"SparseMatrix, DenseMatrix":function(e,t){return a(t,e,r,!0)},"DenseMatrix, SparseMatrix":function(e,t){return a(e,t,r,!1)},"DenseMatrix, DenseMatrix":function(e,t){return u(e,t,r)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, any":function(e,t){return s(e,t,r,!1)},"DenseMatrix, any":function(e,t){return l(e,t,r,!1)},"any, SparseMatrix":function(e,t){return s(t,e,r,!0)},"any, DenseMatrix":function(e,t){return l(t,e,r,!0)},"Array, any":function(e,t){return l(n(e),t,r,!1).valueOf()},"any, Array":function(e,t){return l(n(t),e,r,!0).valueOf()}})});Sn(Gc,["typed","equalScalar"],function(e){var t=e.typed,n=e.equalScalar;return t(Gc,{"any, any":function(e,t){return null===e?null===t:null===t?null===e:void 0===e?void 0===t:void 0===t?void 0===e:n(e,t)}})});var Zc="equalText",Jc=Sn(Zc,["typed","compareText","isZero"],function(e){var t=e.typed,n=e.compareText,r=e.isZero;return t(Zc,{"any, any":function(e,t){return r(n(e,t))}})}),Xc="smaller",Kc=Sn(Xc,["typed","config","matrix","DenseMatrix"],function(e){var t=e.typed,n=e.config,r=e.matrix,i=e.DenseMatrix,a=Ns({typed:t}),o=iu({typed:t,DenseMatrix:i}),s=Ss({typed:t,DenseMatrix:i}),u=hs({typed:t}),l=Xo({typed:t});return t(Xc,{"boolean, boolean":function(e,t){return e<t},"number, number":function(e,t){return e<t&&!Lt(e,t,n.epsilon)},"BigNumber, BigNumber":function(e,t){return e.lt(t)&&!No(e,t,n.epsilon)},"Fraction, Fraction":function(e,t){return-1===e.compare(t)},"Complex, Complex":function(e,t){throw new TypeError("No ordering relation is defined for complex numbers")},"Unit, Unit":function(e,t){if(!e.equalBase(t))throw new Error("Cannot compare units with different base");return this(e.value,t.value)},"SparseMatrix, SparseMatrix":function(e,t){return o(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return a(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return a(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return u(e,t,this)},"Array, Array":function(e,t){return this(r(e),r(t)).valueOf()},"Array, Matrix":function(e,t){return this(r(e),t)},"Matrix, Array":function(e,t){return this(e,r(t))},"SparseMatrix, any":function(e,t){return s(e,t,this,!1)},"DenseMatrix, any":function(e,t){return l(e,t,this,!1)},"any, SparseMatrix":function(e,t){return s(t,e,this,!0)},"any, DenseMatrix":function(e,t){return l(t,e,this,!0)},"Array, any":function(e,t){return l(r(e),t,this,!1).valueOf()},"any, Array":function(e,t){return l(r(t),e,this,!0).valueOf()}})});Sn(Xc,["typed","config"],function(e){var t=e.typed,n=e.config;return t(Xc,{"number, number":function(e,t){return e<t&&!Lt(e,t,n.epsilon)}})});var Qc="smallerEq",ef=Sn(Qc,["typed","config","matrix","DenseMatrix"],function(e){var t=e.typed,n=e.config,r=e.matrix,i=e.DenseMatrix,a=Ns({typed:t}),o=iu({typed:t,DenseMatrix:i}),s=Ss({typed:t,DenseMatrix:i}),u=hs({typed:t}),l=Xo({typed:t});return t(Qc,{"boolean, boolean":function(e,t){return e<=t},"number, number":function(e,t){return e<=t||Lt(e,t,n.epsilon)},"BigNumber, BigNumber":function(e,t){return e.lte(t)||No(e,t,n.epsilon)},"Fraction, Fraction":function(e,t){return 1!==e.compare(t)},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")},"Unit, Unit":function(e,t){if(!e.equalBase(t))throw new Error("Cannot compare units with different base");return this(e.value,t.value)},"SparseMatrix, SparseMatrix":function(e,t){return o(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return a(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return a(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return u(e,t,this)},"Array, Array":function(e,t){return this(r(e),r(t)).valueOf()},"Array, Matrix":function(e,t){return this(r(e),t)},"Matrix, Array":function(e,t){return this(e,r(t))},"SparseMatrix, any":function(e,t){return s(e,t,this,!1)},"DenseMatrix, any":function(e,t){return l(e,t,this,!1)},"any, SparseMatrix":function(e,t){return s(t,e,this,!0)},"any, DenseMatrix":function(e,t){return l(t,e,this,!0)},"Array, any":function(e,t){return l(r(e),t,this,!1).valueOf()},"any, Array":function(e,t){return l(r(t),e,this,!0).valueOf()}})});Sn(Qc,["typed","config"],function(e){var t=e.typed,n=e.config;return t(Qc,{"number, number":function(e,t){return e<=t||Lt(e,t,n.epsilon)}})});var tf="larger",nf=Sn(tf,["typed","config","matrix","DenseMatrix"],function(e){var t=e.typed,n=e.config,r=e.matrix,i=e.DenseMatrix,a=Ns({typed:t}),o=iu({typed:t,DenseMatrix:i}),s=Ss({typed:t,DenseMatrix:i}),u=hs({typed:t}),l=Xo({typed:t});return t(tf,{"boolean, boolean":function(e,t){return e>t},"number, number":function(e,t){return e>t&&!Lt(e,t,n.epsilon)},"BigNumber, BigNumber":function(e,t){return e.gt(t)&&!No(e,t,n.epsilon)},"Fraction, Fraction":function(e,t){return 1===e.compare(t)},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")},"Unit, Unit":function(e,t){if(!e.equalBase(t))throw new Error("Cannot compare units with different base");return this(e.value,t.value)},"SparseMatrix, SparseMatrix":function(e,t){return o(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return a(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return a(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return u(e,t,this)},"Array, Array":function(e,t){return this(r(e),r(t)).valueOf()},"Array, Matrix":function(e,t){return this(r(e),t)},"Matrix, Array":function(e,t){return this(e,r(t))},"SparseMatrix, any":function(e,t){return s(e,t,this,!1)},"DenseMatrix, any":function(e,t){return l(e,t,this,!1)},"any, SparseMatrix":function(e,t){return s(t,e,this,!0)},"any, DenseMatrix":function(e,t){return l(t,e,this,!0)},"Array, any":function(e,t){return l(r(e),t,this,!1).valueOf()},"any, Array":function(e,t){return l(r(t),e,this,!0).valueOf()}})});Sn(tf,["typed","config"],function(e){var t=e.typed,n=e.config;return t(tf,{"number, number":function(e,t){return e>t&&!Lt(e,t,n.epsilon)}})});var rf="largerEq",af=Sn(rf,["typed","config","matrix","DenseMatrix"],function(e){var t=e.typed,n=e.config,r=e.matrix,i=e.DenseMatrix,a=Ns({typed:t}),o=iu({typed:t,DenseMatrix:i}),s=Ss({typed:t,DenseMatrix:i}),u=hs({typed:t}),l=Xo({typed:t});return t(rf,{"boolean, boolean":function(e,t){return e>=t},"number, number":function(e,t){return e>=t||Lt(e,t,n.epsilon)},"BigNumber, BigNumber":function(e,t){return e.gte(t)||No(e,t,n.epsilon)},"Fraction, Fraction":function(e,t){return-1!==e.compare(t)},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")},"Unit, Unit":function(e,t){if(!e.equalBase(t))throw new Error("Cannot compare units with different base");return this(e.value,t.value)},"SparseMatrix, SparseMatrix":function(e,t){return o(e,t,this)},"SparseMatrix, DenseMatrix":function(e,t){return a(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return a(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return u(e,t,this)},"Array, Array":function(e,t){return this(r(e),r(t)).valueOf()},"Array, Matrix":function(e,t){return this(r(e),t)},"Matrix, Array":function(e,t){return this(e,r(t))},"SparseMatrix, any":function(e,t){return s(e,t,this,!1)},"DenseMatrix, any":function(e,t){return l(e,t,this,!1)},"any, SparseMatrix":function(e,t){return s(t,e,this,!0)},"any, DenseMatrix":function(e,t){return l(t,e,this,!0)},"Array, any":function(e,t){return l(r(e),t,this,!1).valueOf()},"any, Array":function(e,t){return l(r(t),e,this,!0).valueOf()}})});Sn(rf,["typed","config"],function(e){var t=e.typed,n=e.config;return t(rf,{"number, number":function(e,t){return e>=t||Lt(e,t,n.epsilon)}})});var of="deepEqual",sf=Sn(of,["typed","equal"],function(e){var t=e.typed,n=e.equal;return t(of,{"any, any":function(e,t){return r(e.valueOf(),t.valueOf())}});function r(e,t){if(Array.isArray(e)){if(Array.isArray(t)){var i=e.length;if(i!==t.length)return!1;for(var a=0;a<i;a++)if(!r(e[a],t[a]))return!1;return!0}return!1}return!Array.isArray(t)&&n(e,t)}}),uf="unequal",lf=Sn(uf,["typed","config","equalScalar","matrix","DenseMatrix"],function(e){var t=e.typed;e.config;var n=e.equalScalar,r=e.matrix,i=e.DenseMatrix,a=Ns({typed:t}),o=iu({typed:t,DenseMatrix:i}),s=Ss({typed:t,DenseMatrix:i}),u=hs({typed:t}),l=Xo({typed:t});return t("unequal",{"any, any":function(e,t){return null===e?null!==t:null===t?null!==e:void 0===e?void 0!==t:void 0===t?void 0!==e:c(e,t)},"SparseMatrix, SparseMatrix":function(e,t){return o(e,t,c)},"SparseMatrix, DenseMatrix":function(e,t){return a(t,e,c,!0)},"DenseMatrix, SparseMatrix":function(e,t){return a(e,t,c,!1)},"DenseMatrix, DenseMatrix":function(e,t){return u(e,t,c)},"Array, Array":function(e,t){return this(r(e),r(t)).valueOf()},"Array, Matrix":function(e,t){return this(r(e),t)},"Matrix, Array":function(e,t){return this(e,r(t))},"SparseMatrix, any":function(e,t){return s(e,t,c,!1)},"DenseMatrix, any":function(e,t){return l(e,t,c,!1)},"any, SparseMatrix":function(e,t){return s(t,e,c,!0)},"any, DenseMatrix":function(e,t){return l(t,e,c,!0)},"Array, any":function(e,t){return l(r(e),t,c,!1).valueOf()},"any, Array":function(e,t){return l(r(t),e,c,!0).valueOf()}});function c(e,t){return!n(e,t)}});Sn(uf,["typed","equalScalar"],function(e){var t=e.typed,n=e.equalScalar;return t(uf,{"any, any":function(e,t){return null===e?null!==t:null===t?null!==e:void 0===e?void 0!==t:void 0===t?void 0!==e:!n(e,t)}})});var cf="partitionSelect",ff=Sn(cf,["typed","isNumeric","isNaN","compare"],function(e){var t=e.typed,n=e.isNumeric,r=e.isNaN,i=e.compare,a=i,o=function(e,t){return-i(e,t)};return t(cf,{"Array | Matrix, number":function(e,t){return s(e,t,a)},"Array | Matrix, number, string":function(e,t,n){if("asc"===n)return s(e,t,a);if("desc"===n)return s(e,t,o);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":s});function s(e,t,n){if(!At(t)||t<0)throw new Error("k must be a non-negative integer");if(Be(e)){if(e.size().length>1)throw new Error("Only one dimensional matrices supported");return u(e.valueOf(),t,n)}if(Array.isArray(e))return u(e,t,n)}function u(e,t,i){if(t>=e.length)throw new Error("k out of bounds");for(var a=0;a<e.length;a++)if(n(e[a])&&r(e[a]))return e[a];for(var o=0,s=e.length-1;o<s;){for(var u=o,l=s,c=e[Math.floor(Math.random()*(s-o+1))+o];u<l;)if(i(e[u],c)>=0){var f=e[l];e[l]=e[u],e[u]=f,--l}else++u;i(e[u],c)>0&&--u,t<=u?s=u:o=u+1}return e[t]}}),pf="sort",hf=Sn(pf,["typed","matrix","compare","compareNatural"],function(e){var t=e.typed,n=e.matrix,r=e.compare,i=e.compareNatural,a=r,o=function(e,t){return-r(e,t)};return t(pf,{Array:function(e){return u(e),e.sort(a)},Matrix:function(e){return l(e),n(e.toArray().sort(a),e.storage())},"Array, function":function(e,t){return u(e),e.sort(t)},"Matrix, function":function(e,t){return l(e),n(e.toArray().sort(t),e.storage())},"Array, string":function(e,t){return u(e),e.sort(s(t))},"Matrix, string":function(e,t){return l(e),n(e.toArray().sort(s(t)),e.storage())}});function s(e){if("asc"===e)return a;if("desc"===e)return o;if("natural"===e)return i;throw new Error('String "asc", "desc", or "natural" expected')}function u(e){if(1!==rn(e).length)throw new Error("One dimensional array expected")}function l(e){if(1!==e.size().length)throw new Error("One dimensional matrix expected")}}),df=Sn("max",["typed","config","numeric","larger"],function(e){var t=e.typed,n=e.config,r=e.numeric,i=e.larger;return t("max",{"Array | Matrix":o,"Array | Matrix, number | BigNumber":function(e,t){return $i(e,t.valueOf(),a)},"...":function(e){if(Li(e))throw new TypeError("Scalar values expected in function max");return o(e)}});function a(e,t){try{return i(e,t)?e:t}catch(e){throw ql(e,"max",t)}}function o(e){var t;if(Fi(e,function(e){try{isNaN(e)&&"number"==typeof e?t=NaN:(void 0===t||i(e,t))&&(t=e)}catch(t){throw ql(t,"max",e)}}),void 0===t)throw new Error("Cannot calculate max of an empty array");return"string"==typeof t&&(t=r(t,n.number)),t}}),mf=Sn("min",["typed","config","numeric","smaller"],function(e){var t=e.typed,n=e.config,r=e.numeric,i=e.smaller;return t("min",{"Array | Matrix":o,"Array | Matrix, number | BigNumber":function(e,t){return $i(e,t.valueOf(),a)},"...":function(e){if(Li(e))throw new TypeError("Scalar values expected in function min");return o(e)}});function a(e,t){try{return i(e,t)?e:t}catch(e){throw ql(e,"min",t)}}function o(e){var t;if(Fi(e,function(e){try{isNaN(e)&&"number"==typeof e?t=NaN:(void 0===t||i(e,t))&&(t=e)}catch(t){throw ql(t,"min",e)}}),void 0===t)throw new Error("Cannot calculate min of an empty array");return"string"==typeof t&&(t=r(t,n.number)),t}}),gf=Sn("ImmutableDenseMatrix",["smaller","DenseMatrix"],function(e){var t=e.smaller,n=e.DenseMatrix;function r(e,t){if(!(this instanceof r))throw new SyntaxError("Constructor must be called with the new operator");if(t&&!qe(t))throw new Error("Invalid datatype: "+t);if(Be(e)||ze(e)){var i=new n(e,t);this._data=i._data,this._size=i._size,this._datatype=i._datatype,this._min=null,this._max=null}else if(e&&ze(e.data)&&ze(e.size))this._data=e.data,this._size=e.size,this._datatype=e.datatype,this._min=void 0!==e.min?e.min:null,this._max=void 0!==e.max?e.max:null;else{if(e)throw new TypeError("Unsupported type of data ("+mt(e)+")");this._data=[],this._size=[0],this._datatype=t,this._min=null,this._max=null}}return r.prototype=new n,r.prototype.type="ImmutableDenseMatrix",r.prototype.isImmutableDenseMatrix=!0,r.prototype.subset=function(e){switch(arguments.length){case 1:var t=n.prototype.subset.call(this,e);return Be(t)?new r({data:t._data,size:t._size,datatype:t._datatype}):t;case 2:case 3:throw new Error("Cannot invoke set subset on an Immutable Matrix instance");default:throw new SyntaxError("Wrong number of arguments")}},r.prototype.set=function(){throw new Error("Cannot invoke set on an Immutable Matrix instance")},r.prototype.resize=function(){throw new Error("Cannot invoke resize on an Immutable Matrix instance")},r.prototype.reshape=function(){throw new Error("Cannot invoke reshape on an Immutable Matrix instance")},r.prototype.clone=function(){return new r({data:yt(this._data),size:yt(this._size),datatype:this._datatype})},r.prototype.toJSON=function(){return{mathjs:"ImmutableDenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},r.fromJSON=function(e){return new r(e)},r.prototype.swapRows=function(){throw new Error("Cannot invoke swapRows on an Immutable Matrix instance")},r.prototype.min=function(){if(null===this._min){var e=null;this.forEach(function(n){(null===e||t(n,e))&&(e=n)}),this._min=null!==e?e:void 0}return this._min},r.prototype.max=function(){if(null===this._max){var e=null;this.forEach(function(n){(null===e||t(e,n))&&(e=n)}),this._max=null!==e?e:void 0}return this._max},r},{isClass:!0}),yf=Sn("Index",["ImmutableDenseMatrix"],function(e){var t=e.ImmutableDenseMatrix;function n(e){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this._dimensions=[],this._isScalar=!0;for(var t=0,i=arguments.length;t<i;t++){var a=arguments[t];if(Ue(a))this._dimensions.push(a),this._isScalar=!1;else if(Array.isArray(a)||Be(a)){var o=r(a.valueOf());this._dimensions.push(o);var s=o.size();1===s.length&&1===s[0]||(this._isScalar=!1)}else if("number"==typeof a)this._dimensions.push(r([a]));else{if("string"!=typeof a)throw new TypeError("Dimension must be an Array, Matrix, number, string, or Range");this._dimensions.push(a)}}}function r(e){for(var n=0,r=e.length;n<r;n++)if("number"!=typeof e[n]||!At(e[n]))throw new TypeError("Index parameters must be positive integer numbers");return new t(e)}return n.prototype.type="Index",n.prototype.isIndex=!0,n.prototype.clone=function(){var e=new n;return e._dimensions=yt(this._dimensions),e._isScalar=this._isScalar,e},n.create=function(e){var t=new n;return n.apply(t,e),t},n.prototype.size=function(){for(var e=[],t=0,n=this._dimensions.length;t<n;t++){var r=this._dimensions[t];e[t]="string"==typeof r?1:r.size()[0]}return e},n.prototype.max=function(){for(var e=[],t=0,n=this._dimensions.length;t<n;t++){var r=this._dimensions[t];e[t]="string"==typeof r?r:r.max()}return e},n.prototype.min=function(){for(var e=[],t=0,n=this._dimensions.length;t<n;t++){var r=this._dimensions[t];e[t]="string"==typeof r?r:r.min()}return e},n.prototype.forEach=function(e){for(var t=0,n=this._dimensions.length;t<n;t++)e(this._dimensions[t],t,this)},n.prototype.dimension=function(e){return this._dimensions[e]||null},n.prototype.isObjectProperty=function(){return 1===this._dimensions.length&&"string"==typeof this._dimensions[0]},n.prototype.getObjectProperty=function(){return this.isObjectProperty()?this._dimensions[0]:null},n.prototype.isScalar=function(){return this._isScalar},n.prototype.toArray=function(){for(var e=[],t=0,n=this._dimensions.length;t<n;t++){var r=this._dimensions[t];e.push("string"==typeof r?r:r.toArray())}return e},n.prototype.valueOf=n.prototype.toArray,n.prototype.toString=function(){for(var e=[],t=0,n=this._dimensions.length;t<n;t++){var r=this._dimensions[t];"string"==typeof r?e.push(JSON.stringify(r)):e.push(r.toString())}return"["+e.join(", ")+"]"},n.prototype.toJSON=function(){return{mathjs:"Index",dimensions:this._dimensions}},n.fromJSON=function(e){return n.create(e.dimensions)},n},{isClass:!0}),vf=Sn("FibonacciHeap",["smaller","larger"],function(e){var t=e.smaller,n=e.larger,r=1/Math.log((1+Math.sqrt(5))/2);function i(){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");this._minimum=null,this._size=0}function a(e,t,n){t.left.right=t.right,t.right.left=t.left,n.degree--,n.child===t&&(n.child=t.right),0===n.degree&&(n.child=null),t.left=e,t.right=e.right,e.right=t,t.right.left=t,t.parent=null,t.mark=!1}function o(e,t){var n=t.parent;n&&(t.mark?(a(e,t,n),o(n)):t.mark=!0)}i.prototype.type="FibonacciHeap",i.prototype.isFibonacciHeap=!0,i.prototype.insert=function(e,n){var r={key:e,value:n,degree:0};if(this._minimum){var i=this._minimum;r.left=i,r.right=i.right,i.right=r,r.right.left=r,t(e,i.key)&&(this._minimum=r)}else r.left=r,r.right=r,this._minimum=r;return this._size++,r},i.prototype.size=function(){return this._size},i.prototype.clear=function(){this._minimum=null,this._size=0},i.prototype.isEmpty=function(){return 0===this._size},i.prototype.extractMinimum=function(){var e=this._minimum;if(null===e)return e;for(var i=this._minimum,a=e.degree,o=e.child;a>0;){var u=o.right;o.left.right=o.right,o.right.left=o.left,o.left=i,o.right=i.right,i.right=o,o.right.left=o,o.parent=null,o=u,a--}return e.left.right=e.right,e.right.left=e.left,i=e===e.right?null:function(e,i){var a,o=Math.floor(Math.log(i)*r)+1,u=new Array(o),l=0,c=e;if(c)for(l++,c=c.right;c!==e;)l++,c=c.right;for(;l>0;){for(var f=c.degree,p=c.right;a=u[f];){if(n(c.key,a.key)){var h=a;a=c,c=h}s(a,c),u[f]=null,f++}u[f]=c,c=p,l--}e=null;for(var d=0;d<o;d++)(a=u[d])&&(e?(a.left.right=a.right,a.right.left=a.left,a.left=e,a.right=e.right,e.right=a,a.right.left=a,t(a.key,e.key)&&(e=a)):e=a);return e}(i=e.right,this._size),this._size--,this._minimum=i,e},i.prototype.remove=function(e){this._minimum=function(e,n){n.key=-1;var r=n.parent;return r&&t(n.key,r.key)&&(a(e,n,r),o(e,r)),t(n.key,e.key)&&(e=n),e}(this._minimum,e),this.extractMinimum()};var s=function(e,t){e.left.right=e.right,e.right.left=e.left,e.parent=t,t.child?(e.left=t.child,e.right=t.child.right,t.child.right=e,e.right.left=e):(t.child=e,e.right=e,e.left=e),t.degree++,e.mark=!1};return i},{isClass:!0}),xf=Sn("Spa",["addScalar","equalScalar","FibonacciHeap"],function(e){var t=e.addScalar,n=e.equalScalar,r=e.FibonacciHeap;function i(){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");this._values=[],this._heap=new r}return i.prototype.type="Spa",i.prototype.isSpa=!0,i.prototype.set=function(e,t){if(this._values[e])this._values[e].value=t;else{var n=this._heap.insert(e,t);this._values[e]=n}},i.prototype.get=function(e){var t=this._values[e];return t?t.value:0},i.prototype.accumulate=function(e,n){var r=this._values[e];r?r.value=t(r.value,n):(r=this._heap.insert(e,n),this._values[e]=r)},i.prototype.forEach=function(e,t,r){var i=this._heap,a=this._values,o=[],s=i.extractMinimum();for(s&&o.push(s);s&&s.key<=t;)s.key>=e&&(n(s.value,0)||r(s.key,s.value,this)),(s=i.extractMinimum())&&o.push(s);for(var u=0;u<o.length;u++){var l=o[u];a[(s=i.insert(l.key,l.value)).key]=s}},i.prototype.swap=function(e,t){var n=this._values[e],r=this._values[t];if(!n&&r)n=this._heap.insert(e,r.value),this._heap.remove(r),this._values[e]=n,this._values[t]=void 0;else if(n&&!r)r=this._heap.insert(t,n.value),this._heap.remove(n),this._values[t]=r,this._values[e]=void 0;else if(n&&r){var i=n.value;n.value=r.value,r.value=i}},i},{isClass:!0}),bf=Mu(function(e){return new e(1).exp()},Sf),wf=Mu(function(e){return new e(1).plus(new e(5).sqrt()).div(2)},Sf),Nf=Mu(function(e){return e.acos(-1)},Sf),Ef=Mu(function(e){return Nf(e).times(2)},Sf);function Sf(e){return e[0].precision}function Mf(e){return Mf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Mf(e)}function Af(){return Af=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Af.apply(this,arguments)}function Cf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Of(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Cf(Object(n),!0).forEach(function(t){kf(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Cf(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function kf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Tf=Sn("Unit",["?on","config","addScalar","subtract","multiplyScalar","divideScalar","pow","abs","fix","round","equal","isNumeric","format","number","Complex","BigNumber","Fraction"],function(e){var t,n,r,i=e.on,a=e.config,o=e.addScalar,s=e.subtract,u=e.multiplyScalar,l=e.divideScalar,c=e.pow,f=e.abs,p=e.fix,h=e.round,d=e.equal,m=e.isNumeric,g=e.format,y=e.number,v=e.Complex,x=e.BigNumber,b=e.Fraction,w=y;function N(e,t){if(!(this instanceof N))throw new Error("Constructor must be called with the new operator");if(null!=e&&!m(e)&&!De(e))throw new TypeError("First parameter in Unit constructor must be number, BigNumber, Fraction, Complex, or undefined");if(void 0!==t&&("string"!=typeof t||""===t))throw new TypeError("Second parameter in Unit constructor must be a string");if(void 0!==t){var n=N.parse(t);this.units=n.units,this.dimensions=n.dimensions}else{this.units=[{unit:q,prefix:R.NONE,power:0}],this.dimensions=[];for(var r=0;r<D.length;r++)this.dimensions[r]=0}this.value=null!=e?this._normalize(e):null,this.fixPrefix=!1,this.skipAutomaticSimplification=!0}function E(){for(;" "===r||"\t"===r;)M()}function S(e){return e>="0"&&e<="9"}function M(){n++,r=t.charAt(n)}function A(e){n=e,r=t.charAt(n)}function C(){var e="",t=n;if("+"===r?M():"-"===r&&(e+=r,M()),!function(e){return e>="0"&&e<="9"||"."===e}(r))return A(t),null;if("."===r){if(e+=r,M(),!S(r))return A(t),null}else{for(;S(r);)e+=r,M();"."===r&&(e+=r,M())}for(;S(r);)e+=r,M();if("E"===r||"e"===r){var i="",a=n;if(i+=r,M(),"+"!==r&&"-"!==r||(i+=r,M()),!S(r))return A(a),e;for(e+=i;S(r);)e+=r,M()}return e}function O(){for(var e="";S(r)||N.isValidAlpha(r);)e+=r,M();var t=e.charAt(0);return N.isValidAlpha(t)?e:null}function k(e){return r===e?(M(),e):null}function T(e){if(bt(z,e)){var t=z[e];return{unit:t,prefix:t.prefixes[""]}}for(var n in z)if(bt(z,n)&&Zt(e,n)){var r=z[n],i=e.length-n.length,a=e.substring(0,i),o=bt(r.prefixes,a)?r.prefixes[a]:void 0;if(void 0!==o)return{unit:r,prefix:o}}return null}function _(e){return e.equalBase(I.NONE)&&null!==e.value&&!a.predictable?e.value:e}N.prototype.type="Unit",N.prototype.isUnit=!0,N.parse=function(e,i){if(i=i||{},n=-1,r="","string"!=typeof(t=e))throw new TypeError("Invalid argument in Unit.parse, string expected");var o=new N;o.units=[];var s=1,u=!1;M(),E();var l=C(),c=null;if(l){if("BigNumber"===a.number)c=new x(l);else if("Fraction"===a.number)try{c=new b(l)}catch(e){c=parseFloat(l)}else c=parseFloat(l);E(),k("*")?(s=1,u=!0):k("/")&&(s=-1,u=!0)}for(var f=[],p=1;;){for(E();"("===r;)f.push(s),p*=s,s=1,M(),E();var h;if(!r)break;var d=r;if(null===(h=O()))throw new SyntaxError('Unexpected "'+d+'" in "'+t+'" at index '+n.toString());var m=T(h);if(null===m)throw new SyntaxError('Unit "'+h+'" not found.');var g=s*p;if(E(),k("^")){E();var y=C();if(null===y)throw new SyntaxError('In "'+e+'", "^" must be followed by a floating-point number');g*=y}o.units.push({unit:m.unit,prefix:m.prefix,power:g});for(var v=0;v<D.length;v++)o.dimensions[v]+=(m.unit.dimensions[v]||0)*g;for(E();")"===r;){if(0===f.length)throw new SyntaxError('Unmatched ")" in "'+t+'" at index '+n.toString());p/=f.pop(),M(),E()}if(u=!1,k("*")?(s=1,u=!0):k("/")?(s=-1,u=!0):s=1,m.unit.base){var w=m.unit.base.key;L.auto[w]={unit:m.unit,prefix:m.prefix}}}if(E(),r)throw new SyntaxError('Could not parse: "'+e+'"');if(u)throw new SyntaxError('Trailing characters: "'+e+'"');if(0!==f.length)throw new SyntaxError('Unmatched "(" in "'+t+'"');if(0===o.units.length&&!i.allowNoUnits)throw new SyntaxError('"'+e+'" contains no units');return o.value=void 0!==c?o._normalize(c):null,o},N.prototype.clone=function(){var e=new N;e.fixPrefix=this.fixPrefix,e.skipAutomaticSimplification=this.skipAutomaticSimplification,e.value=yt(this.value),e.dimensions=this.dimensions.slice(0),e.units=[];for(var t=0;t<this.units.length;t++)for(var n in e.units[t]={},this.units[t])bt(this.units[t],n)&&(e.units[t][n]=this.units[t][n]);return e},N.prototype._isDerived=function(){return 0!==this.units.length&&(this.units.length>1||Math.abs(this.units[0].power-1)>1e-15)},N.prototype._normalize=function(e){var t,n,r,i,a;if(null==e||0===this.units.length)return e;if(this._isDerived()){var s=e;a=N._getNumberConverter(mt(e));for(var l=0;l<this.units.length;l++)t=a(this.units[l].unit.value),i=a(this.units[l].prefix.value),r=a(this.units[l].power),s=u(s,c(u(t,i),r));return s}return t=(a=N._getNumberConverter(mt(e)))(this.units[0].unit.value),n=a(this.units[0].unit.offset),i=a(this.units[0].prefix.value),u(o(e,n),u(t,i))},N.prototype._denormalize=function(e,t){var n,r,i,a,o;if(null==e||0===this.units.length)return e;if(this._isDerived()){var f=e;o=N._getNumberConverter(mt(e));for(var p=0;p<this.units.length;p++)n=o(this.units[p].unit.value),a=o(this.units[p].prefix.value),i=o(this.units[p].power),f=l(f,c(u(n,a),i));return f}return n=(o=N._getNumberConverter(mt(e)))(this.units[0].unit.value),a=o(this.units[0].prefix.value),r=o(this.units[0].unit.offset),s(l(l(e,n),null==t?a:t),r)},N.isValuelessUnit=function(e){return null!==T(e)},N.prototype.hasBase=function(e){if("string"==typeof e&&(e=I[e]),!e)return!1;for(var t=0;t<D.length;t++)if(Math.abs((this.dimensions[t]||0)-(e.dimensions[t]||0))>1e-12)return!1;return!0},N.prototype.equalBase=function(e){for(var t=0;t<D.length;t++)if(Math.abs((this.dimensions[t]||0)-(e.dimensions[t]||0))>1e-12)return!1;return!0},N.prototype.equals=function(e){return this.equalBase(e)&&d(this.value,e.value)},N.prototype.multiply=function(e){for(var t=this.clone(),n=0;n<D.length;n++)t.dimensions[n]=(this.dimensions[n]||0)+(e.dimensions[n]||0);for(var r=0;r<e.units.length;r++){var i=Of({},e.units[r]);t.units.push(i)}if(null!==this.value||null!==e.value){var a=null===this.value?this._normalize(1):this.value,o=null===e.value?e._normalize(1):e.value;t.value=u(a,o)}else t.value=null;return t.skipAutomaticSimplification=!1,_(t)},N.prototype.divide=function(e){for(var t=this.clone(),n=0;n<D.length;n++)t.dimensions[n]=(this.dimensions[n]||0)-(e.dimensions[n]||0);for(var r=0;r<e.units.length;r++){var i=Of(Of({},e.units[r]),{},{power:-e.units[r].power});t.units.push(i)}if(null!==this.value||null!==e.value){var a=null===this.value?this._normalize(1):this.value,o=null===e.value?e._normalize(1):e.value;t.value=l(a,o)}else t.value=null;return t.skipAutomaticSimplification=!1,_(t)},N.prototype.pow=function(e){for(var t=this.clone(),n=0;n<D.length;n++)t.dimensions[n]=(this.dimensions[n]||0)*e;for(var r=0;r<t.units.length;r++)t.units[r].power*=e;return null!==t.value?t.value=c(t.value,e):t.value=null,t.skipAutomaticSimplification=!1,_(t)},N.prototype.abs=function(){var e=this.clone();for(var t in e.value=null!==e.value?f(e.value):null,e.units)"VA"!==e.units[t].unit.name&&"VAR"!==e.units[t].unit.name||(e.units[t].unit=z.W);return e},N.prototype.to=function(e){var t,n=null===this.value?this._normalize(1):this.value;if("string"==typeof e){if(t=N.parse(e),!this.equalBase(t))throw new Error("Units do not match ('".concat(t.toString(),"' != '").concat(this.toString(),"')"));if(null!==t.value)throw new Error("Cannot convert to a unit with a value");return t.value=yt(n),t.fixPrefix=!0,t.skipAutomaticSimplification=!0,t}if(Pe(e)){if(!this.equalBase(e))throw new Error("Units do not match ('".concat(e.toString(),"' != '").concat(this.toString(),"')"));if(null!==e.value)throw new Error("Cannot convert to a unit with a value");return(t=e.clone()).value=yt(n),t.fixPrefix=!0,t.skipAutomaticSimplification=!0,t}throw new Error("String or Unit expected as parameter")},N.prototype.toNumber=function(e){return w(this.toNumeric(e))},N.prototype.toNumeric=function(e){var t;return(t=e?this.to(e):this.clone())._isDerived()||0===t.units.length?t._denormalize(t.value):t._denormalize(t.value,t.units[0].prefix.value)},N.prototype.toString=function(){return this.format()},N.prototype.toJSON=function(){return{mathjs:"Unit",value:this._denormalize(this.value),unit:this.formatUnits(),fixPrefix:this.fixPrefix}},N.fromJSON=function(e){var t=new N(e.value,e.unit);return t.fixPrefix=e.fixPrefix||!1,t},N.prototype.valueOf=N.prototype.toString,N.prototype.simplify=function(){var e,t,n=this.clone(),r=[];for(var i in F)if(bt(F,i)&&n.hasBase(I[i])){e=i;break}if("NONE"===e)n.units=[];else if(e&&bt(F,e)&&(t=F[e]),t)n.units=[{unit:t.unit,prefix:t.prefix,power:1}];else{for(var a=!1,o=0;o<D.length;o++){var s=D[o];Math.abs(n.dimensions[o]||0)>1e-12&&(bt(F,s)?r.push({unit:F[s].unit,prefix:F[s].prefix,power:n.dimensions[o]||0}):a=!0)}r.length<n.units.length&&!a&&(n.units=r)}return n},N.prototype.toSI=function(){for(var e=this.clone(),t=[],n=0;n<D.length;n++){var r=D[n];if(Math.abs(e.dimensions[n]||0)>1e-12){if(!bt(L.si,r))throw new Error("Cannot express custom unit "+r+" in SI units");t.push({unit:L.si[r].unit,prefix:L.si[r].prefix,power:e.dimensions[n]||0})}}return e.units=t,e.fixPrefix=!0,e.skipAutomaticSimplification=!0,e},N.prototype.formatUnits=function(){for(var e="",t="",n=0,r=0,i=0;i<this.units.length;i++)this.units[i].power>0?(n++,e+=" "+this.units[i].prefix.name+this.units[i].unit.name,Math.abs(this.units[i].power-1)>1e-15&&(e+="^"+this.units[i].power)):this.units[i].power<0&&r++;if(r>0)for(var a=0;a<this.units.length;a++)this.units[a].power<0&&(n>0?(t+=" "+this.units[a].prefix.name+this.units[a].unit.name,Math.abs(this.units[a].power+1)>1e-15&&(t+="^"+-this.units[a].power)):(t+=" "+this.units[a].prefix.name+this.units[a].unit.name,t+="^"+this.units[a].power));e=e.substr(1),t=t.substr(1),n>1&&r>0&&(e="("+e+")"),r>1&&n>0&&(t="("+t+")");var o=e;return n>0&&r>0&&(o+=" / "),o+t},N.prototype.format=function(e){var t=this.skipAutomaticSimplification||null===this.value?this.clone():this.simplify(),n=!1;for(var r in void 0!==t.value&&null!==t.value&&De(t.value)&&(n=Math.abs(t.value.re)<1e-14),t.units)bt(t.units,r)&&t.units[r].unit&&("VA"===t.units[r].unit.name&&n?t.units[r].unit=z.VAR:"VAR"!==t.units[r].unit.name||n||(t.units[r].unit=z.VA));1!==t.units.length||t.fixPrefix||Math.abs(t.units[0].power-Math.round(t.units[0].power))<1e-14&&(t.units[0].prefix=t._bestPrefix());var i=t._denormalize(t.value),a=null!==t.value?g(i,e||{}):"",o=t.formatUnits();return t.value&&De(t.value)&&(a="("+a+")"),o.length>0&&a.length>0&&(a+=" "),a+o},N.prototype._bestPrefix=function(){if(1!==this.units.length)throw new Error("Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!");if(Math.abs(this.units[0].power-Math.round(this.units[0].power))>=1e-14)throw new Error("Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!");var e=null!==this.value?f(this.value):0,t=f(this.units[0].unit.value),n=this.units[0].prefix;if(0===e)return n;var r=this.units[0].power,i=Math.log(e/Math.pow(n.value*t,r))/Math.LN10-1.2;if(i>-2.200001&&i<1.800001)return n;i=Math.abs(i);var a=this.units[0].unit.prefixes;for(var o in a)if(bt(a,o)){var s=a[o];if(s.scientific){var u=Math.abs(Math.log(e/Math.pow(s.value*t,r))/Math.LN10-1.2);(u<i||u===i&&s.name.length<n.name.length)&&(n=s,i=u)}}return n},N.prototype.splitUnit=function(e){for(var t=this.clone(),n=[],r=0;r<e.length&&(t=t.to(e[r]),r!==e.length-1);r++){var i=t.toNumeric(),a=h(i),u=new N(d(a,i)?a:p(t.toNumeric()),e[r].toString());n.push(u),t=s(t,u)}for(var l=0,c=0;c<n.length;c++)l=o(l,n[c].value);return d(l,this.value)&&(t.value=0),n.push(t),n};var R={NONE:{"":{name:"",value:1,scientific:!0}},SHORT:{"":{name:"",value:1,scientific:!0},da:{name:"da",value:10,scientific:!1},h:{name:"h",value:100,scientific:!1},k:{name:"k",value:1e3,scientific:!0},M:{name:"M",value:1e6,scientific:!0},G:{name:"G",value:1e9,scientific:!0},T:{name:"T",value:1e12,scientific:!0},P:{name:"P",value:1e15,scientific:!0},E:{name:"E",value:1e18,scientific:!0},Z:{name:"Z",value:1e21,scientific:!0},Y:{name:"Y",value:1e24,scientific:!0},d:{name:"d",value:.1,scientific:!1},c:{name:"c",value:.01,scientific:!1},m:{name:"m",value:.001,scientific:!0},u:{name:"u",value:1e-6,scientific:!0},n:{name:"n",value:1e-9,scientific:!0},p:{name:"p",value:1e-12,scientific:!0},f:{name:"f",value:1e-15,scientific:!0},a:{name:"a",value:1e-18,scientific:!0},z:{name:"z",value:1e-21,scientific:!0},y:{name:"y",value:1e-24,scientific:!0}},LONG:{"":{name:"",value:1,scientific:!0},deca:{name:"deca",value:10,scientific:!1},hecto:{name:"hecto",value:100,scientific:!1},kilo:{name:"kilo",value:1e3,scientific:!0},mega:{name:"mega",value:1e6,scientific:!0},giga:{name:"giga",value:1e9,scientific:!0},tera:{name:"tera",value:1e12,scientific:!0},peta:{name:"peta",value:1e15,scientific:!0},exa:{name:"exa",value:1e18,scientific:!0},zetta:{name:"zetta",value:1e21,scientific:!0},yotta:{name:"yotta",value:1e24,scientific:!0},deci:{name:"deci",value:.1,scientific:!1},centi:{name:"centi",value:.01,scientific:!1},milli:{name:"milli",value:.001,scientific:!0},micro:{name:"micro",value:1e-6,scientific:!0},nano:{name:"nano",value:1e-9,scientific:!0},pico:{name:"pico",value:1e-12,scientific:!0},femto:{name:"femto",value:1e-15,scientific:!0},atto:{name:"atto",value:1e-18,scientific:!0},zepto:{name:"zepto",value:1e-21,scientific:!0},yocto:{name:"yocto",value:1e-24,scientific:!0}},SQUARED:{"":{name:"",value:1,scientific:!0},da:{name:"da",value:100,scientific:!1},h:{name:"h",value:1e4,scientific:!1},k:{name:"k",value:1e6,scientific:!0},M:{name:"M",value:1e12,scientific:!0},G:{name:"G",value:1e18,scientific:!0},T:{name:"T",value:1e24,scientific:!0},P:{name:"P",value:1e30,scientific:!0},E:{name:"E",value:1e36,scientific:!0},Z:{name:"Z",value:1e42,scientific:!0},Y:{name:"Y",value:1e48,scientific:!0},d:{name:"d",value:.01,scientific:!1},c:{name:"c",value:1e-4,scientific:!1},m:{name:"m",value:1e-6,scientific:!0},u:{name:"u",value:1e-12,scientific:!0},n:{name:"n",value:1e-18,scientific:!0},p:{name:"p",value:1e-24,scientific:!0},f:{name:"f",value:1e-30,scientific:!0},a:{name:"a",value:1e-36,scientific:!0},z:{name:"z",value:1e-42,scientific:!0},y:{name:"y",value:1e-48,scientific:!0}},CUBIC:{"":{name:"",value:1,scientific:!0},da:{name:"da",value:1e3,scientific:!1},h:{name:"h",value:1e6,scientific:!1},k:{name:"k",value:1e9,scientific:!0},M:{name:"M",value:1e18,scientific:!0},G:{name:"G",value:1e27,scientific:!0},T:{name:"T",value:1e36,scientific:!0},P:{name:"P",value:1e45,scientific:!0},E:{name:"E",value:1e54,scientific:!0},Z:{name:"Z",value:1e63,scientific:!0},Y:{name:"Y",value:1e72,scientific:!0},d:{name:"d",value:.001,scientific:!1},c:{name:"c",value:1e-6,scientific:!1},m:{name:"m",value:1e-9,scientific:!0},u:{name:"u",value:1e-18,scientific:!0},n:{name:"n",value:1e-27,scientific:!0},p:{name:"p",value:1e-36,scientific:!0},f:{name:"f",value:1e-45,scientific:!0},a:{name:"a",value:1e-54,scientific:!0},z:{name:"z",value:1e-63,scientific:!0},y:{name:"y",value:1e-72,scientific:!0}},BINARY_SHORT_SI:{"":{name:"",value:1,scientific:!0},k:{name:"k",value:1e3,scientific:!0},M:{name:"M",value:1e6,scientific:!0},G:{name:"G",value:1e9,scientific:!0},T:{name:"T",value:1e12,scientific:!0},P:{name:"P",value:1e15,scientific:!0},E:{name:"E",value:1e18,scientific:!0},Z:{name:"Z",value:1e21,scientific:!0},Y:{name:"Y",value:1e24,scientific:!0}},BINARY_SHORT_IEC:{"":{name:"",value:1,scientific:!0},Ki:{name:"Ki",value:1024,scientific:!0},Mi:{name:"Mi",value:Math.pow(1024,2),scientific:!0},Gi:{name:"Gi",value:Math.pow(1024,3),scientific:!0},Ti:{name:"Ti",value:Math.pow(1024,4),scientific:!0},Pi:{name:"Pi",value:Math.pow(1024,5),scientific:!0},Ei:{name:"Ei",value:Math.pow(1024,6),scientific:!0},Zi:{name:"Zi",value:Math.pow(1024,7),scientific:!0},Yi:{name:"Yi",value:Math.pow(1024,8),scientific:!0}},BINARY_LONG_SI:{"":{name:"",value:1,scientific:!0},kilo:{name:"kilo",value:1e3,scientific:!0},mega:{name:"mega",value:1e6,scientific:!0},giga:{name:"giga",value:1e9,scientific:!0},tera:{name:"tera",value:1e12,scientific:!0},peta:{name:"peta",value:1e15,scientific:!0},exa:{name:"exa",value:1e18,scientific:!0},zetta:{name:"zetta",value:1e21,scientific:!0},yotta:{name:"yotta",value:1e24,scientific:!0}},BINARY_LONG_IEC:{"":{name:"",value:1,scientific:!0},kibi:{name:"kibi",value:1024,scientific:!0},mebi:{name:"mebi",value:Math.pow(1024,2),scientific:!0},gibi:{name:"gibi",value:Math.pow(1024,3),scientific:!0},tebi:{name:"tebi",value:Math.pow(1024,4),scientific:!0},pebi:{name:"pebi",value:Math.pow(1024,5),scientific:!0},exi:{name:"exi",value:Math.pow(1024,6),scientific:!0},zebi:{name:"zebi",value:Math.pow(1024,7),scientific:!0},yobi:{name:"yobi",value:Math.pow(1024,8),scientific:!0}},BTU:{"":{name:"",value:1,scientific:!0},MM:{name:"MM",value:1e6,scientific:!0}}};R.SHORTLONG=Af({},R.SHORT,R.LONG),R.BINARY_SHORT=Af({},R.BINARY_SHORT_SI,R.BINARY_SHORT_IEC),R.BINARY_LONG=Af({},R.BINARY_LONG_SI,R.BINARY_LONG_IEC);var D=["MASS","LENGTH","TIME","CURRENT","TEMPERATURE","LUMINOUS_INTENSITY","AMOUNT_OF_SUBSTANCE","ANGLE","BIT"],I={NONE:{dimensions:[0,0,0,0,0,0,0,0,0]},MASS:{dimensions:[1,0,0,0,0,0,0,0,0]},LENGTH:{dimensions:[0,1,0,0,0,0,0,0,0]},TIME:{dimensions:[0,0,1,0,0,0,0,0,0]},CURRENT:{dimensions:[0,0,0,1,0,0,0,0,0]},TEMPERATURE:{dimensions:[0,0,0,0,1,0,0,0,0]},LUMINOUS_INTENSITY:{dimensions:[0,0,0,0,0,1,0,0,0]},AMOUNT_OF_SUBSTANCE:{dimensions:[0,0,0,0,0,0,1,0,0]},FORCE:{dimensions:[1,1,-2,0,0,0,0,0,0]},SURFACE:{dimensions:[0,2,0,0,0,0,0,0,0]},VOLUME:{dimensions:[0,3,0,0,0,0,0,0,0]},ENERGY:{dimensions:[1,2,-2,0,0,0,0,0,0]},POWER:{dimensions:[1,2,-3,0,0,0,0,0,0]},PRESSURE:{dimensions:[1,-1,-2,0,0,0,0,0,0]},ELECTRIC_CHARGE:{dimensions:[0,0,1,1,0,0,0,0,0]},ELECTRIC_CAPACITANCE:{dimensions:[-1,-2,4,2,0,0,0,0,0]},ELECTRIC_POTENTIAL:{dimensions:[1,2,-3,-1,0,0,0,0,0]},ELECTRIC_RESISTANCE:{dimensions:[1,2,-3,-2,0,0,0,0,0]},ELECTRIC_INDUCTANCE:{dimensions:[1,2,-2,-2,0,0,0,0,0]},ELECTRIC_CONDUCTANCE:{dimensions:[-1,-2,3,2,0,0,0,0,0]},MAGNETIC_FLUX:{dimensions:[1,2,-2,-1,0,0,0,0,0]},MAGNETIC_FLUX_DENSITY:{dimensions:[1,0,-2,-1,0,0,0,0,0]},FREQUENCY:{dimensions:[0,0,-1,0,0,0,0,0,0]},ANGLE:{dimensions:[0,0,0,0,0,0,0,1,0]},BIT:{dimensions:[0,0,0,0,0,0,0,0,1]}};for(var P in I)bt(I,P)&&(I[P].key=P);var q={name:"",base:{},value:1,offset:0,dimensions:D.map(function(e){return 0})},z={meter:{name:"meter",base:I.LENGTH,prefixes:R.LONG,value:1,offset:0},inch:{name:"inch",base:I.LENGTH,prefixes:R.NONE,value:.0254,offset:0},foot:{name:"foot",base:I.LENGTH,prefixes:R.NONE,value:.3048,offset:0},yard:{name:"yard",base:I.LENGTH,prefixes:R.NONE,value:.9144,offset:0},mile:{name:"mile",base:I.LENGTH,prefixes:R.NONE,value:1609.344,offset:0},link:{name:"link",base:I.LENGTH,prefixes:R.NONE,value:.201168,offset:0},rod:{name:"rod",base:I.LENGTH,prefixes:R.NONE,value:5.0292,offset:0},chain:{name:"chain",base:I.LENGTH,prefixes:R.NONE,value:20.1168,offset:0},angstrom:{name:"angstrom",base:I.LENGTH,prefixes:R.NONE,value:1e-10,offset:0},m:{name:"m",base:I.LENGTH,prefixes:R.SHORT,value:1,offset:0},in:{name:"in",base:I.LENGTH,prefixes:R.NONE,value:.0254,offset:0},ft:{name:"ft",base:I.LENGTH,prefixes:R.NONE,value:.3048,offset:0},yd:{name:"yd",base:I.LENGTH,prefixes:R.NONE,value:.9144,offset:0},mi:{name:"mi",base:I.LENGTH,prefixes:R.NONE,value:1609.344,offset:0},li:{name:"li",base:I.LENGTH,prefixes:R.NONE,value:.201168,offset:0},rd:{name:"rd",base:I.LENGTH,prefixes:R.NONE,value:5.02921,offset:0},ch:{name:"ch",base:I.LENGTH,prefixes:R.NONE,value:20.1168,offset:0},mil:{name:"mil",base:I.LENGTH,prefixes:R.NONE,value:254e-7,offset:0},m2:{name:"m2",base:I.SURFACE,prefixes:R.SQUARED,value:1,offset:0},sqin:{name:"sqin",base:I.SURFACE,prefixes:R.NONE,value:64516e-8,offset:0},sqft:{name:"sqft",base:I.SURFACE,prefixes:R.NONE,value:.09290304,offset:0},sqyd:{name:"sqyd",base:I.SURFACE,prefixes:R.NONE,value:.83612736,offset:0},sqmi:{name:"sqmi",base:I.SURFACE,prefixes:R.NONE,value:2589988.110336,offset:0},sqrd:{name:"sqrd",base:I.SURFACE,prefixes:R.NONE,value:25.29295,offset:0},sqch:{name:"sqch",base:I.SURFACE,prefixes:R.NONE,value:404.6873,offset:0},sqmil:{name:"sqmil",base:I.SURFACE,prefixes:R.NONE,value:6.4516e-10,offset:0},acre:{name:"acre",base:I.SURFACE,prefixes:R.NONE,value:4046.86,offset:0},hectare:{name:"hectare",base:I.SURFACE,prefixes:R.NONE,value:1e4,offset:0},m3:{name:"m3",base:I.VOLUME,prefixes:R.CUBIC,value:1,offset:0},L:{name:"L",base:I.VOLUME,prefixes:R.SHORT,value:.001,offset:0},l:{name:"l",base:I.VOLUME,prefixes:R.SHORT,value:.001,offset:0},litre:{name:"litre",base:I.VOLUME,prefixes:R.LONG,value:.001,offset:0},cuin:{name:"cuin",base:I.VOLUME,prefixes:R.NONE,value:16387064e-12,offset:0},cuft:{name:"cuft",base:I.VOLUME,prefixes:R.NONE,value:.028316846592,offset:0},cuyd:{name:"cuyd",base:I.VOLUME,prefixes:R.NONE,value:.764554857984,offset:0},teaspoon:{name:"teaspoon",base:I.VOLUME,prefixes:R.NONE,value:5e-6,offset:0},tablespoon:{name:"tablespoon",base:I.VOLUME,prefixes:R.NONE,value:15e-6,offset:0},drop:{name:"drop",base:I.VOLUME,prefixes:R.NONE,value:5e-8,offset:0},gtt:{name:"gtt",base:I.VOLUME,prefixes:R.NONE,value:5e-8,offset:0},minim:{name:"minim",base:I.VOLUME,prefixes:R.NONE,value:6.161152e-8,offset:0},fluiddram:{name:"fluiddram",base:I.VOLUME,prefixes:R.NONE,value:36966911e-13,offset:0},fluidounce:{name:"fluidounce",base:I.VOLUME,prefixes:R.NONE,value:2957353e-11,offset:0},gill:{name:"gill",base:I.VOLUME,prefixes:R.NONE,value:.0001182941,offset:0},cc:{name:"cc",base:I.VOLUME,prefixes:R.NONE,value:1e-6,offset:0},cup:{name:"cup",base:I.VOLUME,prefixes:R.NONE,value:.0002365882,offset:0},pint:{name:"pint",base:I.VOLUME,prefixes:R.NONE,value:.0004731765,offset:0},quart:{name:"quart",base:I.VOLUME,prefixes:R.NONE,value:.0009463529,offset:0},gallon:{name:"gallon",base:I.VOLUME,prefixes:R.NONE,value:.003785412,offset:0},beerbarrel:{name:"beerbarrel",base:I.VOLUME,prefixes:R.NONE,value:.1173478,offset:0},oilbarrel:{name:"oilbarrel",base:I.VOLUME,prefixes:R.NONE,value:.1589873,offset:0},hogshead:{name:"hogshead",base:I.VOLUME,prefixes:R.NONE,value:.238481,offset:0},fldr:{name:"fldr",base:I.VOLUME,prefixes:R.NONE,value:36966911e-13,offset:0},floz:{name:"floz",base:I.VOLUME,prefixes:R.NONE,value:2957353e-11,offset:0},gi:{name:"gi",base:I.VOLUME,prefixes:R.NONE,value:.0001182941,offset:0},cp:{name:"cp",base:I.VOLUME,prefixes:R.NONE,value:.0002365882,offset:0},pt:{name:"pt",base:I.VOLUME,prefixes:R.NONE,value:.0004731765,offset:0},qt:{name:"qt",base:I.VOLUME,prefixes:R.NONE,value:.0009463529,offset:0},gal:{name:"gal",base:I.VOLUME,prefixes:R.NONE,value:.003785412,offset:0},bbl:{name:"bbl",base:I.VOLUME,prefixes:R.NONE,value:.1173478,offset:0},obl:{name:"obl",base:I.VOLUME,prefixes:R.NONE,value:.1589873,offset:0},g:{name:"g",base:I.MASS,prefixes:R.SHORT,value:.001,offset:0},gram:{name:"gram",base:I.MASS,prefixes:R.LONG,value:.001,offset:0},ton:{name:"ton",base:I.MASS,prefixes:R.SHORT,value:907.18474,offset:0},t:{name:"t",base:I.MASS,prefixes:R.SHORT,value:1e3,offset:0},tonne:{name:"tonne",base:I.MASS,prefixes:R.LONG,value:1e3,offset:0},grain:{name:"grain",base:I.MASS,prefixes:R.NONE,value:6479891e-11,offset:0},dram:{name:"dram",base:I.MASS,prefixes:R.NONE,value:.0017718451953125,offset:0},ounce:{name:"ounce",base:I.MASS,prefixes:R.NONE,value:.028349523125,offset:0},poundmass:{name:"poundmass",base:I.MASS,prefixes:R.NONE,value:.45359237,offset:0},hundredweight:{name:"hundredweight",base:I.MASS,prefixes:R.NONE,value:45.359237,offset:0},stick:{name:"stick",base:I.MASS,prefixes:R.NONE,value:.115,offset:0},stone:{name:"stone",base:I.MASS,prefixes:R.NONE,value:6.35029318,offset:0},gr:{name:"gr",base:I.MASS,prefixes:R.NONE,value:6479891e-11,offset:0},dr:{name:"dr",base:I.MASS,prefixes:R.NONE,value:.0017718451953125,offset:0},oz:{name:"oz",base:I.MASS,prefixes:R.NONE,value:.028349523125,offset:0},lbm:{name:"lbm",base:I.MASS,prefixes:R.NONE,value:.45359237,offset:0},cwt:{name:"cwt",base:I.MASS,prefixes:R.NONE,value:45.359237,offset:0},s:{name:"s",base:I.TIME,prefixes:R.SHORT,value:1,offset:0},min:{name:"min",base:I.TIME,prefixes:R.NONE,value:60,offset:0},h:{name:"h",base:I.TIME,prefixes:R.NONE,value:3600,offset:0},second:{name:"second",base:I.TIME,prefixes:R.LONG,value:1,offset:0},sec:{name:"sec",base:I.TIME,prefixes:R.LONG,value:1,offset:0},minute:{name:"minute",base:I.TIME,prefixes:R.NONE,value:60,offset:0},hour:{name:"hour",base:I.TIME,prefixes:R.NONE,value:3600,offset:0},day:{name:"day",base:I.TIME,prefixes:R.NONE,value:86400,offset:0},week:{name:"week",base:I.TIME,prefixes:R.NONE,value:604800,offset:0},month:{name:"month",base:I.TIME,prefixes:R.NONE,value:2629800,offset:0},year:{name:"year",base:I.TIME,prefixes:R.NONE,value:31557600,offset:0},decade:{name:"decade",base:I.TIME,prefixes:R.NONE,value:315576e3,offset:0},century:{name:"century",base:I.TIME,prefixes:R.NONE,value:315576e4,offset:0},millennium:{name:"millennium",base:I.TIME,prefixes:R.NONE,value:315576e5,offset:0},hertz:{name:"Hertz",base:I.FREQUENCY,prefixes:R.LONG,value:1,offset:0,reciprocal:!0},Hz:{name:"Hz",base:I.FREQUENCY,prefixes:R.SHORT,value:1,offset:0,reciprocal:!0},rad:{name:"rad",base:I.ANGLE,prefixes:R.SHORT,value:1,offset:0},radian:{name:"radian",base:I.ANGLE,prefixes:R.LONG,value:1,offset:0},deg:{name:"deg",base:I.ANGLE,prefixes:R.SHORT,value:null,offset:0},degree:{name:"degree",base:I.ANGLE,prefixes:R.LONG,value:null,offset:0},grad:{name:"grad",base:I.ANGLE,prefixes:R.SHORT,value:null,offset:0},gradian:{name:"gradian",base:I.ANGLE,prefixes:R.LONG,value:null,offset:0},cycle:{name:"cycle",base:I.ANGLE,prefixes:R.NONE,value:null,offset:0},arcsec:{name:"arcsec",base:I.ANGLE,prefixes:R.NONE,value:null,offset:0},arcmin:{name:"arcmin",base:I.ANGLE,prefixes:R.NONE,value:null,offset:0},A:{name:"A",base:I.CURRENT,prefixes:R.SHORT,value:1,offset:0},ampere:{name:"ampere",base:I.CURRENT,prefixes:R.LONG,value:1,offset:0},K:{name:"K",base:I.TEMPERATURE,prefixes:R.NONE,value:1,offset:0},degC:{name:"degC",base:I.TEMPERATURE,prefixes:R.NONE,value:1,offset:273.15},degF:{name:"degF",base:I.TEMPERATURE,prefixes:R.NONE,value:1/1.8,offset:459.67},degR:{name:"degR",base:I.TEMPERATURE,prefixes:R.NONE,value:1/1.8,offset:0},kelvin:{name:"kelvin",base:I.TEMPERATURE,prefixes:R.NONE,value:1,offset:0},celsius:{name:"celsius",base:I.TEMPERATURE,prefixes:R.NONE,value:1,offset:273.15},fahrenheit:{name:"fahrenheit",base:I.TEMPERATURE,prefixes:R.NONE,value:1/1.8,offset:459.67},rankine:{name:"rankine",base:I.TEMPERATURE,prefixes:R.NONE,value:1/1.8,offset:0},mol:{name:"mol",base:I.AMOUNT_OF_SUBSTANCE,prefixes:R.SHORT,value:1,offset:0},mole:{name:"mole",base:I.AMOUNT_OF_SUBSTANCE,prefixes:R.LONG,value:1,offset:0},cd:{name:"cd",base:I.LUMINOUS_INTENSITY,prefixes:R.SHORT,value:1,offset:0},candela:{name:"candela",base:I.LUMINOUS_INTENSITY,prefixes:R.LONG,value:1,offset:0},N:{name:"N",base:I.FORCE,prefixes:R.SHORT,value:1,offset:0},newton:{name:"newton",base:I.FORCE,prefixes:R.LONG,value:1,offset:0},dyn:{name:"dyn",base:I.FORCE,prefixes:R.SHORT,value:1e-5,offset:0},dyne:{name:"dyne",base:I.FORCE,prefixes:R.LONG,value:1e-5,offset:0},lbf:{name:"lbf",base:I.FORCE,prefixes:R.NONE,value:4.4482216152605,offset:0},poundforce:{name:"poundforce",base:I.FORCE,prefixes:R.NONE,value:4.4482216152605,offset:0},kip:{name:"kip",base:I.FORCE,prefixes:R.LONG,value:4448.2216,offset:0},J:{name:"J",base:I.ENERGY,prefixes:R.SHORT,value:1,offset:0},joule:{name:"joule",base:I.ENERGY,prefixes:R.SHORT,value:1,offset:0},erg:{name:"erg",base:I.ENERGY,prefixes:R.NONE,value:1e-7,offset:0},Wh:{name:"Wh",base:I.ENERGY,prefixes:R.SHORT,value:3600,offset:0},BTU:{name:"BTU",base:I.ENERGY,prefixes:R.BTU,value:1055.05585262,offset:0},eV:{name:"eV",base:I.ENERGY,prefixes:R.SHORT,value:1602176565e-28,offset:0},electronvolt:{name:"electronvolt",base:I.ENERGY,prefixes:R.LONG,value:1602176565e-28,offset:0},W:{name:"W",base:I.POWER,prefixes:R.SHORT,value:1,offset:0},watt:{name:"watt",base:I.POWER,prefixes:R.LONG,value:1,offset:0},hp:{name:"hp",base:I.POWER,prefixes:R.NONE,value:745.6998715386,offset:0},VAR:{name:"VAR",base:I.POWER,prefixes:R.SHORT,value:v.I,offset:0},VA:{name:"VA",base:I.POWER,prefixes:R.SHORT,value:1,offset:0},Pa:{name:"Pa",base:I.PRESSURE,prefixes:R.SHORT,value:1,offset:0},psi:{name:"psi",base:I.PRESSURE,prefixes:R.NONE,value:6894.75729276459,offset:0},atm:{name:"atm",base:I.PRESSURE,prefixes:R.NONE,value:101325,offset:0},bar:{name:"bar",base:I.PRESSURE,prefixes:R.SHORTLONG,value:1e5,offset:0},torr:{name:"torr",base:I.PRESSURE,prefixes:R.NONE,value:133.322,offset:0},mmHg:{name:"mmHg",base:I.PRESSURE,prefixes:R.NONE,value:133.322,offset:0},mmH2O:{name:"mmH2O",base:I.PRESSURE,prefixes:R.NONE,value:9.80665,offset:0},cmH2O:{name:"cmH2O",base:I.PRESSURE,prefixes:R.NONE,value:98.0665,offset:0},coulomb:{name:"coulomb",base:I.ELECTRIC_CHARGE,prefixes:R.LONG,value:1,offset:0},C:{name:"C",base:I.ELECTRIC_CHARGE,prefixes:R.SHORT,value:1,offset:0},farad:{name:"farad",base:I.ELECTRIC_CAPACITANCE,prefixes:R.LONG,value:1,offset:0},F:{name:"F",base:I.ELECTRIC_CAPACITANCE,prefixes:R.SHORT,value:1,offset:0},volt:{name:"volt",base:I.ELECTRIC_POTENTIAL,prefixes:R.LONG,value:1,offset:0},V:{name:"V",base:I.ELECTRIC_POTENTIAL,prefixes:R.SHORT,value:1,offset:0},ohm:{name:"ohm",base:I.ELECTRIC_RESISTANCE,prefixes:R.SHORTLONG,value:1,offset:0},henry:{name:"henry",base:I.ELECTRIC_INDUCTANCE,prefixes:R.LONG,value:1,offset:0},H:{name:"H",base:I.ELECTRIC_INDUCTANCE,prefixes:R.SHORT,value:1,offset:0},siemens:{name:"siemens",base:I.ELECTRIC_CONDUCTANCE,prefixes:R.LONG,value:1,offset:0},S:{name:"S",base:I.ELECTRIC_CONDUCTANCE,prefixes:R.SHORT,value:1,offset:0},weber:{name:"weber",base:I.MAGNETIC_FLUX,prefixes:R.LONG,value:1,offset:0},Wb:{name:"Wb",base:I.MAGNETIC_FLUX,prefixes:R.SHORT,value:1,offset:0},tesla:{name:"tesla",base:I.MAGNETIC_FLUX_DENSITY,prefixes:R.LONG,value:1,offset:0},T:{name:"T",base:I.MAGNETIC_FLUX_DENSITY,prefixes:R.SHORT,value:1,offset:0},b:{name:"b",base:I.BIT,prefixes:R.BINARY_SHORT,value:1,offset:0},bits:{name:"bits",base:I.BIT,prefixes:R.BINARY_LONG,value:1,offset:0},B:{name:"B",base:I.BIT,prefixes:R.BINARY_SHORT,value:8,offset:0},bytes:{name:"bytes",base:I.BIT,prefixes:R.BINARY_LONG,value:8,offset:0}},B={meters:"meter",inches:"inch",feet:"foot",yards:"yard",miles:"mile",links:"link",rods:"rod",chains:"chain",angstroms:"angstrom",lt:"l",litres:"litre",liter:"litre",liters:"litre",teaspoons:"teaspoon",tablespoons:"tablespoon",minims:"minim",fluiddrams:"fluiddram",fluidounces:"fluidounce",gills:"gill",cups:"cup",pints:"pint",quarts:"quart",gallons:"gallon",beerbarrels:"beerbarrel",oilbarrels:"oilbarrel",hogsheads:"hogshead",gtts:"gtt",grams:"gram",tons:"ton",tonnes:"tonne",grains:"grain",drams:"dram",ounces:"ounce",poundmasses:"poundmass",hundredweights:"hundredweight",sticks:"stick",lb:"lbm",lbs:"lbm",kips:"kip",acres:"acre",hectares:"hectare",sqfeet:"sqft",sqyard:"sqyd",sqmile:"sqmi",sqmiles:"sqmi",mmhg:"mmHg",mmh2o:"mmH2O",cmh2o:"cmH2O",seconds:"second",secs:"second",minutes:"minute",mins:"minute",hours:"hour",hr:"hour",hrs:"hour",days:"day",weeks:"week",months:"month",years:"year",decades:"decade",centuries:"century",millennia:"millennium",hertz:"hertz",radians:"radian",degrees:"degree",gradians:"gradian",cycles:"cycle",arcsecond:"arcsec",arcseconds:"arcsec",arcminute:"arcmin",arcminutes:"arcmin",BTUs:"BTU",watts:"watt",joules:"joule",amperes:"ampere",coulombs:"coulomb",volts:"volt",ohms:"ohm",farads:"farad",webers:"weber",teslas:"tesla",electronvolts:"electronvolt",moles:"mole",bit:"bits",byte:"bytes"};function j(e){if("BigNumber"===e.number){var t=Nf(x);z.rad.value=new x(1),z.deg.value=t.div(180),z.grad.value=t.div(200),z.cycle.value=t.times(2),z.arcsec.value=t.div(648e3),z.arcmin.value=t.div(10800)}else z.rad.value=1,z.deg.value=Math.PI/180,z.grad.value=Math.PI/200,z.cycle.value=2*Math.PI,z.arcsec.value=Math.PI/648e3,z.arcmin.value=Math.PI/10800;z.radian.value=z.rad.value,z.degree.value=z.deg.value,z.gradian.value=z.grad.value}j(a),i&&i("config",function(e,t){e.number!==t.number&&j(e)});var L={si:{NONE:{unit:q,prefix:R.NONE[""]},LENGTH:{unit:z.m,prefix:R.SHORT[""]},MASS:{unit:z.g,prefix:R.SHORT.k},TIME:{unit:z.s,prefix:R.SHORT[""]},CURRENT:{unit:z.A,prefix:R.SHORT[""]},TEMPERATURE:{unit:z.K,prefix:R.SHORT[""]},LUMINOUS_INTENSITY:{unit:z.cd,prefix:R.SHORT[""]},AMOUNT_OF_SUBSTANCE:{unit:z.mol,prefix:R.SHORT[""]},ANGLE:{unit:z.rad,prefix:R.SHORT[""]},BIT:{unit:z.bits,prefix:R.SHORT[""]},FORCE:{unit:z.N,prefix:R.SHORT[""]},ENERGY:{unit:z.J,prefix:R.SHORT[""]},POWER:{unit:z.W,prefix:R.SHORT[""]},PRESSURE:{unit:z.Pa,prefix:R.SHORT[""]},ELECTRIC_CHARGE:{unit:z.C,prefix:R.SHORT[""]},ELECTRIC_CAPACITANCE:{unit:z.F,prefix:R.SHORT[""]},ELECTRIC_POTENTIAL:{unit:z.V,prefix:R.SHORT[""]},ELECTRIC_RESISTANCE:{unit:z.ohm,prefix:R.SHORT[""]},ELECTRIC_INDUCTANCE:{unit:z.H,prefix:R.SHORT[""]},ELECTRIC_CONDUCTANCE:{unit:z.S,prefix:R.SHORT[""]},MAGNETIC_FLUX:{unit:z.Wb,prefix:R.SHORT[""]},MAGNETIC_FLUX_DENSITY:{unit:z.T,prefix:R.SHORT[""]},FREQUENCY:{unit:z.Hz,prefix:R.SHORT[""]}}};L.cgs=JSON.parse(JSON.stringify(L.si)),L.cgs.LENGTH={unit:z.m,prefix:R.SHORT.c},L.cgs.MASS={unit:z.g,prefix:R.SHORT[""]},L.cgs.FORCE={unit:z.dyn,prefix:R.SHORT[""]},L.cgs.ENERGY={unit:z.erg,prefix:R.NONE[""]},L.us=JSON.parse(JSON.stringify(L.si)),L.us.LENGTH={unit:z.ft,prefix:R.NONE[""]},L.us.MASS={unit:z.lbm,prefix:R.NONE[""]},L.us.TEMPERATURE={unit:z.degF,prefix:R.NONE[""]},L.us.FORCE={unit:z.lbf,prefix:R.NONE[""]},L.us.ENERGY={unit:z.BTU,prefix:R.BTU[""]},L.us.POWER={unit:z.hp,prefix:R.NONE[""]},L.us.PRESSURE={unit:z.psi,prefix:R.NONE[""]},L.auto=JSON.parse(JSON.stringify(L.si));var F=L.auto;for(var U in N.setUnitSystem=function(e){if(!bt(L,e))throw new Error("Unit system "+e+" does not exist. Choices are: "+Object.keys(L).join(", "));F=L[e]},N.getUnitSystem=function(){for(var e in L)if(bt(L,e)&&L[e]===F)return e},N.typeConverters={BigNumber:function(e){return new x(e+"")},Fraction:function(e){return new b(e)},Complex:function(e){return e},number:function(e){return e}},N._getNumberConverter=function(e){if(!N.typeConverters[e])throw new TypeError('Unsupported type "'+e+'"');return N.typeConverters[e]},z)if(bt(z,U)){var $=z[U];$.dimensions=$.base.dimensions}for(var V in B)if(bt(B,V)){var H=z[B[V]],W={};for(var G in H)bt(H,G)&&(W[G]=H[G]);W.name=V,z[V]=W}return N.isValidAlpha=function(e){return/^[a-zA-Z]$/.test(e)},N.createUnit=function(e,t){if("object"!==Mf(e))throw new TypeError("createUnit expects first parameter to be of type 'Object'");if(t&&t.override)for(var n in e)if(bt(e,n)&&N.deleteUnit(n),e[n].aliases)for(var r=0;r<e[n].aliases.length;r++)N.deleteUnit(e[n].aliases[r]);var i;for(var a in e)bt(e,a)&&(i=N.createUnitSingle(a,e[a]));return i},N.createUnitSingle=function(e,t,n){if(null==t&&(t={}),"string"!=typeof e)throw new TypeError("createUnitSingle expects first parameter to be of type 'string'");if(bt(z,e))throw new Error('Cannot create unit "'+e+'": a unit with that name already exists');!function(e){for(var t=0;t<e.length;t++){if(r=e.charAt(t),0===t&&!N.isValidAlpha(r))throw new Error('Invalid unit name (must begin with alpha character): "'+e+'"');if(t>0&&!N.isValidAlpha(r)&&!S(r))throw new Error('Invalid unit name (only alphanumeric characters are allowed): "'+e+'"')}}(e);var i,a,o,s=null,u=[],l=0;if(t&&"Unit"===t.type)s=t.clone();else if("string"==typeof t)""!==t&&(i=t);else{if("object"!==Mf(t))throw new TypeError('Cannot create unit "'+e+'" from "'+t.toString()+'": expecting "string" or "Unit" or "Object"');i=t.definition,a=t.prefixes,l=t.offset,o=t.baseName,t.aliases&&(u=t.aliases.valueOf())}if(u)for(var c=0;c<u.length;c++)if(bt(z,u[c]))throw new Error('Cannot create alias "'+u[c]+'": a unit with that name already exists');if(i&&"string"==typeof i&&!s)try{s=N.parse(i,{allowNoUnits:!0})}catch(t){throw t.message='Could not create unit "'+e+'" from "'+i+'": '+t.message,t}else i&&"Unit"===i.type&&(s=i.clone());u=u||[],l=l||0,a=a&&a.toUpperCase&&R[a.toUpperCase()]||R.NONE;var f={};if(s){f={name:e,value:s.value,dimensions:s.dimensions.slice(0),prefixes:a,offset:l};var p=!1;for(var h in I)if(bt(I,h)){for(var d=!0,m=0;m<D.length;m++)if(Math.abs((f.dimensions[m]||0)-(I[h].dimensions[m]||0))>1e-12){d=!1;break}if(d){p=!0,f.base=I[h];break}}if(!p){o=o||e+"_STUFF";var g={dimensions:s.dimensions.slice(0)};g.key=o,I[o]=g,F[o]={unit:f,prefix:R.NONE[""]},f.base=I[o]}}else{if(o=o||e+"_STUFF",D.indexOf(o)>=0)throw new Error('Cannot create new base unit "'+e+'": a base unit with that name already exists (and cannot be overridden)');for(var y in D.push(o),I)bt(I,y)&&(I[y].dimensions[D.length-1]=0);for(var v={dimensions:[]},x=0;x<D.length;x++)v.dimensions[x]=0;v.dimensions[D.length-1]=1,v.key=o,I[o]=v,f={name:e,value:1,dimensions:I[o].dimensions.slice(0),prefixes:a,offset:l,base:I[o]},F[o]={unit:f,prefix:R.NONE[""]}}N.UNITS[e]=f;for(var b=0;b<u.length;b++){var w=u[b],E={};for(var M in f)bt(f,M)&&(E[M]=f[M]);E.name=w,N.UNITS[w]=E}return new N(null,e)},N.deleteUnit=function(e){delete N.UNITS[e]},N.PREFIXES=R,N.BASE_DIMENSIONS=D,N.BASE_UNITS=I,N.UNIT_SYSTEMS=L,N.UNITS=z,N},{isClass:!0}),_f="unit",Rf=Sn(_f,["typed","Unit"],function(e){var t=e.typed,n=e.Unit;return t(_f,{Unit:function(e){return e.clone()},string:function(e){return n.isValuelessUnit(e)?new n(null,e):n.parse(e,{allowNoUnits:!0})},"number | BigNumber | Fraction | Complex, string":function(e,t){return new n(e,t)},"Array | Matrix":function(e){return Ui(e,this)}})}),Df="sparse",If=Sn(Df,["typed","SparseMatrix"],function(e){var t=e.typed,n=e.SparseMatrix;return t(Df,{"":function(){return new n([])},string:function(e){return new n([],e)},"Array | Matrix":function(e){return new n(e)},"Array | Matrix, string":function(e,t){return new n(e,t)}})}),Pf="createUnit",qf=Sn(Pf,["typed","Unit"],function(e){var t=e.typed,n=e.Unit;return t(Pf,{"Object, Object":function(e,t){return n.createUnit(e,t)},Object:function(e){return n.createUnit(e,{})},"string, Unit | string | Object, Object":function(e,t,r){var i={};return i[e]=t,n.createUnit(i,r)},"string, Unit | string | Object":function(e,t){var r={};return r[e]=t,n.createUnit(r,{})},string:function(e){var t={};return t[e]={},n.createUnit(t,{})}})}),zf="acos",Bf=Sn(zf,["typed","config","Complex"],function(e){var t=e.typed,n=e.config,r=e.Complex;return t(zf,{number:function(e){return e>=-1&&e<=1||n.predictable?Math.acos(e):new r(e,0).acos()},Complex:function(e){return e.acos()},BigNumber:function(e){return e.acos()},"Array | Matrix":function(e){return Ui(e,this)}})}),jf="acosh",Lf=Sn(jf,["typed","config","Complex"],function(e){var t=e.typed,n=e.config,r=e.Complex;return t(jf,{number:function(e){return e>=1||n.predictable?La(e):e<=-1?new r(Math.log(Math.sqrt(e*e-1)-e),Math.PI):new r(e,0).acosh()},Complex:function(e){return e.acosh()},BigNumber:function(e){return e.acosh()},"Array | Matrix":function(e){return Ui(e,this)}})}),Ff="acot",Uf=Sn(Ff,["typed","BigNumber"],function(e){var t=e.typed,n=e.BigNumber;return t(Ff,{number:Fa,Complex:function(e){return e.acot()},BigNumber:function(e){return new n(1).div(e).atan()},"Array | Matrix":function(e){return Ui(e,this)}})}),$f="acoth",Vf=Sn($f,["typed","config","Complex","BigNumber"],function(e){var t=e.typed,n=e.config,r=e.Complex,i=e.BigNumber;return t($f,{number:function(e){return e>=1||e<=-1||n.predictable?Ua(e):new r(e,0).acoth()},Complex:function(e){return e.acoth()},BigNumber:function(e){return new i(1).div(e).atanh()},"Array | Matrix":function(e){return Ui(e,this)}})}),Hf="acsc",Wf=Sn(Hf,["typed","config","Complex","BigNumber"],function(e){var t=e.typed,n=e.config,r=e.Complex,i=e.BigNumber;return t(Hf,{number:function(e){return e<=-1||e>=1||n.predictable?$a(e):new r(e,0).acsc()},Complex:function(e){return e.acsc()},BigNumber:function(e){return new i(1).div(e).asin()},"Array | Matrix":function(e){return Ui(e,this)}})}),Gf="acsch",Yf=Sn(Gf,["typed","BigNumber"],function(e){var t=e.typed,n=e.BigNumber;return t(Gf,{number:Va,Complex:function(e){return e.acsch()},BigNumber:function(e){return new n(1).div(e).asinh()},"Array | Matrix":function(e){return Ui(e,this)}})}),Zf="asec",Jf=Sn(Zf,["typed","config","Complex","BigNumber"],function(e){var t=e.typed,n=e.config,r=e.Complex,i=e.BigNumber;return t(Zf,{number:function(e){return e<=-1||e>=1||n.predictable?Ha(e):new r(e,0).asec()},Complex:function(e){return e.asec()},BigNumber:function(e){return new i(1).div(e).acos()},"Array | Matrix":function(e){return Ui(e,this)}})}),Xf="asech",Kf=Sn(Xf,["typed","config","Complex","BigNumber"],function(e){var t=e.typed,n=e.config,r=e.Complex,i=e.BigNumber;return t(Xf,{number:function(e){if(e<=1&&e>=-1||n.predictable){var t=1/e;if(t>0||n.predictable)return Wa(e);var i=Math.sqrt(t*t-1);return new r(Math.log(i-t),Math.PI)}return new r(e,0).asech()},Complex:function(e){return e.asech()},BigNumber:function(e){return new i(1).div(e).acosh()},"Array | Matrix":function(e){return Ui(e,this)}})}),Qf="asin",ep=Sn(Qf,["typed","config","Complex"],function(e){var t=e.typed,n=e.config,r=e.Complex;return t(Qf,{number:function(e){return e>=-1&&e<=1||n.predictable?Math.asin(e):new r(e,0).asin()},Complex:function(e){return e.asin()},BigNumber:function(e){return e.asin()},"Array | Matrix":function(e){return Ui(e,this)}})}),tp=Sn("asinh",["typed"],function(e){return(0,e.typed)("asinh",{number:Ga,Complex:function(e){return e.asinh()},BigNumber:function(e){return e.asinh()},"Array | Matrix":function(e){return Ui(e,this)}})}),np=Sn("atan",["typed"],function(e){return(0,e.typed)("atan",{number:function(e){return Math.atan(e)},Complex:function(e){return e.atan()},BigNumber:function(e){return e.atan()},"Array | Matrix":function(e){return Ui(e,this)}})}),rp="atan2",ip=Sn(rp,["typed","matrix","equalScalar","BigNumber","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.equalScalar,i=e.BigNumber,a=e.DenseMatrix,o=ms({typed:t,equalScalar:r}),s=Ns({typed:t}),u=Fs({typed:t,equalScalar:r}),l=Jo({typed:t,equalScalar:r}),c=Ss({typed:t,DenseMatrix:a}),f=hs({typed:t}),p=Xo({typed:t});return t(rp,{"number, number":Math.atan2,"BigNumber, BigNumber":function(e,t){return i.atan2(e,t)},"SparseMatrix, SparseMatrix":function(e,t){return u(e,t,this,!1)},"SparseMatrix, DenseMatrix":function(e,t){return o(t,e,this,!0)},"DenseMatrix, SparseMatrix":function(e,t){return s(e,t,this,!1)},"DenseMatrix, DenseMatrix":function(e,t){return f(e,t,this)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"SparseMatrix, number | BigNumber":function(e,t){return l(e,t,this,!1)},"DenseMatrix, number | BigNumber":function(e,t){return p(e,t,this,!1)},"number | BigNumber, SparseMatrix":function(e,t){return c(t,e,this,!0)},"number | BigNumber, DenseMatrix":function(e,t){return p(t,e,this,!0)},"Array, number | BigNumber":function(e,t){return p(n(e),t,this,!1).valueOf()},"number | BigNumber, Array":function(e,t){return p(n(t),e,this,!0).valueOf()}})}),ap="atanh",op=Sn(ap,["typed","config","Complex"],function(e){var t=e.typed,n=e.config,r=e.Complex;return t(ap,{number:function(e){return e<=1&&e>=-1||n.predictable?Ya(e):new r(e,0).atanh()},Complex:function(e){return e.atanh()},BigNumber:function(e){return e.atanh()},"Array | Matrix":function(e){return Ui(e,this)}})}),sp=Sn("cos",["typed"],function(e){return(0,e.typed)("cos",{number:Math.cos,Complex:function(e){return e.cos()},BigNumber:function(e){return e.cos()},Unit:function(e){if(!e.hasBase(e.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cos is no angle");return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),up="cosh",lp=Sn(up,["typed"],function(e){return(0,e.typed)(up,{number:Vt,Complex:function(e){return e.cosh()},BigNumber:function(e){return e.cosh()},Unit:function(e){if(!e.hasBase(e.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cosh is no angle");return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),cp=Sn("cot",["typed","BigNumber"],function(e){var t=e.typed,n=e.BigNumber;return t("cot",{number:Za,Complex:function(e){return e.cot()},BigNumber:function(e){return new n(1).div(e.tan())},Unit:function(e){if(!e.hasBase(e.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cot is no angle");return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),fp="coth",pp=Sn(fp,["typed","BigNumber"],function(e){var t=e.typed,n=e.BigNumber;return t(fp,{number:Ja,Complex:function(e){return e.coth()},BigNumber:function(e){return new n(1).div(e.tanh())},Unit:function(e){if(!e.hasBase(e.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function coth is no angle");return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),hp=Sn("csc",["typed","BigNumber"],function(e){var t=e.typed,n=e.BigNumber;return t("csc",{number:Xa,Complex:function(e){return e.csc()},BigNumber:function(e){return new n(1).div(e.sin())},Unit:function(e){if(!e.hasBase(e.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function csc is no angle");return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),dp="csch",mp=Sn(dp,["typed","BigNumber"],function(e){var t=e.typed,n=e.BigNumber;return t(dp,{number:Ka,Complex:function(e){return e.csch()},BigNumber:function(e){return new n(1).div(e.sinh())},Unit:function(e){if(!e.hasBase(e.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function csch is no angle");return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),gp=Sn("sec",["typed","BigNumber"],function(e){var t=e.typed,n=e.BigNumber;return t("sec",{number:Qa,Complex:function(e){return e.sec()},BigNumber:function(e){return new n(1).div(e.cos())},Unit:function(e){if(!e.hasBase(e.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function sec is no angle");return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),yp="sech",vp=Sn(yp,["typed","BigNumber"],function(e){var t=e.typed,n=e.BigNumber;return t(yp,{number:eo,Complex:function(e){return e.sech()},BigNumber:function(e){return new n(1).div(e.cosh())},Unit:function(e){if(!e.hasBase(e.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function sech is no angle");return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),xp=Sn("sin",["typed"],function(e){return(0,e.typed)("sin",{number:Math.sin,Complex:function(e){return e.sin()},BigNumber:function(e){return e.sin()},Unit:function(e){if(!e.hasBase(e.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function sin is no angle");return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),bp="sinh",wp=Sn(bp,["typed"],function(e){return(0,e.typed)(bp,{number:to,Complex:function(e){return e.sinh()},BigNumber:function(e){return e.sinh()},Unit:function(e){if(!e.hasBase(e.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function sinh is no angle");return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),Np=Sn("tan",["typed"],function(e){return(0,e.typed)("tan",{number:Math.tan,Complex:function(e){return e.tan()},BigNumber:function(e){return e.tan()},Unit:function(e){if(!e.hasBase(e.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function tan is no angle");return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),Ep=Sn("tanh",["typed"],function(e){return(0,e.typed)("tanh",{number:Wt,Complex:function(e){return e.tanh()},BigNumber:function(e){return e.tanh()},Unit:function(e){if(!e.hasBase(e.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function tanh is no angle");return this(e.value)},"Array | Matrix":function(e){return Ui(e,this)}})}),Sp="setCartesian",Mp=Sn(Sp,["typed","size","subset","compareNatural","Index","DenseMatrix"],function(e){var t=e.typed,n=e.size,r=e.subset,i=e.compareNatural,a=e.Index,o=e.DenseMatrix;return t(Sp,{"Array | Matrix, Array | Matrix":function(e,t){var s=[];if(0!==r(n(e),new a(0))&&0!==r(n(t),new a(0))){var u=mn(Array.isArray(e)?e:e.toArray()).sort(i),l=mn(Array.isArray(t)?t:t.toArray()).sort(i);s=[];for(var c=0;c<u.length;c++)for(var f=0;f<l.length;f++)s.push([u[c],l[f]])}return Array.isArray(e)&&Array.isArray(t)?s:new o(s)}})}),Ap="setDifference",Cp=Sn(Ap,["typed","size","subset","compareNatural","Index","DenseMatrix"],function(e){var t=e.typed,n=e.size,r=e.subset,i=e.compareNatural,a=e.Index,o=e.DenseMatrix;return t(Ap,{"Array | Matrix, Array | Matrix":function(e,t){var s;if(0===r(n(e),new a(0)))s=[];else{if(0===r(n(t),new a(0)))return mn(e.toArray());var u,l=wn(mn(Array.isArray(e)?e:e.toArray()).sort(i)),c=wn(mn(Array.isArray(t)?t:t.toArray()).sort(i));s=[];for(var f=0;f<l.length;f++){u=!1;for(var p=0;p<c.length;p++)if(0===i(l[f].value,c[p].value)&&l[f].identifier===c[p].identifier){u=!0;break}u||s.push(l[f])}}return Array.isArray(e)&&Array.isArray(t)?Nn(s):new o(Nn(s))}})}),Op="setDistinct",kp=Sn(Op,["typed","size","subset","compareNatural","Index","DenseMatrix"],function(e){var t=e.typed,n=e.size,r=e.subset,i=e.compareNatural,a=e.Index,o=e.DenseMatrix;return t(Op,{"Array | Matrix":function(e){var t;if(0===r(n(e),new a(0)))t=[];else{var s=mn(Array.isArray(e)?e:e.toArray()).sort(i);(t=[]).push(s[0]);for(var u=1;u<s.length;u++)0!==i(s[u],s[u-1])&&t.push(s[u])}return Array.isArray(e)?t:new o(t)}})}),Tp="setIntersect",_p=Sn(Tp,["typed","size","subset","compareNatural","Index","DenseMatrix"],function(e){var t=e.typed,n=e.size,r=e.subset,i=e.compareNatural,a=e.Index,o=e.DenseMatrix;return t(Tp,{"Array | Matrix, Array | Matrix":function(e,t){var s;if(0===r(n(e),new a(0))||0===r(n(t),new a(0)))s=[];else{var u=wn(mn(Array.isArray(e)?e:e.toArray()).sort(i)),l=wn(mn(Array.isArray(t)?t:t.toArray()).sort(i));s=[];for(var c=0;c<u.length;c++)for(var f=0;f<l.length;f++)if(0===i(u[c].value,l[f].value)&&u[c].identifier===l[f].identifier){s.push(u[c]);break}}return Array.isArray(e)&&Array.isArray(t)?Nn(s):new o(Nn(s))}})}),Rp="setIsSubset",Dp=Sn(Rp,["typed","size","subset","compareNatural","Index"],function(e){var t=e.typed,n=e.size,r=e.subset,i=e.compareNatural,a=e.Index;return t(Rp,{"Array | Matrix, Array | Matrix":function(e,t){if(0===r(n(e),new a(0)))return!0;if(0===r(n(t),new a(0)))return!1;for(var o,s=wn(mn(Array.isArray(e)?e:e.toArray()).sort(i)),u=wn(mn(Array.isArray(t)?t:t.toArray()).sort(i)),l=0;l<s.length;l++){o=!1;for(var c=0;c<u.length;c++)if(0===i(s[l].value,u[c].value)&&s[l].identifier===u[c].identifier){o=!0;break}if(!1===o)return!1}return!0}})}),Ip="setMultiplicity",Pp=Sn(Ip,["typed","size","subset","compareNatural","Index"],function(e){var t=e.typed,n=e.size,r=e.subset,i=e.compareNatural,a=e.Index;return t(Ip,{"number | BigNumber | Fraction | Complex, Array | Matrix":function(e,t){if(0===r(n(t),new a(0)))return 0;for(var o=mn(Array.isArray(t)?t:t.toArray()),s=0,u=0;u<o.length;u++)0===i(o[u],e)&&s++;return s}})}),qp="setPowerset",zp=Sn(qp,["typed","size","subset","compareNatural","Index"],function(e){var t=e.typed,n=e.size,r=e.subset,i=e.compareNatural,a=e.Index;return t(qp,{"Array | Matrix":function(e){if(0===r(n(e),new a(0)))return[];for(var t=mn(Array.isArray(e)?e:e.toArray()).sort(i),s=[],u=0;u.toString(2).length<=t.length;)s.push(o(t,u.toString(2).split("").reverse())),u++;return function(e){for(var t=[],n=e.length-1;n>0;n--)for(var r=0;r<n;r++)e[r].length>e[r+1].length&&(t=e[r],e[r]=e[r+1],e[r+1]=t);return e}(s)}});function o(e,t){for(var n=[],r=0;r<t.length;r++)"1"===t[r]&&n.push(e[r]);return n}}),Bp="setSize",jp=Sn(Bp,["typed","compareNatural"],function(e){var t=e.typed,n=e.compareNatural;return t(Bp,{"Array | Matrix":function(e){return Array.isArray(e)?mn(e).length:mn(e.toArray()).length},"Array | Matrix, boolean":function(e,t){if(!1===t||0===e.length)return Array.isArray(e)?mn(e).length:mn(e.toArray()).length;for(var r=mn(Array.isArray(e)?e:e.toArray()).sort(n),i=1,a=1;a<r.length;a++)0!==n(r[a],r[a-1])&&i++;return i}})}),Lp="setSymDifference",Fp=Sn(Lp,["typed","size","concat","subset","setDifference","Index"],function(e){var t=e.typed,n=e.size,r=e.concat,i=e.subset,a=e.setDifference,o=e.Index;return t(Lp,{"Array | Matrix, Array | Matrix":function(e,t){if(0===i(n(e),new o(0)))return mn(t);if(0===i(n(t),new o(0)))return mn(e);var s=mn(e),u=mn(t);return r(a(s,u),a(u,s))}})}),Up="setUnion",$p=Sn(Up,["typed","size","concat","subset","setIntersect","setSymDifference","Index"],function(e){var t=e.typed,n=e.size,r=e.concat,i=e.subset,a=e.setIntersect,o=e.setSymDifference,s=e.Index;return t(Up,{"Array | Matrix, Array | Matrix":function(e,t){if(0===i(n(e),new s(0)))return mn(t);if(0===i(n(t),new s(0)))return mn(e);var u=mn(e),l=mn(t);return r(o(u,l),a(u,l))}})}),Vp=Sn("add",["typed","matrix","addScalar","equalScalar","DenseMatrix","SparseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.addScalar,i=e.equalScalar,a=e.DenseMatrix;e.SparseMatrix;var o=cs({typed:t}),s=fs({typed:t,equalScalar:i}),u=ps({typed:t,DenseMatrix:a}),l=hs({typed:t}),c=Xo({typed:t});return t("add",vt({"DenseMatrix, DenseMatrix":function(e,t){return l(e,t,r)},"DenseMatrix, SparseMatrix":function(e,t){return o(e,t,r,!1)},"SparseMatrix, DenseMatrix":function(e,t){return o(t,e,r,!0)},"SparseMatrix, SparseMatrix":function(e,t){return s(e,t,r)},"Array, Array":function(e,t){return this(n(e),n(t)).valueOf()},"Array, Matrix":function(e,t){return this(n(e),t)},"Matrix, Array":function(e,t){return this(e,n(t))},"DenseMatrix, any":function(e,t){return c(e,t,r,!1)},"SparseMatrix, any":function(e,t){return u(e,t,r,!1)},"any, DenseMatrix":function(e,t){return c(t,e,r,!0)},"any, SparseMatrix":function(e,t){return u(t,e,r,!0)},"Array, any":function(e,t){return c(n(e),t,r,!1).valueOf()},"any, Array":function(e,t){return c(n(t),e,r,!0).valueOf()},"any, any":r,"any, any, ...any":function(e,t,n){for(var r=this(e,t),i=0;i<n.length;i++)r=this(r,n[i]);return r}},r.signatures))}),Hp="hypot",Wp=Sn(Hp,["typed","abs","addScalar","divideScalar","multiplyScalar","sqrt","smaller","isPositive"],function(e){var t=e.typed,n=e.abs,r=e.addScalar,i=e.divideScalar,a=e.multiplyScalar,o=e.sqrt,s=e.smaller,u=e.isPositive;return t(Hp,{"... number | BigNumber":function(e){for(var t=0,l=0,c=0;c<e.length;c++){var f=n(e[c]);s(l,f)?(t=a(t,a(i(l,f),i(l,f))),t=r(t,1),l=f):t=r(t,u(f)?a(i(f,l),i(f,l)):f)}return a(l,o(t))},Array:function(e){return this.apply(this,mn(e))},Matrix:function(e){return this.apply(this,mn(e.toArray()))}})}),Gp="norm",Yp=Sn(Gp,["typed","abs","add","pow","conj","sqrt","multiply","equalScalar","larger","smaller","matrix","ctranspose","eigs"],function(e){var t=e.typed,n=e.abs,r=e.add,i=e.pow,a=e.conj,o=e.sqrt,s=e.multiply,u=e.equalScalar,l=e.larger,c=e.smaller,f=e.matrix,p=e.ctranspose,h=e.eigs;return t(Gp,{number:Math.abs,Complex:function(e){return e.abs()},BigNumber:function(e){return e.abs()},boolean:function(e){return Math.abs(e)},Array:function(e){return g(f(e),2)},Matrix:function(e){return g(e,2)},"number | Complex | BigNumber | boolean, number | BigNumber | string":function(e){return this(e)},"Array, number | BigNumber | string":function(e,t){return g(f(e),t)},"Matrix, number | BigNumber | string":function(e,t){return g(e,t)}});function d(e,t){if(t===Number.POSITIVE_INFINITY||"inf"===t)return function(e){var t=0;return e.forEach(function(e){var r=n(e);l(r,t)&&(t=r)},!0),t}(e);if(t===Number.NEGATIVE_INFINITY||"-inf"===t)return function(e){var t;return e.forEach(function(e){var r=n(e);t&&!c(r,t)||(t=r)},!0),t||0}(e);if("fro"===t)return g(e,2);if("number"==typeof t&&!isNaN(t)){if(!u(t,0)){var a=0;return e.forEach(function(e){a=r(i(n(e),t),a)},!0),i(a,1/t)}return Number.POSITIVE_INFINITY}throw new Error("Unsupported parameter value")}function m(e,t){if(1===t)return function(e){var t=[],i=0;return e.forEach(function(e,a){var o=a[1],s=r(t[o]||0,n(e));l(s,i)&&(i=s),t[o]=s},!0),i}(e);if(t===Number.POSITIVE_INFINITY||"inf"===t)return function(e){var t=[],i=0;return e.forEach(function(e,a){var o=a[0],s=r(t[o]||0,n(e));l(s,i)&&(i=s),t[o]=s},!0),i}(e);if("fro"===t)return function(e){var t=0;return e.forEach(function(e,n){t=r(t,s(e,a(e)))}),n(o(t))}(e);if(2===t)return function(e){var t=e.size();if(t[0]!==t[1])throw new RangeError("Invalid matrix dimensions");var r=p(e),i=s(r,e),a=h(i).values,u=a.get([a.size()[0]-1]);return n(o(u))}(e);throw new Error("Unsupported parameter value "+t)}function g(e,t){var n=e.size();if(1===n.length)return d(e,t);if(2===n.length){if(n[0]&&n[1])return m(e,t);throw new RangeError("Invalid matrix dimensions")}}}),Zp=Sn("dot",["typed","addScalar","multiplyScalar","conj","size"],function(e){var t=e.typed,n=e.addScalar,r=e.multiplyScalar,i=e.conj,a=e.size;return t("dot",{"Array | DenseMatrix, Array | DenseMatrix":function(e,a){var u=o(e,a),l=Be(e)?e._data:e,c=Be(e)?e._datatype:void 0,f=Be(a)?a._data:a,p=Be(a)?a._datatype:void 0,h=2===s(e).length,d=2===s(a).length,m=n,g=r;if(c&&p&&c===p&&"string"==typeof c){var y=c;m=t.find(n,[y,y]),g=t.find(r,[y,y])}if(!h&&!d){for(var v=g(i(l[0]),f[0]),x=1;x<u;x++)v=m(v,g(i(l[x]),f[x]));return v}if(!h&&d){for(var b=g(i(l[0]),f[0][0]),w=1;w<u;w++)b=m(b,g(i(l[w]),f[w][0]));return b}if(h&&!d){for(var N=g(i(l[0][0]),f[0]),E=1;E<u;E++)N=m(N,g(i(l[E][0]),f[E]));return N}if(h&&d){for(var S=g(i(l[0][0]),f[0][0]),M=1;M<u;M++)S=m(S,g(i(l[M][0]),f[M][0]));return S}},"SparseMatrix, SparseMatrix":function(e,t){o(e,t);for(var i=e._index,a=e._values,s=t._index,u=t._values,l=0,c=n,f=r,p=0,h=0;p<i.length&&h<s.length;){var d=i[p],m=s[h];d<m?p++:d>m?h++:d===m&&(l=c(l,f(a[p],u[h])),p++,h++)}return l}});function o(e,t){var n,r,i=s(e),a=s(t);if(1===i.length)n=i[0];else{if(2!==i.length||1!==i[1])throw new RangeError("Expected a column vector, instead got a matrix of size ("+i.join(", ")+")");n=i[0]}if(1===a.length)r=a[0];else{if(2!==a.length||1!==a[1])throw new RangeError("Expected a column vector, instead got a matrix of size ("+a.join(", ")+")");r=a[0]}if(n!==r)throw new RangeError("Vectors must have equal length ("+n+" != "+r+")");if(0===n)throw new RangeError("Cannot calculate the dot product of empty vectors");return n}function s(e){return Be(e)?e.size():a(e)}}),Jp=Sn("trace",["typed","matrix","add"],function(e){var t=e.typed,n=e.matrix,r=e.add;return t("trace",{Array:function(e){return i(n(e))},SparseMatrix:function(e){var t=e._values,n=e._index,i=e._ptr,a=e._size,o=a[0],s=a[1];if(o===s){var u=0;if(t.length>0)for(var l=0;l<s;l++)for(var c=i[l],f=i[l+1],p=c;p<f;p++){var h=n[p];if(h===l){u=r(u,t[p]);break}if(h>l)break}return u}throw new RangeError("Matrix must be square (size: "+Jt(a)+")")},DenseMatrix:i,any:yt});function i(e){var t=e._size,n=e._data;switch(t.length){case 1:if(1===t[0])return yt(n[0]);throw new RangeError("Matrix must be square (size: "+Jt(t)+")");case 2:var i=t[0];if(i===t[1]){for(var a=0,o=0;o<i;o++)a=r(a,n[o][o]);return a}throw new RangeError("Matrix must be square (size: "+Jt(t)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+Jt(t)+")")}}}),Xp="index",Kp=Sn(Xp,["typed","Index"],function(e){var t=e.typed,n=e.Index;return t(Xp,{"...number | string | BigNumber | Range | Array | Matrix":function(e){var t=e.map(function(e){return Re(e)?e.toNumber():Array.isArray(e)||Be(e)?e.map(function(e){return Re(e)?e.toNumber():e}):e}),r=new n;return n.apply(r,t),r}})}),Qp={end:!0};function eh(e){return eh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},eh(e)}var th=Sn("Node",["mathWithTransform"],function(e){var t=e.mathWithTransform;function n(){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator")}return n.prototype.evaluate=function(e){return this.compile().evaluate(e)},n.prototype.type="Node",n.prototype.isNode=!0,n.prototype.comment="",n.prototype.compile=function(){var e=this._compile(t,{}),n={};return{evaluate:function(t){var r=t||{};return function(e){for(var t in e)if(bt(e,t)&&t in Qp)throw new Error('Scope contains an illegal symbol, "'+t+'" is a reserved keyword')}(r),e(r,n,null)}}},n.prototype._compile=function(e,t){throw new Error("Method _compile should be implemented by type "+this.type)},n.prototype.forEach=function(e){throw new Error("Cannot run forEach on a Node interface")},n.prototype.map=function(e){throw new Error("Cannot run map on a Node interface")},n.prototype._ifNode=function(e){if(!ut(e))throw new TypeError("Callback function must return a Node");return e},n.prototype.traverse=function(e){e(this,null,null),function e(t,n){t.forEach(function(t,r,i){n(t,r,i),e(t,n)})}(this,e)},n.prototype.transform=function(e){return function t(n,r,i){var a=e(n,r,i);return a!==n?a:n.map(t)}(this,null,null)},n.prototype.filter=function(e){var t=[];return this.traverse(function(n,r,i){e(n,r,i)&&t.push(n)}),t},n.prototype.clone=function(){throw new Error("Cannot clone a Node interface")},n.prototype.cloneDeep=function(){return this.map(function(e){return e.cloneDeep()})},n.prototype.equals=function(e){return!!e&&xt(this,e)},n.prototype.toString=function(e){var t;if(e&&"object"===eh(e))switch(eh(e.handler)){case"object":case"undefined":break;case"function":t=e.handler(this,e);break;default:throw new TypeError("Object or function expected as callback")}return void 0!==t?t:this._toString(e)},n.prototype.toJSON=function(){throw new Error("Cannot serialize object: toJSON not implemented by "+this.type)},n.prototype.toHTML=function(e){var t;if(e&&"object"===eh(e))switch(eh(e.handler)){case"object":case"undefined":break;case"function":t=e.handler(this,e);break;default:throw new TypeError("Object or function expected as callback")}return void 0!==t?t:this.toHTML(e)},n.prototype._toString=function(){throw new Error("_toString not implemented for "+this.type)},n.prototype.toTex=function(e){var t;if(e&&"object"===eh(e))switch(eh(e.handler)){case"object":case"undefined":break;case"function":t=e.handler(this,e);break;default:throw new TypeError("Object or function expected as callback")}return void 0!==t?t:this._toTex(e)},n.prototype._toTex=function(e){throw new Error("_toTex not implemented for "+this.type)},n.prototype.getIdentifier=function(){return this.type},n.prototype.getContent=function(){return this},n},{isClass:!0,isNode:!0});function nh(e){return e&&e.isIndexError?new nn(e.index+1,e.min+1,void 0!==e.max?e.max+1:void 0):e}function rh(e){return rh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rh(e)}function ih(e){var t=e.subset;return function(e,n){try{if(Array.isArray(e))return t(e,n);if(e&&"function"==typeof e.subset)return e.subset(n);if("string"==typeof e)return t(e,n);if("object"===rh(e)){if(!n.isObjectProperty())throw new TypeError("Cannot apply a numeric index as object property");return cl(e,n.getObjectProperty())}throw new TypeError("Cannot apply index: unsupported type of object")}catch(e){throw nh(e)}}}var ah=Sn("AccessorNode",["subset","Node"],function(e){var t=e.subset,n=e.Node,r=ih({subset:t});function i(e,t){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");if(!ut(e))throw new TypeError('Node expected for parameter "object"');if(!st(t))throw new TypeError('IndexNode expected for parameter "index"');this.object=e||null,this.index=t,Object.defineProperty(this,"name",{get:function(){return this.index?this.index.isObjectProperty()?this.index.getObjectProperty():"":this.object.name||""}.bind(this),set:function(){throw new Error("Cannot assign a new name, name is read-only")}})}function a(e){return!(Qe(e)||et(e)||it(e)||ot(e)||lt(e)||ft(e)||ht(e))}return i.prototype=new n,i.prototype.type="AccessorNode",i.prototype.isAccessorNode=!0,i.prototype._compile=function(e,t){var n=this.object._compile(e,t),i=this.index._compile(e,t);if(this.index.isObjectProperty()){var a=this.index.getObjectProperty();return function(e,t,r){return cl(n(e,t,r),a)}}return function(e,t,a){var o=n(e,t,a),s=i(e,t,o);return r(o,s)}},i.prototype.forEach=function(e){e(this.object,"object",this),e(this.index,"index",this)},i.prototype.map=function(e){return new i(this._ifNode(e(this.object,"object",this)),this._ifNode(e(this.index,"index",this)))},i.prototype.clone=function(){return new i(this.object,this.index)},i.prototype._toString=function(e){var t=this.object.toString(e);return a(this.object)&&(t="("+t+")"),t+this.index.toString(e)},i.prototype.toHTML=function(e){var t=this.object.toHTML(e);return a(this.object)&&(t='<span class="math-parenthesis math-round-parenthesis">(</span>'+t+'<span class="math-parenthesis math-round-parenthesis">)</span>'),t+this.index.toHTML(e)},i.prototype._toTex=function(e){var t=this.object.toTex(e);return a(this.object)&&(t="\\left(' + object + '\\right)"),t+this.index.toTex(e)},i.prototype.toJSON=function(){return{mathjs:"AccessorNode",object:this.object,index:this.index}},i.fromJSON=function(e){return new i(e.object,e.index)},i},{isClass:!0,isNode:!0}),oh=Sn("ArrayNode",["Node"],function(e){var t=e.Node;function n(e){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(this.items=e||[],!Array.isArray(this.items)||!this.items.every(ut))throw new TypeError("Array containing Nodes expected")}return n.prototype=new t,n.prototype.type="ArrayNode",n.prototype.isArrayNode=!0,n.prototype._compile=function(e,t){var n=gn(this.items,function(n){return n._compile(e,t)});if("Array"!==e.config.matrix){var r=e.matrix;return function(e,t,i){return r(gn(n,function(n){return n(e,t,i)}))}}return function(e,t,r){return gn(n,function(n){return n(e,t,r)})}},n.prototype.forEach=function(e){for(var t=0;t<this.items.length;t++)e(this.items[t],"items["+t+"]",this)},n.prototype.map=function(e){for(var t=[],r=0;r<this.items.length;r++)t[r]=this._ifNode(e(this.items[r],"items["+r+"]",this));return new n(t)},n.prototype.clone=function(){return new n(this.items.slice(0))},n.prototype._toString=function(e){return"["+this.items.map(function(t){return t.toString(e)}).join(", ")+"]"},n.prototype.toJSON=function(){return{mathjs:"ArrayNode",items:this.items}},n.fromJSON=function(e){return new n(e.items)},n.prototype.toHTML=function(e){return'<span class="math-parenthesis math-square-parenthesis">[</span>'+this.items.map(function(t){return t.toHTML(e)}).join('<span class="math-separator">,</span>')+'<span class="math-parenthesis math-square-parenthesis">]</span>'},n.prototype._toTex=function(e){var t="\\begin{bmatrix}";return this.items.forEach(function(n){n.items?t+=n.items.map(function(t){return t.toTex(e)}).join("&"):t+=n.toTex(e),t+="\\\\"}),t+="\\end{bmatrix}"},n},{isClass:!0,isNode:!0});function sh(e){return sh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},sh(e)}var uh=[{AssignmentNode:{},FunctionAssignmentNode:{}},{ConditionalNode:{latexLeftParens:!1,latexRightParens:!1,latexParens:!1}},{"OperatorNode:or":{associativity:"left",associativeWith:[]}},{"OperatorNode:xor":{associativity:"left",associativeWith:[]}},{"OperatorNode:and":{associativity:"left",associativeWith:[]}},{"OperatorNode:bitOr":{associativity:"left",associativeWith:[]}},{"OperatorNode:bitXor":{associativity:"left",associativeWith:[]}},{"OperatorNode:bitAnd":{associativity:"left",associativeWith:[]}},{"OperatorNode:equal":{associativity:"left",associativeWith:[]},"OperatorNode:unequal":{associativity:"left",associativeWith:[]},"OperatorNode:smaller":{associativity:"left",associativeWith:[]},"OperatorNode:larger":{associativity:"left",associativeWith:[]},"OperatorNode:smallerEq":{associativity:"left",associativeWith:[]},"OperatorNode:largerEq":{associativity:"left",associativeWith:[]},RelationalNode:{associativity:"left",associativeWith:[]}},{"OperatorNode:leftShift":{associativity:"left",associativeWith:[]},"OperatorNode:rightArithShift":{associativity:"left",associativeWith:[]},"OperatorNode:rightLogShift":{associativity:"left",associativeWith:[]}},{"OperatorNode:to":{associativity:"left",associativeWith:[]}},{RangeNode:{}},{"OperatorNode:add":{associativity:"left",associativeWith:["OperatorNode:add","OperatorNode:subtract"]},"OperatorNode:subtract":{associativity:"left",associativeWith:[]}},{"OperatorNode:multiply":{associativity:"left",associativeWith:["OperatorNode:multiply","OperatorNode:divide","Operator:dotMultiply","Operator:dotDivide"]},"OperatorNode:divide":{associativity:"left",associativeWith:[],latexLeftParens:!1,latexRightParens:!1,latexParens:!1},"OperatorNode:dotMultiply":{associativity:"left",associativeWith:["OperatorNode:multiply","OperatorNode:divide","OperatorNode:dotMultiply","OperatorNode:doDivide"]},"OperatorNode:dotDivide":{associativity:"left",associativeWith:[]},"OperatorNode:mod":{associativity:"left",associativeWith:[]}},{"OperatorNode:unaryPlus":{associativity:"right"},"OperatorNode:unaryMinus":{associativity:"right"},"OperatorNode:bitNot":{associativity:"right"},"OperatorNode:not":{associativity:"right"}},{"OperatorNode:pow":{associativity:"right",associativeWith:[],latexRightParens:!1},"OperatorNode:dotPow":{associativity:"right",associativeWith:[]}},{"OperatorNode:factorial":{associativity:"left"}},{"OperatorNode:transpose":{associativity:"left"}}];function lh(e,t){var n=e;"keep"!==t&&(n=e.getContent());for(var r=n.getIdentifier(),i=0;i<uh.length;i++)if(r in uh[i])return i;return null}function ch(e,t){var n=e;"keep"!==t&&(n=e.getContent());var r=n.getIdentifier(),i=lh(n,t);if(null===i)return null;var a=uh[i][r];if(bt(a,"associativity")){if("left"===a.associativity)return"left";if("right"===a.associativity)return"right";throw Error("'"+r+"' has the invalid associativity '"+a.associativity+"'.")}return null}function fh(e,t,n){var r="keep"!==n?e.getContent():e,i="keep"!==n?e.getContent():t,a=r.getIdentifier(),o=i.getIdentifier(),s=lh(r,n);if(null===s)return null;var u=uh[s][a];if(bt(u,"associativeWith")&&u.associativeWith instanceof Array){for(var l=0;l<u.associativeWith.length;l++)if(u.associativeWith[l]===o)return!0;return!1}return null}var ph=Sn("AssignmentNode",["subset","?matrix","Node"],function(e){var t=e.subset,n=e.matrix,r=e.Node,i=ih({subset:t}),a=function(e){var t=e.subset,n=e.matrix;return function(e,r,i){try{if(Array.isArray(e))return n(e).subset(r,i).valueOf();if(e&&"function"==typeof e.subset)return e.subset(r,i);if("string"==typeof e)return t(e,r,i);if("object"===sh(e)){if(!r.isObjectProperty())throw TypeError("Cannot apply a numeric index as object property");return fl(e,r.getObjectProperty(),i),e}throw new TypeError("Cannot apply index: unsupported type of object")}catch(e){throw nh(e)}}}({subset:t,matrix:n});function o(e,t,n){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(this.object=e,this.index=n?t:null,this.value=n||t,!ht(e)&&!Qe(e))throw new TypeError('SymbolNode or AccessorNode expected as "object"');if(ht(e)&&"end"===e.name)throw new Error('Cannot assign to symbol "end"');if(this.index&&!st(this.index))throw new TypeError('IndexNode expected as "index"');if(!ut(this.value))throw new TypeError('Node expected as "value"');Object.defineProperty(this,"name",{get:function(){return this.index?this.index.isObjectProperty()?this.index.getObjectProperty():"":this.object.name||""}.bind(this),set:function(){throw new Error("Cannot assign a new name, name is read-only")}})}function s(e,t){t||(t="keep");var n=lh(e,t),r=lh(e.value,t);return"all"===t||null!==r&&r<=n}return o.prototype=new r,o.prototype.type="AssignmentNode",o.prototype.isAssignmentNode=!0,o.prototype._compile=function(e,t){var n=this.object._compile(e,t),r=this.index?this.index._compile(e,t):null,o=this.value._compile(e,t),s=this.object.name;if(this.index){if(this.index.isObjectProperty()){var u=this.index.getObjectProperty();return function(e,t,r){var i=n(e,t,r),a=o(e,t,r);return fl(i,u,a)}}if(ht(this.object))return function(e,t,i){var u=n(e,t,i),l=o(e,t,i),c=r(e,t,u);return fl(e,s,a(u,c,l)),l};var l=this.object.object._compile(e,t);if(this.object.index.isObjectProperty()){var c=this.object.index.getObjectProperty();return function(e,t,n){var i=l(e,t,n),s=cl(i,c),u=r(e,t,s),f=o(e,t,n);return fl(i,c,a(s,u,f)),f}}var f=this.object.index._compile(e,t);return function(e,t,n){var s=l(e,t,n),u=f(e,t,s),c=i(s,u),p=r(e,t,c),h=o(e,t,n);return a(s,u,a(c,p,h)),h}}if(!ht(this.object))throw new TypeError("SymbolNode expected as object");return function(e,t,n){return fl(e,s,o(e,t,n))}},o.prototype.forEach=function(e){e(this.object,"object",this),this.index&&e(this.index,"index",this),e(this.value,"value",this)},o.prototype.map=function(e){return new o(this._ifNode(e(this.object,"object",this)),this.index?this._ifNode(e(this.index,"index",this)):null,this._ifNode(e(this.value,"value",this)))},o.prototype.clone=function(){return new o(this.object,this.index,this.value)},o.prototype._toString=function(e){var t=this.object.toString(e),n=this.index?this.index.toString(e):"",r=this.value.toString(e);return s(this,e&&e.parenthesis)&&(r="("+r+")"),t+n+" = "+r},o.prototype.toJSON=function(){return{mathjs:"AssignmentNode",object:this.object,index:this.index,value:this.value}},o.fromJSON=function(e){return new o(e.object,e.index,e.value)},o.prototype.toHTML=function(e){var t=this.object.toHTML(e),n=this.index?this.index.toHTML(e):"",r=this.value.toHTML(e);return s(this,e&&e.parenthesis)&&(r='<span class="math-paranthesis math-round-parenthesis">(</span>'+r+'<span class="math-paranthesis math-round-parenthesis">)</span>'),t+n+'<span class="math-operator math-assignment-operator math-variable-assignment-operator math-binary-operator">=</span>'+r},o.prototype._toTex=function(e){var t=this.object.toTex(e),n=this.index?this.index.toTex(e):"",r=this.value.toTex(e);return s(this,e&&e.parenthesis)&&(r="\\left(".concat(r,"\\right)")),t+n+":="+r},o},{isClass:!0,isNode:!0}),hh=Sn("BlockNode",["ResultSet","Node"],function(e){var t=e.ResultSet,n=e.Node;function r(e){if(!(this instanceof r))throw new SyntaxError("Constructor must be called with the new operator");if(!Array.isArray(e))throw new Error("Array expected");this.blocks=e.map(function(e){var t=e&&e.node,n=!e||void 0===e.visible||e.visible;if(!ut(t))throw new TypeError('Property "node" must be a Node');if("boolean"!=typeof n)throw new TypeError('Property "visible" must be a boolean');return{node:t,visible:n}})}return r.prototype=new n,r.prototype.type="BlockNode",r.prototype.isBlockNode=!0,r.prototype._compile=function(e,n){var r=gn(this.blocks,function(t){return{evaluate:t.node._compile(e,n),visible:t.visible}});return function(e,n,i){var a=[];return yn(r,function(t){var r=t.evaluate(e,n,i);t.visible&&a.push(r)}),new t(a)}},r.prototype.forEach=function(e){for(var t=0;t<this.blocks.length;t++)e(this.blocks[t].node,"blocks["+t+"].node",this)},r.prototype.map=function(e){for(var t=[],n=0;n<this.blocks.length;n++){var i=this.blocks[n],a=this._ifNode(e(i.node,"blocks["+n+"].node",this));t[n]={node:a,visible:i.visible}}return new r(t)},r.prototype.clone=function(){return new r(this.blocks.map(function(e){return{node:e.node,visible:e.visible}}))},r.prototype._toString=function(e){return this.blocks.map(function(t){return t.node.toString(e)+(t.visible?"":";")}).join("\n")},r.prototype.toJSON=function(){return{mathjs:"BlockNode",blocks:this.blocks}},r.fromJSON=function(e){return new r(e.blocks)},r.prototype.toHTML=function(e){return this.blocks.map(function(t){return t.node.toHTML(e)+(t.visible?"":'<span class="math-separator">;</span>')}).join('<span class="math-separator"><br /></span>')},r.prototype._toTex=function(e){return this.blocks.map(function(t){return t.node.toTex(e)+(t.visible?"":";")}).join("\\;\\;\n")},r},{isClass:!0,isNode:!0}),dh=Sn("ConditionalNode",["Node"],function(e){var t=e.Node;function n(e,t,r){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(!ut(e))throw new TypeError("Parameter condition must be a Node");if(!ut(t))throw new TypeError("Parameter trueExpr must be a Node");if(!ut(r))throw new TypeError("Parameter falseExpr must be a Node");this.condition=e,this.trueExpr=t,this.falseExpr=r}return n.prototype=new t,n.prototype.type="ConditionalNode",n.prototype.isConditionalNode=!0,n.prototype._compile=function(e,t){var n=this.condition._compile(e,t),r=this.trueExpr._compile(e,t),i=this.falseExpr._compile(e,t);return function(e,t,a){return function(e){if("number"==typeof e||"boolean"==typeof e||"string"==typeof e)return!!e;if(e){if(Re(e))return!e.isZero();if(De(e))return!(!e.re&&!e.im);if(Pe(e))return!!e.value}if(null==e)return!1;throw new TypeError('Unsupported type of condition "'+mt(e)+'"')}(n(e,t,a))?r(e,t,a):i(e,t,a)}},n.prototype.forEach=function(e){e(this.condition,"condition",this),e(this.trueExpr,"trueExpr",this),e(this.falseExpr,"falseExpr",this)},n.prototype.map=function(e){return new n(this._ifNode(e(this.condition,"condition",this)),this._ifNode(e(this.trueExpr,"trueExpr",this)),this._ifNode(e(this.falseExpr,"falseExpr",this)))},n.prototype.clone=function(){return new n(this.condition,this.trueExpr,this.falseExpr)},n.prototype._toString=function(e){var t=e&&e.parenthesis?e.parenthesis:"keep",n=lh(this,t),r=this.condition.toString(e),i=lh(this.condition,t);("all"===t||"OperatorNode"===this.condition.type||null!==i&&i<=n)&&(r="("+r+")");var a=this.trueExpr.toString(e),o=lh(this.trueExpr,t);("all"===t||"OperatorNode"===this.trueExpr.type||null!==o&&o<=n)&&(a="("+a+")");var s=this.falseExpr.toString(e),u=lh(this.falseExpr,t);return("all"===t||"OperatorNode"===this.falseExpr.type||null!==u&&u<=n)&&(s="("+s+")"),r+" ? "+a+" : "+s},n.prototype.toJSON=function(){return{mathjs:"ConditionalNode",condition:this.condition,trueExpr:this.trueExpr,falseExpr:this.falseExpr}},n.fromJSON=function(e){return new n(e.condition,e.trueExpr,e.falseExpr)},n.prototype.toHTML=function(e){var t=e&&e.parenthesis?e.parenthesis:"keep",n=lh(this,t),r=this.condition.toHTML(e),i=lh(this.condition,t);("all"===t||"OperatorNode"===this.condition.type||null!==i&&i<=n)&&(r='<span class="math-parenthesis math-round-parenthesis">(</span>'+r+'<span class="math-parenthesis math-round-parenthesis">)</span>');var a=this.trueExpr.toHTML(e),o=lh(this.trueExpr,t);("all"===t||"OperatorNode"===this.trueExpr.type||null!==o&&o<=n)&&(a='<span class="math-parenthesis math-round-parenthesis">(</span>'+a+'<span class="math-parenthesis math-round-parenthesis">)</span>');var s=this.falseExpr.toHTML(e),u=lh(this.falseExpr,t);return("all"===t||"OperatorNode"===this.falseExpr.type||null!==u&&u<=n)&&(s='<span class="math-parenthesis math-round-parenthesis">(</span>'+s+'<span class="math-parenthesis math-round-parenthesis">)</span>'),r+'<span class="math-operator math-conditional-operator">?</span>'+a+'<span class="math-operator math-conditional-operator">:</span>'+s},n.prototype._toTex=function(e){return"\\begin{cases} {"+this.trueExpr.toTex(e)+"}, &\\quad{\\text{if }\\;"+this.condition.toTex(e)+"}\\\\{"+this.falseExpr.toTex(e)+"}, &\\quad{\\text{otherwise}}\\end{cases}"},n},{isClass:!0,isNode:!0}),mh=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},gh={"{":"\\{","}":"\\}","\\":"\\textbackslash{}","#":"\\#",$:"\\$","%":"\\%","&":"\\&","^":"\\textasciicircum{}",_:"\\_","~":"\\textasciitilde{}"},yh={"–":"\\--","—":"\\---"," ":"~","\t":"\\qquad{}","\r\n":"\\newline{}","\n":"\\newline{}"},vh=function(e,t){return mh({},e,t)},xh={Alpha:"A",alpha:"\\alpha",Beta:"B",beta:"\\beta",Gamma:"\\Gamma",gamma:"\\gamma",Delta:"\\Delta",delta:"\\delta",Epsilon:"E",epsilon:"\\epsilon",varepsilon:"\\varepsilon",Zeta:"Z",zeta:"\\zeta",Eta:"H",eta:"\\eta",Theta:"\\Theta",theta:"\\theta",vartheta:"\\vartheta",Iota:"I",iota:"\\iota",Kappa:"K",kappa:"\\kappa",varkappa:"\\varkappa",Lambda:"\\Lambda",lambda:"\\lambda",Mu:"M",mu:"\\mu",Nu:"N",nu:"\\nu",Xi:"\\Xi",xi:"\\xi",Omicron:"O",omicron:"o",Pi:"\\Pi",pi:"\\pi",varpi:"\\varpi",Rho:"P",rho:"\\rho",varrho:"\\varrho",Sigma:"\\Sigma",sigma:"\\sigma",varsigma:"\\varsigma",Tau:"T",tau:"\\tau",Upsilon:"\\Upsilon",upsilon:"\\upsilon",Phi:"\\Phi",phi:"\\phi",varphi:"\\varphi",Chi:"X",chi:"\\chi",Psi:"\\Psi",psi:"\\psi",Omega:"\\Omega",omega:"\\omega",true:"\\mathrm{True}",false:"\\mathrm{False}",i:"i",inf:"\\infty",Inf:"\\infty",infinity:"\\infty",Infinity:"\\infty",oo:"\\infty",lim:"\\lim",undefined:"\\mathbf{?}"},bh={transpose:"^\\top",ctranspose:"^H",factorial:"!",pow:"^",dotPow:".^\\wedge",unaryPlus:"+",unaryMinus:"-",bitNot:"\\~",not:"\\neg",multiply:"\\cdot",divide:"\\frac",dotMultiply:".\\cdot",dotDivide:".:",mod:"\\mod",add:"+",subtract:"-",to:"\\rightarrow",leftShift:"<<",rightArithShift:">>",rightLogShift:">>>",equal:"=",unequal:"\\neq",smaller:"<",larger:">",smallerEq:"\\leq",largerEq:"\\geq",bitAnd:"\\&",bitXor:"\\underline{|}",bitOr:"|",and:"\\wedge",xor:"\\veebar",or:"\\vee"},wh={abs:{1:"\\left|${args[0]}\\right|"},add:{2:"\\left(${args[0]}".concat(bh.add,"${args[1]}\\right)")},cbrt:{1:"\\sqrt[3]{${args[0]}}"},ceil:{1:"\\left\\lceil${args[0]}\\right\\rceil"},cube:{1:"\\left(${args[0]}\\right)^3"},divide:{2:"\\frac{${args[0]}}{${args[1]}}"},dotDivide:{2:"\\left(${args[0]}".concat(bh.dotDivide,"${args[1]}\\right)")},dotMultiply:{2:"\\left(${args[0]}".concat(bh.dotMultiply,"${args[1]}\\right)")},dotPow:{2:"\\left(${args[0]}".concat(bh.dotPow,"${args[1]}\\right)")},exp:{1:"\\exp\\left(${args[0]}\\right)"},expm1:"\\left(e".concat(bh.pow,"{${args[0]}}-1\\right)"),fix:{1:"\\mathrm{${name}}\\left(${args[0]}\\right)"},floor:{1:"\\left\\lfloor${args[0]}\\right\\rfloor"},gcd:"\\gcd\\left(${args}\\right)",hypot:"\\hypot\\left(${args}\\right)",log:{1:"\\ln\\left(${args[0]}\\right)",2:"\\log_{${args[1]}}\\left(${args[0]}\\right)"},log10:{1:"\\log_{10}\\left(${args[0]}\\right)"},log1p:{1:"\\ln\\left(${args[0]}+1\\right)",2:"\\log_{${args[1]}}\\left(${args[0]}+1\\right)"},log2:"\\log_{2}\\left(${args[0]}\\right)",mod:{2:"\\left(${args[0]}".concat(bh.mod,"${args[1]}\\right)")},multiply:{2:"\\left(${args[0]}".concat(bh.multiply,"${args[1]}\\right)")},norm:{1:"\\left\\|${args[0]}\\right\\|",2:void 0},nthRoot:{2:"\\sqrt[${args[1]}]{${args[0]}}"},nthRoots:{2:"\\{y : $y^{args[1]} = {${args[0]}}\\}"},pow:{2:"\\left(${args[0]}\\right)".concat(bh.pow,"{${args[1]}}")},round:{1:"\\left\\lfloor${args[0]}\\right\\rceil",2:void 0},sign:{1:"\\mathrm{${name}}\\left(${args[0]}\\right)"},sqrt:{1:"\\sqrt{${args[0]}}"},square:{1:"\\left(${args[0]}\\right)^2"},subtract:{2:"\\left(${args[0]}".concat(bh.subtract,"${args[1]}\\right)")},unaryMinus:{1:"".concat(bh.unaryMinus,"\\left(${args[0]}\\right)")},unaryPlus:{1:"".concat(bh.unaryPlus,"\\left(${args[0]}\\right)")},bitAnd:{2:"\\left(${args[0]}".concat(bh.bitAnd,"${args[1]}\\right)")},bitNot:{1:bh.bitNot+"\\left(${args[0]}\\right)"},bitOr:{2:"\\left(${args[0]}".concat(bh.bitOr,"${args[1]}\\right)")},bitXor:{2:"\\left(${args[0]}".concat(bh.bitXor,"${args[1]}\\right)")},leftShift:{2:"\\left(${args[0]}".concat(bh.leftShift,"${args[1]}\\right)")},rightArithShift:{2:"\\left(${args[0]}".concat(bh.rightArithShift,"${args[1]}\\right)")},rightLogShift:{2:"\\left(${args[0]}".concat(bh.rightLogShift,"${args[1]}\\right)")},bellNumbers:{1:"\\mathrm{B}_{${args[0]}}"},catalan:{1:"\\mathrm{C}_{${args[0]}}"},stirlingS2:{2:"\\mathrm{S}\\left(${args}\\right)"},arg:{1:"\\arg\\left(${args[0]}\\right)"},conj:{1:"\\left(${args[0]}\\right)^*"},im:{1:"\\Im\\left\\lbrace${args[0]}\\right\\rbrace"},re:{1:"\\Re\\left\\lbrace${args[0]}\\right\\rbrace"},and:{2:"\\left(${args[0]}".concat(bh.and,"${args[1]}\\right)")},not:{1:bh.not+"\\left(${args[0]}\\right)"},or:{2:"\\left(${args[0]}".concat(bh.or,"${args[1]}\\right)")},xor:{2:"\\left(${args[0]}".concat(bh.xor,"${args[1]}\\right)")},cross:{2:"\\left(${args[0]}\\right)\\times\\left(${args[1]}\\right)"},ctranspose:{1:"\\left(${args[0]}\\right)".concat(bh.ctranspose)},det:{1:"\\det\\left(${args[0]}\\right)"},dot:{2:"\\left(${args[0]}\\cdot${args[1]}\\right)"},expm:{1:"\\exp\\left(${args[0]}\\right)"},inv:{1:"\\left(${args[0]}\\right)^{-1}"},sqrtm:{1:"{${args[0]}}".concat(bh.pow,"{\\frac{1}{2}}")},trace:{1:"\\mathrm{tr}\\left(${args[0]}\\right)"},transpose:{1:"\\left(${args[0]}\\right)".concat(bh.transpose)},combinations:{2:"\\binom{${args[0]}}{${args[1]}}"},combinationsWithRep:{2:"\\left(\\!\\!{\\binom{${args[0]}}{${args[1]}}}\\!\\!\\right)"},factorial:{1:"\\left(${args[0]}\\right)".concat(bh.factorial)},gamma:{1:"\\Gamma\\left(${args[0]}\\right)"},equal:{2:"\\left(${args[0]}".concat(bh.equal,"${args[1]}\\right)")},larger:{2:"\\left(${args[0]}".concat(bh.larger,"${args[1]}\\right)")},largerEq:{2:"\\left(${args[0]}".concat(bh.largerEq,"${args[1]}\\right)")},smaller:{2:"\\left(${args[0]}".concat(bh.smaller,"${args[1]}\\right)")},smallerEq:{2:"\\left(${args[0]}".concat(bh.smallerEq,"${args[1]}\\right)")},unequal:{2:"\\left(${args[0]}".concat(bh.unequal,"${args[1]}\\right)")},erf:{1:"erf\\left(${args[0]}\\right)"},max:"\\max\\left(${args}\\right)",min:"\\min\\left(${args}\\right)",variance:"\\mathrm{Var}\\left(${args}\\right)",acos:{1:"\\cos^{-1}\\left(${args[0]}\\right)"},acosh:{1:"\\cosh^{-1}\\left(${args[0]}\\right)"},acot:{1:"\\cot^{-1}\\left(${args[0]}\\right)"},acoth:{1:"\\coth^{-1}\\left(${args[0]}\\right)"},acsc:{1:"\\csc^{-1}\\left(${args[0]}\\right)"},acsch:{1:"\\mathrm{csch}^{-1}\\left(${args[0]}\\right)"},asec:{1:"\\sec^{-1}\\left(${args[0]}\\right)"},asech:{1:"\\mathrm{sech}^{-1}\\left(${args[0]}\\right)"},asin:{1:"\\sin^{-1}\\left(${args[0]}\\right)"},asinh:{1:"\\sinh^{-1}\\left(${args[0]}\\right)"},atan:{1:"\\tan^{-1}\\left(${args[0]}\\right)"},atan2:{2:"\\mathrm{atan2}\\left(${args}\\right)"},atanh:{1:"\\tanh^{-1}\\left(${args[0]}\\right)"},cos:{1:"\\cos\\left(${args[0]}\\right)"},cosh:{1:"\\cosh\\left(${args[0]}\\right)"},cot:{1:"\\cot\\left(${args[0]}\\right)"},coth:{1:"\\coth\\left(${args[0]}\\right)"},csc:{1:"\\csc\\left(${args[0]}\\right)"},csch:{1:"\\mathrm{csch}\\left(${args[0]}\\right)"},sec:{1:"\\sec\\left(${args[0]}\\right)"},sech:{1:"\\mathrm{sech}\\left(${args[0]}\\right)"},sin:{1:"\\sin\\left(${args[0]}\\right)"},sinh:{1:"\\sinh\\left(${args[0]}\\right)"},tan:{1:"\\tan\\left(${args[0]}\\right)"},tanh:{1:"\\tanh\\left(${args[0]}\\right)"},to:{2:"\\left(${args[0]}".concat(bh.to,"${args[1]}\\right)")},numeric:function(e,t){return e.args[0].toTex()},number:{0:"0",1:"\\left(${args[0]}\\right)",2:"\\left(\\left(${args[0]}\\right)${args[1]}\\right)"},string:{0:'\\mathtt{""}',1:"\\mathrm{string}\\left(${args[0]}\\right)"},bignumber:{0:"0",1:"\\left(${args[0]}\\right)"},complex:{0:"0",1:"\\left(${args[0]}\\right)",2:"\\left(\\left(${args[0]}\\right)+".concat(xh.i,"\\cdot\\left(${args[1]}\\right)\\right)")},matrix:{0:"\\begin{bmatrix}\\end{bmatrix}",1:"\\left(${args[0]}\\right)",2:"\\left(${args[0]}\\right)"},sparse:{0:"\\begin{bsparse}\\end{bsparse}",1:"\\left(${args[0]}\\right)"},unit:{1:"\\left(${args[0]}\\right)",2:"\\left(\\left(${args[0]}\\right)${args[1]}\\right)"}},Nh={deg:"^\\circ"};function Eh(e){return function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.preserveFormatting,r=void 0!==n&&n,i=t.escapeMapFn,a=void 0===i?vh:i,o=String(e),s="",u=a(mh({},gh),r?mh({},yh):{}),l=Object.keys(u),c=function(){var e=!1;l.forEach(function(t,n){e||o.length>=t.length&&o.slice(0,t.length)===t&&(s+=u[l[n]],o=o.slice(t.length,o.length),e=!0)}),e||(s+=o.slice(0,1),o=o.slice(1,o.length))};o;)c();return s}(e,{preserveFormatting:!0})}function Sh(e,t){return(t=void 0!==t&&t)?bt(Nh,e)?Nh[e]:"\\mathrm{"+Eh(e)+"}":bt(xh,e)?xh[e]:Eh(e)}var Mh=Sn("ConstantNode",["Node"],function(e){var t=e.Node;function n(e){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this.value=e}return n.prototype=new t,n.prototype.type="ConstantNode",n.prototype.isConstantNode=!0,n.prototype._compile=function(e,t){var n=this.value;return function(){return n}},n.prototype.forEach=function(e){},n.prototype.map=function(e){return this.clone()},n.prototype.clone=function(){return new n(this.value)},n.prototype._toString=function(e){return Jt(this.value,e)},n.prototype.toHTML=function(e){var t=this._toString(e);switch(mt(this.value)){case"number":case"BigNumber":case"Fraction":return'<span class="math-number">'+t+"</span>";case"string":return'<span class="math-string">'+t+"</span>";case"boolean":return'<span class="math-boolean">'+t+"</span>";case"null":return'<span class="math-null-symbol">'+t+"</span>";case"undefined":return'<span class="math-undefined">'+t+"</span>";default:return'<span class="math-symbol">'+t+"</span>"}},n.prototype.toJSON=function(){return{mathjs:"ConstantNode",value:this.value}},n.fromJSON=function(e){return new n(e.value)},n.prototype._toTex=function(e){var t=this._toString(e);switch(mt(this.value)){case"string":return"\\mathtt{"+Eh(t)+"}";case"number":case"BigNumber":if(!isFinite(this.value))return this.value.valueOf()<0?"-\\infty":"\\infty";var n=t.toLowerCase().indexOf("e");return-1!==n?t.substring(0,n)+"\\cdot10^{"+t.substring(n+1)+"}":t;case"Fraction":return this.value.toLatex();default:return t}},n},{isClass:!0,isNode:!0}),Ah=Sn("FunctionAssignmentNode",["typed","Node"],function(e){var t=e.typed,n=e.Node;function r(e,t,n){if(!(this instanceof r))throw new SyntaxError("Constructor must be called with the new operator");if("string"!=typeof e)throw new TypeError('String expected for parameter "name"');if(!Array.isArray(t))throw new TypeError('Array containing strings or objects expected for parameter "params"');if(!ut(n))throw new TypeError('Node expected for parameter "expr"');if(e in Qp)throw new Error('Illegal function name, "'+e+'" is a reserved keyword');this.name=e,this.params=t.map(function(e){return e&&e.name||e}),this.types=t.map(function(e){return e&&e.type||"any"}),this.expr=n}function i(e,t){var n=lh(e,t),r=lh(e.expr,t);return"all"===t||null!==r&&r<=n}return r.prototype=new n,r.prototype.type="FunctionAssignmentNode",r.prototype.isFunctionAssignmentNode=!0,r.prototype._compile=function(e,n){var r=Object.create(n);yn(this.params,function(e){r[e]=!0});var i=this.expr._compile(e,r),a=this.name,o=this.params,s=bn(this.types,","),u=a+"("+bn(this.params,", ")+")";return function(e,n,r){var l={};l[s]=function(){for(var t=Object.create(n),a=0;a<o.length;a++)t[o[a]]=arguments[a];return i(e,t,r)};var c=t(a,l);return c.syntax=u,fl(e,a,c),c}},r.prototype.forEach=function(e){e(this.expr,"expr",this)},r.prototype.map=function(e){var t=this._ifNode(e(this.expr,"expr",this));return new r(this.name,this.params.slice(0),t)},r.prototype.clone=function(){return new r(this.name,this.params.slice(0),this.expr)},r.prototype._toString=function(e){var t=e&&e.parenthesis?e.parenthesis:"keep",n=this.expr.toString(e);return i(this,t)&&(n="("+n+")"),this.name+"("+this.params.join(", ")+") = "+n},r.prototype.toJSON=function(){var e=this.types;return{mathjs:"FunctionAssignmentNode",name:this.name,params:this.params.map(function(t,n){return{name:t,type:e[n]}}),expr:this.expr}},r.fromJSON=function(e){return new r(e.name,e.params,e.expr)},r.prototype.toHTML=function(e){for(var t=e&&e.parenthesis?e.parenthesis:"keep",n=[],r=0;r<this.params.length;r++)n.push('<span class="math-symbol math-parameter">'+Kt(this.params[r])+"</span>");var a=this.expr.toHTML(e);return i(this,t)&&(a='<span class="math-parenthesis math-round-parenthesis">(</span>'+a+'<span class="math-parenthesis math-round-parenthesis">)</span>'),'<span class="math-function">'+Kt(this.name)+'</span><span class="math-parenthesis math-round-parenthesis">(</span>'+n.join('<span class="math-separator">,</span>')+'<span class="math-parenthesis math-round-parenthesis">)</span><span class="math-operator math-assignment-operator math-variable-assignment-operator math-binary-operator">=</span>'+a},r.prototype._toTex=function(e){var t=e&&e.parenthesis?e.parenthesis:"keep",n=this.expr.toTex(e);return i(this,t)&&(n="\\left(".concat(n,"\\right)")),"\\mathrm{"+this.name+"}\\left("+this.params.map(Sh).join(",")+"\\right):="+n},r},{isClass:!0,isNode:!0});function Ch(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Oh=Sn("IndexNode",["Range","Node","size"],function(e){var t=e.Range,n=e.Node,r=e.size;function i(e,t){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");if(this.dimensions=e,this.dotNotation=t||!1,!Array.isArray(e)||!e.every(ut))throw new TypeError('Array containing Nodes expected for parameter "dimensions"');if(this.dotNotation&&!this.isObjectProperty())throw new Error("dotNotation only applicable for object properties")}function a(e,n,r){return new t(Re(e)?e.toNumber():e,Re(n)?n.toNumber():n,Re(r)?r.toNumber():r)}return i.prototype=new n,i.prototype.type="IndexNode",i.prototype.isIndexNode=!0,i.prototype._compile=function(e,t){var n=gn(this.dimensions,function(n,i){if(pt(n)){if(n.needsEnd()){var o=Object.create(t);o.end=!0;var s=n.start._compile(e,o),u=n.end._compile(e,o),l=n.step?n.step._compile(e,o):function(){return 1};return function(e,t,n){var o=r(n).valueOf(),c=Object.create(t);return c.end=o[i],a(s(e,c,n),u(e,c,n),l(e,c,n))}}var c=n.start._compile(e,t),f=n.end._compile(e,t),p=n.step?n.step._compile(e,t):function(){return 1};return function(e,t,n){return a(c(e,t,n),f(e,t,n),p(e,t,n))}}if(ht(n)&&"end"===n.name){var h=Object.create(t);h.end=!0;var d=n._compile(e,h);return function(e,t,n){var a=r(n).valueOf(),o=Object.create(t);return o.end=a[i],d(e,o,n)}}var m=n._compile(e,t);return function(e,t,n){return m(e,t,n)}}),i=cl(e,"index");return function(e,t,r){var a=gn(n,function(n){return n(e,t,r)});return i.apply(void 0,function(e){return function(e){if(Array.isArray(e))return Ch(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Ch(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ch(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(a))}},i.prototype.forEach=function(e){for(var t=0;t<this.dimensions.length;t++)e(this.dimensions[t],"dimensions["+t+"]",this)},i.prototype.map=function(e){for(var t=[],n=0;n<this.dimensions.length;n++)t[n]=this._ifNode(e(this.dimensions[n],"dimensions["+n+"]",this));return new i(t,this.dotNotation)},i.prototype.clone=function(){return new i(this.dimensions.slice(0),this.dotNotation)},i.prototype.isObjectProperty=function(){return 1===this.dimensions.length&&it(this.dimensions[0])&&"string"==typeof this.dimensions[0].value},i.prototype.getObjectProperty=function(){return this.isObjectProperty()?this.dimensions[0].value:null},i.prototype._toString=function(e){return this.dotNotation?"."+this.getObjectProperty():"["+this.dimensions.join(", ")+"]"},i.prototype.toJSON=function(){return{mathjs:"IndexNode",dimensions:this.dimensions,dotNotation:this.dotNotation}},i.fromJSON=function(e){return new i(e.dimensions,e.dotNotation)},i.prototype.toHTML=function(e){for(var t=[],n=0;n<this.dimensions.length;n++)t[n]=this.dimensions[n].toHTML();return this.dotNotation?'<span class="math-operator math-accessor-operator">.</span><span class="math-symbol math-property">'+Kt(this.getObjectProperty())+"</span>":'<span class="math-parenthesis math-square-parenthesis">[</span>'+t.join('<span class="math-separator">,</span>')+'<span class="math-parenthesis math-square-parenthesis">]</span>'},i.prototype._toTex=function(e){var t=this.dimensions.map(function(t){return t.toTex(e)});return this.dotNotation?"."+this.getObjectProperty():"_{"+t.join(",")+"}"},i},{isClass:!0,isNode:!0});function kh(e){return kh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kh(e)}var Th=Sn("ObjectNode",["Node"],function(e){var t=e.Node;function n(e){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(this.properties=e||{},e&&("object"!==kh(e)||!Object.keys(e).every(function(t){return ut(e[t])})))throw new TypeError("Object containing Nodes expected")}return n.prototype=new t,n.prototype.type="ObjectNode",n.prototype.isObjectNode=!0,n.prototype._compile=function(e,t){var n={};for(var r in this.properties)if(bt(this.properties,r)){var i=Xt(r),a=JSON.parse(i);if(!pl(this.properties,a))throw new Error('No access to property "'+a+'"');n[a]=this.properties[r]._compile(e,t)}return function(e,t,r){var i={};for(var a in n)bt(n,a)&&(i[a]=n[a](e,t,r));return i}},n.prototype.forEach=function(e){for(var t in this.properties)bt(this.properties,t)&&e(this.properties[t],"properties["+Xt(t)+"]",this)},n.prototype.map=function(e){var t={};for(var r in this.properties)bt(this.properties,r)&&(t[r]=this._ifNode(e(this.properties[r],"properties["+Xt(r)+"]",this)));return new n(t)},n.prototype.clone=function(){var e={};for(var t in this.properties)bt(this.properties,t)&&(e[t]=this.properties[t]);return new n(e)},n.prototype._toString=function(e){var t=[];for(var n in this.properties)bt(this.properties,n)&&t.push(Xt(n)+": "+this.properties[n].toString(e));return"{"+t.join(", ")+"}"},n.prototype.toJSON=function(){return{mathjs:"ObjectNode",properties:this.properties}},n.fromJSON=function(e){return new n(e.properties)},n.prototype.toHTML=function(e){var t=[];for(var n in this.properties)bt(this.properties,n)&&t.push('<span class="math-symbol math-property">'+Kt(n)+'</span><span class="math-operator math-assignment-operator math-property-assignment-operator math-binary-operator">:</span>'+this.properties[n].toHTML(e));return'<span class="math-parenthesis math-curly-parenthesis">{</span>'+t.join('<span class="math-separator">,</span>')+'<span class="math-parenthesis math-curly-parenthesis">}</span>'},n.prototype._toTex=function(e){var t=[];for(var n in this.properties)bt(this.properties,n)&&t.push("\\mathbf{"+n+":} & "+this.properties[n].toTex(e)+"\\\\");return"\\left\\{\\begin{array}{ll}".concat(t.join("\n"),"\\end{array}\\right\\}")},n},{isClass:!0,isNode:!0}),_h=Sn("OperatorNode",["Node"],function(e){var t=e.Node;function n(e,t,r,i){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if("string"!=typeof e)throw new TypeError('string expected for parameter "op"');if("string"!=typeof t)throw new TypeError('string expected for parameter "fn"');if(!Array.isArray(r)||!r.every(ut))throw new TypeError('Array containing Nodes expected for parameter "args"');this.implicit=!0===i,this.op=e,this.fn=t,this.args=r||[]}function r(e,t,n,r,i){var a,o=lh(e,t),s=ch(e,t);if("all"===t||r.length>2&&"OperatorNode:add"!==e.getIdentifier()&&"OperatorNode:multiply"!==e.getIdentifier())return r.map(function(e){switch(e.getContent().type){case"ArrayNode":case"ConstantNode":case"SymbolNode":case"ParenthesisNode":return!1;default:return!0}});switch(r.length){case 0:a=[];break;case 1:var u=lh(r[0],t);if(i&&null!==u){var l,c;if("keep"===t?(l=r[0].getIdentifier(),c=e.getIdentifier()):(l=r[0].getContent().getIdentifier(),c=e.getContent().getIdentifier()),!1===uh[o][c].latexLeftParens){a=[!1];break}if(!1===uh[u][l].latexParens){a=[!1];break}}if(null===u){a=[!1];break}if(u<=o){a=[!0];break}a=[!1];break;case 2:var f,p,h=lh(r[0],t),d=fh(e,r[0],t);f=null!==h&&(h===o&&"right"===s&&!d||h<o);var m,g,y,v=lh(r[1],t),x=fh(e,r[1],t);p=null!==v&&(v===o&&"left"===s&&!x||v<o),i&&("keep"===t?(m=e.getIdentifier(),g=e.args[0].getIdentifier(),y=e.args[1].getIdentifier()):(m=e.getContent().getIdentifier(),g=e.args[0].getContent().getIdentifier(),y=e.args[1].getContent().getIdentifier()),null!==h&&(!1===uh[o][m].latexLeftParens&&(f=!1),!1===uh[h][g].latexParens&&(f=!1)),null!==v&&(!1===uh[o][m].latexRightParens&&(p=!1),!1===uh[v][y].latexParens&&(p=!1))),a=[f,p];break;default:"OperatorNode:add"!==e.getIdentifier()&&"OperatorNode:multiply"!==e.getIdentifier()||(a=r.map(function(n){var r=lh(n,t),i=fh(e,n,t),a=ch(n,t);return null!==r&&(o===r&&s===a&&!i||r<o)}))}return r.length>=2&&"OperatorNode:multiply"===e.getIdentifier()&&e.implicit&&"auto"===t&&"hide"===n&&(a=r.map(function(e,t){var n="ParenthesisNode"===e.getIdentifier();return!(!a[t]&&!n)})),a}return n.prototype=new t,n.prototype.type="OperatorNode",n.prototype.isOperatorNode=!0,n.prototype._compile=function(e,t){if("string"!=typeof this.fn||!hl(e,this.fn))throw e[this.fn]?new Error('No access to function "'+this.fn+'"'):new Error("Function "+this.fn+' missing in provided namespace "math"');var n=cl(e,this.fn),r=gn(this.args,function(n){return n._compile(e,t)});if(1===r.length){var i=r[0];return function(e,t,r){return n(i(e,t,r))}}if(2===r.length){var a=r[0],o=r[1];return function(e,t,r){return n(a(e,t,r),o(e,t,r))}}return function(e,t,i){return n.apply(null,gn(r,function(n){return n(e,t,i)}))}},n.prototype.forEach=function(e){for(var t=0;t<this.args.length;t++)e(this.args[t],"args["+t+"]",this)},n.prototype.map=function(e){for(var t=[],r=0;r<this.args.length;r++)t[r]=this._ifNode(e(this.args[r],"args["+r+"]",this));return new n(this.op,this.fn,t,this.implicit)},n.prototype.clone=function(){return new n(this.op,this.fn,this.args.slice(0),this.implicit)},n.prototype.isUnary=function(){return 1===this.args.length},n.prototype.isBinary=function(){return 2===this.args.length},n.prototype._toString=function(e){var t=e&&e.parenthesis?e.parenthesis:"keep",n=e&&e.implicit?e.implicit:"hide",i=this.args,a=r(this,t,n,i,!1);if(1===i.length){var o=ch(this,t),s=i[0].toString(e);a[0]&&(s="("+s+")");var u=/[a-zA-Z]+/.test(this.op);return"right"===o?this.op+(u?" ":"")+s:"left"===o?s+(u?" ":"")+this.op:s+this.op}if(2===i.length){var l=i[0].toString(e),c=i[1].toString(e);return a[0]&&(l="("+l+")"),a[1]&&(c="("+c+")"),this.implicit&&"OperatorNode:multiply"===this.getIdentifier()&&"hide"===n?l+" "+c:l+" "+this.op+" "+c}if(i.length>2&&("OperatorNode:add"===this.getIdentifier()||"OperatorNode:multiply"===this.getIdentifier())){var f=i.map(function(t,n){return t=t.toString(e),a[n]&&(t="("+t+")"),t});return this.implicit&&"OperatorNode:multiply"===this.getIdentifier()&&"hide"===n?f.join(" "):f.join(" "+this.op+" ")}return this.fn+"("+this.args.join(", ")+")"},n.prototype.toJSON=function(){return{mathjs:"OperatorNode",op:this.op,fn:this.fn,args:this.args,implicit:this.implicit}},n.fromJSON=function(e){return new n(e.op,e.fn,e.args,e.implicit)},n.prototype.toHTML=function(e){var t=e&&e.parenthesis?e.parenthesis:"keep",n=e&&e.implicit?e.implicit:"hide",i=this.args,a=r(this,t,n,i,!1);if(1===i.length){var o=ch(this,t),s=i[0].toHTML(e);return a[0]&&(s='<span class="math-parenthesis math-round-parenthesis">(</span>'+s+'<span class="math-parenthesis math-round-parenthesis">)</span>'),"right"===o?'<span class="math-operator math-unary-operator math-lefthand-unary-operator">'+Kt(this.op)+"</span>"+s:s+'<span class="math-operator math-unary-operator math-righthand-unary-operator">'+Kt(this.op)+"</span>"}if(2===i.length){var u=i[0].toHTML(e),l=i[1].toHTML(e);return a[0]&&(u='<span class="math-parenthesis math-round-parenthesis">(</span>'+u+'<span class="math-parenthesis math-round-parenthesis">)</span>'),a[1]&&(l='<span class="math-parenthesis math-round-parenthesis">(</span>'+l+'<span class="math-parenthesis math-round-parenthesis">)</span>'),this.implicit&&"OperatorNode:multiply"===this.getIdentifier()&&"hide"===n?u+'<span class="math-operator math-binary-operator math-implicit-binary-operator"></span>'+l:u+'<span class="math-operator math-binary-operator math-explicit-binary-operator">'+Kt(this.op)+"</span>"+l}var c=i.map(function(t,n){return t=t.toHTML(e),a[n]&&(t='<span class="math-parenthesis math-round-parenthesis">(</span>'+t+'<span class="math-parenthesis math-round-parenthesis">)</span>'),t});return i.length>2&&("OperatorNode:add"===this.getIdentifier()||"OperatorNode:multiply"===this.getIdentifier())?this.implicit&&"OperatorNode:multiply"===this.getIdentifier()&&"hide"===n?c.join('<span class="math-operator math-binary-operator math-implicit-binary-operator"></span>'):c.join('<span class="math-operator math-binary-operator math-explicit-binary-operator">'+Kt(this.op)+"</span>"):'<span class="math-function">'+Kt(this.fn)+'</span><span class="math-paranthesis math-round-parenthesis">(</span>'+c.join('<span class="math-separator">,</span>')+'<span class="math-paranthesis math-round-parenthesis">)</span>'},n.prototype._toTex=function(e){var t=e&&e.parenthesis?e.parenthesis:"keep",n=e&&e.implicit?e.implicit:"hide",i=this.args,a=r(this,t,n,i,!0),o=bh[this.fn];if(o=void 0===o?this.op:o,1===i.length){var s=ch(this,t),u=i[0].toTex(e);return a[0]&&(u="\\left(".concat(u,"\\right)")),"right"===s?o+u:u+o}if(2===i.length){var l=i[0],c=l.toTex(e);a[0]&&(c="\\left(".concat(c,"\\right)"));var f,p=i[1].toTex(e);switch(a[1]&&(p="\\left(".concat(p,"\\right)")),f="keep"===t?l.getIdentifier():l.getContent().getIdentifier(),this.getIdentifier()){case"OperatorNode:divide":return o+"{"+c+"}{"+p+"}";case"OperatorNode:pow":switch(c="{"+c+"}",p="{"+p+"}",f){case"ConditionalNode":case"OperatorNode:divide":c="\\left(".concat(c,"\\right)")}break;case"OperatorNode:multiply":if(this.implicit&&"hide"===n)return c+"~"+p}return c+o+p}if(i.length>2&&("OperatorNode:add"===this.getIdentifier()||"OperatorNode:multiply"===this.getIdentifier())){var h=i.map(function(t,n){return t=t.toTex(e),a[n]&&(t="\\left(".concat(t,"\\right)")),t});return"OperatorNode:multiply"===this.getIdentifier()&&this.implicit?h.join("~"):h.join(o)}return"\\mathrm{"+this.fn+"}\\left("+i.map(function(t){return t.toTex(e)}).join(",")+"\\right)"},n.prototype.getIdentifier=function(){return this.type+":"+this.fn},n},{isClass:!0,isNode:!0}),Rh=Sn("ParenthesisNode",["Node"],function(e){var t=e.Node;function n(e){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(!ut(e))throw new TypeError('Node expected for parameter "content"');this.content=e}return n.prototype=new t,n.prototype.type="ParenthesisNode",n.prototype.isParenthesisNode=!0,n.prototype._compile=function(e,t){return this.content._compile(e,t)},n.prototype.getContent=function(){return this.content.getContent()},n.prototype.forEach=function(e){e(this.content,"content",this)},n.prototype.map=function(e){return new n(e(this.content,"content",this))},n.prototype.clone=function(){return new n(this.content)},n.prototype._toString=function(e){return!e||e&&!e.parenthesis||e&&"keep"===e.parenthesis?"("+this.content.toString(e)+")":this.content.toString(e)},n.prototype.toJSON=function(){return{mathjs:"ParenthesisNode",content:this.content}},n.fromJSON=function(e){return new n(e.content)},n.prototype.toHTML=function(e){return!e||e&&!e.parenthesis||e&&"keep"===e.parenthesis?'<span class="math-parenthesis math-round-parenthesis">(</span>'+this.content.toHTML(e)+'<span class="math-parenthesis math-round-parenthesis">)</span>':this.content.toHTML(e)},n.prototype._toTex=function(e){return!e||e&&!e.parenthesis||e&&"keep"===e.parenthesis?"\\left(".concat(this.content.toTex(e),"\\right)"):this.content.toTex(e)},n},{isClass:!0,isNode:!0}),Dh=Sn("RangeNode",["Node"],function(e){var t=e.Node;function n(e,t,r){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(!ut(e))throw new TypeError("Node expected");if(!ut(t))throw new TypeError("Node expected");if(r&&!ut(r))throw new TypeError("Node expected");if(arguments.length>3)throw new Error("Too many arguments");this.start=e,this.end=t,this.step=r||null}function r(e,t){var n=lh(e,t),r={},i=lh(e.start,t);if(r.start=null!==i&&i<=n||"all"===t,e.step){var a=lh(e.step,t);r.step=null!==a&&a<=n||"all"===t}var o=lh(e.end,t);return r.end=null!==o&&o<=n||"all"===t,r}return n.prototype=new t,n.prototype.type="RangeNode",n.prototype.isRangeNode=!0,n.prototype.needsEnd=function(){return this.filter(function(e){return ht(e)&&"end"===e.name}).length>0},n.prototype._compile=function(e,t){var n=e.range,r=this.start._compile(e,t),i=this.end._compile(e,t);if(this.step){var a=this.step._compile(e,t);return function(e,t,o){return n(r(e,t,o),i(e,t,o),a(e,t,o))}}return function(e,t,a){return n(r(e,t,a),i(e,t,a))}},n.prototype.forEach=function(e){e(this.start,"start",this),e(this.end,"end",this),this.step&&e(this.step,"step",this)},n.prototype.map=function(e){return new n(this._ifNode(e(this.start,"start",this)),this._ifNode(e(this.end,"end",this)),this.step&&this._ifNode(e(this.step,"step",this)))},n.prototype.clone=function(){return new n(this.start,this.end,this.step&&this.step)},n.prototype._toString=function(e){var t,n=r(this,e&&e.parenthesis?e.parenthesis:"keep"),i=this.start.toString(e);if(n.start&&(i="("+i+")"),t=i,this.step){var a=this.step.toString(e);n.step&&(a="("+a+")"),t+=":"+a}var o=this.end.toString(e);return n.end&&(o="("+o+")"),t+":"+o},n.prototype.toJSON=function(){return{mathjs:"RangeNode",start:this.start,end:this.end,step:this.step}},n.fromJSON=function(e){return new n(e.start,e.end,e.step)},n.prototype.toHTML=function(e){var t,n=r(this,e&&e.parenthesis?e.parenthesis:"keep"),i=this.start.toHTML(e);if(n.start&&(i='<span class="math-parenthesis math-round-parenthesis">(</span>'+i+'<span class="math-parenthesis math-round-parenthesis">)</span>'),t=i,this.step){var a=this.step.toHTML(e);n.step&&(a='<span class="math-parenthesis math-round-parenthesis">(</span>'+a+'<span class="math-parenthesis math-round-parenthesis">)</span>'),t+='<span class="math-operator math-range-operator">:</span>'+a}var o=this.end.toHTML(e);return n.end&&(o='<span class="math-parenthesis math-round-parenthesis">(</span>'+o+'<span class="math-parenthesis math-round-parenthesis">)</span>'),t+'<span class="math-operator math-range-operator">:</span>'+o},n.prototype._toTex=function(e){var t=r(this,e&&e.parenthesis?e.parenthesis:"keep"),n=this.start.toTex(e);if(t.start&&(n="\\left(".concat(n,"\\right)")),this.step){var i=this.step.toTex(e);t.step&&(i="\\left(".concat(i,"\\right)")),n+=":"+i}var a=this.end.toTex(e);return t.end&&(a="\\left(".concat(a,"\\right)")),n+":"+a},n},{isClass:!0,isNode:!0}),Ih=Sn("RelationalNode",["Node"],function(e){var t=e.Node;function n(e,t){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(!Array.isArray(e))throw new TypeError("Parameter conditionals must be an array");if(!Array.isArray(t))throw new TypeError("Parameter params must be an array");if(e.length!==t.length-1)throw new TypeError("Parameter params must contain exactly one more element than parameter conditionals");this.conditionals=e,this.params=t}return n.prototype=new t,n.prototype.type="RelationalNode",n.prototype.isRelationalNode=!0,n.prototype._compile=function(e,t){var n=this,r=this.params.map(function(n){return n._compile(e,t)});return function(t,i,a){for(var o,s=r[0](t,i,a),u=0;u<n.conditionals.length;u++)if(o=s,s=r[u+1](t,i,a),!cl(e,n.conditionals[u])(o,s))return!1;return!0}},n.prototype.forEach=function(e){var t=this;this.params.forEach(function(n,r){return e(n,"params["+r+"]",t)},this)},n.prototype.map=function(e){var t=this;return new n(this.conditionals.slice(),this.params.map(function(n,r){return t._ifNode(e(n,"params["+r+"]",t))},this))},n.prototype.clone=function(){return new n(this.conditionals,this.params)},n.prototype._toString=function(e){for(var t=e&&e.parenthesis?e.parenthesis:"keep",n=lh(this,t),r=this.params.map(function(r,i){var a=lh(r,t);return"all"===t||null!==a&&a<=n?"("+r.toString(e)+")":r.toString(e)}),i={equal:"==",unequal:"!=",smaller:"<",larger:">",smallerEq:"<=",largerEq:">="},a=r[0],o=0;o<this.conditionals.length;o++)a+=" "+i[this.conditionals[o]]+" "+r[o+1];return a},n.prototype.toJSON=function(){return{mathjs:"RelationalNode",conditionals:this.conditionals,params:this.params}},n.fromJSON=function(e){return new n(e.conditionals,e.params)},n.prototype.toHTML=function(e){for(var t=e&&e.parenthesis?e.parenthesis:"keep",n=lh(this,t),r=this.params.map(function(r,i){var a=lh(r,t);return"all"===t||null!==a&&a<=n?'<span class="math-parenthesis math-round-parenthesis">(</span>'+r.toHTML(e)+'<span class="math-parenthesis math-round-parenthesis">)</span>':r.toHTML(e)}),i={equal:"==",unequal:"!=",smaller:"<",larger:">",smallerEq:"<=",largerEq:">="},a=r[0],o=0;o<this.conditionals.length;o++)a+='<span class="math-operator math-binary-operator math-explicit-binary-operator">'+Kt(i[this.conditionals[o]])+"</span>"+r[o+1];return a},n.prototype._toTex=function(e){for(var t=e&&e.parenthesis?e.parenthesis:"keep",n=lh(this,t),r=this.params.map(function(r,i){var a=lh(r,t);return"all"===t||null!==a&&a<=n?"\\left("+r.toTex(e)+"\right)":r.toTex(e)}),i=r[0],a=0;a<this.conditionals.length;a++)i+=bh[this.conditionals[a]]+r[a+1];return i},n},{isClass:!0,isNode:!0}),Ph=Sn("SymbolNode",["math","?Unit","Node"],function(e){var t=e.math,n=e.Unit,r=e.Node;function i(e){return!!n&&n.isValuelessUnit(e)}function a(e){if(!(this instanceof a))throw new SyntaxError("Constructor must be called with the new operator");if("string"!=typeof e)throw new TypeError('String expected for parameter "name"');this.name=e}return a.prototype=new r,a.prototype.type="SymbolNode",a.prototype.isSymbolNode=!0,a.prototype._compile=function(e,t){var r=this.name;if(!0===t[r])return function(e,t,n){return t[r]};if(r in e)return function(t,n,i){return cl(r in t?t:e,r)};var a=i(r);return function(e,t,i){return r in e?cl(e,r):a?new n(null,r):function(e){throw new Error("Undefined symbol "+e)}(r)}},a.prototype.forEach=function(e){},a.prototype.map=function(e){return this.clone()},a.prototype.clone=function(){return new a(this.name)},a.prototype._toString=function(e){return this.name},a.prototype.toHTML=function(e){var t=Kt(this.name);return"true"===t||"false"===t?'<span class="math-symbol math-boolean">'+t+"</span>":"i"===t?'<span class="math-symbol math-imaginary-symbol">'+t+"</span>":"Infinity"===t?'<span class="math-symbol math-infinity-symbol">'+t+"</span>":"NaN"===t?'<span class="math-symbol math-nan-symbol">'+t+"</span>":"null"===t?'<span class="math-symbol math-null-symbol">'+t+"</span>":"undefined"===t?'<span class="math-symbol math-undefined-symbol">'+t+"</span>":'<span class="math-symbol">'+t+"</span>"},a.prototype.toJSON=function(){return{mathjs:"SymbolNode",name:this.name}},a.fromJSON=function(e){return new a(e.name)},a.prototype._toTex=function(e){var n=!1;void 0===t[this.name]&&i(this.name)&&(n=!0);var r=Sh(this.name,n);return"\\"===r[0]?r:" "+r},a},{isClass:!0,isNode:!0});function qh(e){return qh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},qh(e)}function zh(){return zh=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zh.apply(this,arguments)}var Bh=Sn("FunctionNode",["math","Node","SymbolNode"],function(e){var t=e.math,n=e.Node,r=e.SymbolNode;function i(e,t){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");if("string"==typeof e&&(e=new r(e)),!ut(e))throw new TypeError('Node expected as parameter "fn"');if(!Array.isArray(t)||!t.every(ut))throw new TypeError('Array containing Nodes expected for parameter "args"');this.fn=e,this.args=t||[],Object.defineProperty(this,"name",{get:function(){return this.fn.name||""}.bind(this),set:function(){throw new Error("Cannot assign a new name, name is read-only")}})}i.prototype=new n,i.prototype.type="FunctionNode",i.prototype.isFunctionNode=!0,i.prototype._compile=function(e,t){if(!(this instanceof i))throw new TypeError("No valid FunctionNode");var n=gn(this.args,function(n){return n._compile(e,t)});if(ht(this.fn)){var r=this.fn.name,a=r in e?cl(e,r):void 0;if("function"==typeof a&&!0===a.rawArgs){var o=this.args;return function(t,n,i){return(r in t?cl(t,r):a)(o,e,zh({},t,n))}}if(1===n.length){var s=n[0];return function(e,t,n){return(r in e?cl(e,r):a)(s(e,t,n))}}if(2===n.length){var u=n[0],l=n[1];return function(e,t,n){return(r in e?cl(e,r):a)(u(e,t,n),l(e,t,n))}}return function(e,t,i){return(r in e?cl(e,r):a).apply(null,gn(n,function(n){return n(e,t,i)}))}}if(Qe(this.fn)&&st(this.fn.index)&&this.fn.index.isObjectProperty()){var c=this.fn.object._compile(e,t),f=this.fn.index.getObjectProperty(),p=this.args;return function(t,r,i){var a=c(t,r,i);return function(e,t){if(!hl(e,t))throw new Error('No access to method "'+t+'"')}(a,f),a[f]&&a[f].rawArgs?a[f](p,e,zh({},t,r)):a[f].apply(a,gn(n,function(e){return e(t,r,i)}))}}var h=this.fn._compile(e,t),d=this.args;return function(t,r,i){var a=h(t,r,i);return a&&a.rawArgs?a(d,e,zh({},t,r)):a.apply(a,gn(n,function(e){return e(t,r,i)}))}},i.prototype.forEach=function(e){e(this.fn,"fn",this);for(var t=0;t<this.args.length;t++)e(this.args[t],"args["+t+"]",this)},i.prototype.map=function(e){for(var t=this._ifNode(e(this.fn,"fn",this)),n=[],r=0;r<this.args.length;r++)n[r]=this._ifNode(e(this.args[r],"args["+r+"]",this));return new i(t,n)},i.prototype.clone=function(){return new i(this.fn,this.args.slice(0))};var a=i.prototype.toString;function o(e,t,n){for(var r,i="",a=/\$(?:\{([a-z_][a-z_0-9]*)(?:\[([0-9]+)\])?\}|\$)/gi,o=0;null!==(r=a.exec(e));)if(i+=e.substring(o,r.index),o=r.index,"$$"===r[0])i+="$",o++;else{o+=r[0].length;var s=t[r[1]];if(!s)throw new ReferenceError("Template: Property "+r[1]+" does not exist.");if(void 0===r[2])switch(qh(s)){case"string":i+=s;break;case"object":if(ut(s))i+=s.toTex(n);else{if(!Array.isArray(s))throw new TypeError("Template: "+r[1]+" has to be a Node, String or array of Nodes");i+=s.map(function(e,t){if(ut(e))return e.toTex(n);throw new TypeError("Template: "+r[1]+"["+t+"] is not a Node.")}).join(",")}break;default:throw new TypeError("Template: "+r[1]+" has to be a Node, String or array of Nodes")}else{if(!ut(s[r[2]]&&s[r[2]]))throw new TypeError("Template: "+r[1]+"["+r[2]+"] is not a Node.");i+=s[r[2]].toTex(n)}}return i+e.slice(o)}i.prototype.toString=function(e){var t,n=this.fn.toString(e);return e&&"object"===qh(e.handler)&&bt(e.handler,n)&&(t=e.handler[n](this,e)),void 0!==t?t:a.call(this,e)},i.prototype._toString=function(e){var t=this.args.map(function(t){return t.toString(e)});return(at(this.fn)?"("+this.fn.toString(e)+")":this.fn.toString(e))+"("+t.join(", ")+")"},i.prototype.toJSON=function(){return{mathjs:"FunctionNode",fn:this.fn,args:this.args}},i.fromJSON=function(e){return new i(e.fn,e.args)},i.prototype.toHTML=function(e){var t=this.args.map(function(t){return t.toHTML(e)});return'<span class="math-function">'+Kt(this.fn)+'</span><span class="math-paranthesis math-round-parenthesis">(</span>'+t.join('<span class="math-separator">,</span>')+'<span class="math-paranthesis math-round-parenthesis">)</span>'};var s=i.prototype.toTex;return i.prototype.toTex=function(e){var t;return e&&"object"===qh(e.handler)&&bt(e.handler,this.name)&&(t=e.handler[this.name](this,e)),void 0!==t?t:s.call(this,e)},i.prototype._toTex=function(e){var n,r,i=this.args.map(function(t){return t.toTex(e)});switch(wh[this.name]&&(n=wh[this.name]),!t[this.name]||"function"!=typeof t[this.name].toTex&&"object"!==qh(t[this.name].toTex)&&"string"!=typeof t[this.name].toTex||(n=t[this.name].toTex),qh(n)){case"function":r=n(this,e);break;case"string":r=o(n,this,e);break;case"object":switch(qh(n[i.length])){case"function":r=n[i.length](this,e);break;case"string":r=o(n[i.length],this,e)}}return void 0!==r?r:o("\\mathrm{${name}}\\left(${args}\\right)",this,e)},i.prototype.getIdentifier=function(){return this.type+":"+this.name},i},{isClass:!0,isNode:!0});function jh(){return jh=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},jh.apply(this,arguments)}var Lh="parse",Fh=Sn(Lh,["typed","numeric","config","AccessorNode","ArrayNode","AssignmentNode","BlockNode","ConditionalNode","ConstantNode","FunctionAssignmentNode","FunctionNode","IndexNode","ObjectNode","OperatorNode","ParenthesisNode","RangeNode","RelationalNode","SymbolNode"],function(e){var t=e.typed,n=e.numeric,r=e.config,i=e.AccessorNode,a=e.ArrayNode,o=e.AssignmentNode,s=e.BlockNode,u=e.ConditionalNode,l=e.ConstantNode,c=e.FunctionAssignmentNode,f=e.FunctionNode,p=e.IndexNode,h=e.ObjectNode,d=e.OperatorNode,m=e.ParenthesisNode,g=e.RangeNode,y=e.RelationalNode,v=e.SymbolNode,x=t(Lh,{string:function(e){return P(e,{})},"Array | Matrix":function(e){return b(e,{})},"string, Object":function(e,t){return P(e,void 0!==t.nodes?t.nodes:{})},"Array | Matrix, Object":b});function b(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=void 0!==t.nodes?t.nodes:{};return Ui(e,function(e){if("string"!=typeof e)throw new TypeError("String expected");return P(e,n)})}var w={NULL:0,DELIMITER:1,NUMBER:2,SYMBOL:3,UNKNOWN:4},N={",":!0,"(":!0,")":!0,"[":!0,"]":!0,"{":!0,"}":!0,'"':!0,"'":!0,";":!0,"+":!0,"-":!0,"*":!0,".*":!0,"/":!0,"./":!0,"%":!0,"^":!0,".^":!0,"~":!0,"!":!0,"&":!0,"|":!0,"^|":!0,"=":!0,":":!0,"?":!0,"==":!0,"!=":!0,"<":!0,">":!0,"<=":!0,">=":!0,"<<":!0,">>":!0,">>>":!0},E={mod:!0,to:!0,in:!0,and:!0,xor:!0,or:!0,not:!0},S={true:!0,false:!1,null:null,undefined:void 0},M=["NaN","Infinity"];function A(e,t){return e.expression.substr(e.index,t)}function C(e){return A(e,1)}function O(e){e.index++}function k(e){return e.expression.charAt(e.index-1)}function T(e){return e.expression.charAt(e.index+1)}function _(e){for(e.tokenType=w.NULL,e.token="",e.comment="";x.isWhitespace(C(e),e.nestingLevel);)O(e);if("#"===C(e))for(;"\n"!==C(e)&&""!==C(e);)e.comment+=C(e),O(e);if(""!==C(e)){if("\n"===C(e)&&!e.nestingLevel)return e.tokenType=w.DELIMITER,e.token=C(e),void O(e);var t=C(e),n=A(e,2),r=A(e,3);if(3===r.length&&N[r])return e.tokenType=w.DELIMITER,e.token=r,O(e),O(e),void O(e);if(2===n.length&&N[n])return e.tokenType=w.DELIMITER,e.token=n,O(e),void O(e);if(N[t])return e.tokenType=w.DELIMITER,e.token=t,void O(e);if(x.isDigitDot(t)){e.tokenType=w.NUMBER;var i=A(e,2);if("0b"===i||"0o"===i||"0x"===i){for(e.token+=C(e),O(e),e.token+=C(e),O(e);x.isHexDigit(C(e));)e.token+=C(e),O(e);return}if("."===C(e))e.token+=C(e),O(e),x.isDigit(C(e))||(e.tokenType=w.DELIMITER);else{for(;x.isDigit(C(e));)e.token+=C(e),O(e);x.isDecimalMark(C(e),T(e))&&(e.token+=C(e),O(e))}for(;x.isDigit(C(e));)e.token+=C(e),O(e);if("E"===C(e)||"e"===C(e))if(x.isDigit(T(e))||"-"===T(e)||"+"===T(e)){if(e.token+=C(e),O(e),"+"!==C(e)&&"-"!==C(e)||(e.token+=C(e),O(e)),!x.isDigit(C(e)))throw ne(e,'Digit expected, got "'+C(e)+'"');for(;x.isDigit(C(e));)e.token+=C(e),O(e);if(x.isDecimalMark(C(e),T(e)))throw ne(e,'Digit expected, got "'+C(e)+'"')}else if("."===T(e))throw O(e),ne(e,'Digit expected, got "'+C(e)+'"')}else{if(!x.isAlpha(C(e),k(e),T(e))){for(e.tokenType=w.UNKNOWN;""!==C(e);)e.token+=C(e),O(e);throw ne(e,'Syntax error in part "'+e.token+'"')}for(;x.isAlpha(C(e),k(e),T(e))||x.isDigit(C(e));)e.token+=C(e),O(e);bt(E,e.token)?e.tokenType=w.DELIMITER:e.tokenType=w.SYMBOL}}else e.tokenType=w.DELIMITER}function R(e){do{_(e)}while("\n"===e.token)}function D(e){e.nestingLevel++}function I(e){e.nestingLevel--}function P(e,t){var n={extraNodes:{},expression:"",comment:"",index:0,token:"",tokenType:w.NULL,nestingLevel:0,conditionalLevel:null};jh(n,{expression:e,extraNodes:t}),_(n);var r=function(e){var t,n,r=[];for(""!==e.token&&"\n"!==e.token&&";"!==e.token&&((t=q(e)).comment=e.comment);"\n"===e.token||";"===e.token;)0===r.length&&t&&(n=";"!==e.token,r.push({node:t,visible:n})),_(e),"\n"!==e.token&&";"!==e.token&&""!==e.token&&((t=q(e)).comment=e.comment,n=";"!==e.token,r.push({node:t,visible:n}));return r.length>0?new s(r):(t||((t=new l(void 0)).comment=e.comment),t)}(n);if(""!==n.token)throw n.tokenType===w.DELIMITER?re(n,"Unexpected operator "+n.token):ne(n,'Unexpected part "'+n.token+'"');return r}function q(e){var t,n,r,i,a=function(e){for(var t=function(e){for(var t=z(e);"or"===e.token;)R(e),t=new d("or","or",[t,z(e)]);return t}(e);"?"===e.token;){var n=e.conditionalLevel;e.conditionalLevel=e.nestingLevel,R(e);var r=t,i=q(e);if(":"!==e.token)throw ne(e,"False part of conditional expression expected");e.conditionalLevel=null,R(e);var a=q(e);t=new u(r,i,a),e.conditionalLevel=n}return t}(e);if("="===e.token){if(ht(a))return t=a.name,R(e),r=q(e),new o(new v(t),r);if(Qe(a))return R(e),r=q(e),new o(a.object,a.index,r);if(ot(a)&&ht(a.fn)&&(i=!0,n=[],t=a.name,a.args.forEach(function(e,t){ht(e)?n[t]=e.name:i=!1}),i))return R(e),r=q(e),new c(t,n,r);throw ne(e,"Invalid left hand side of assignment operator =")}return a}function z(e){for(var t=B(e);"xor"===e.token;)R(e),t=new d("xor","xor",[t,B(e)]);return t}function B(e){for(var t=j(e);"and"===e.token;)R(e),t=new d("and","and",[t,j(e)]);return t}function j(e){for(var t=L(e);"|"===e.token;)R(e),t=new d("|","bitOr",[t,L(e)]);return t}function L(e){for(var t=F(e);"^|"===e.token;)R(e),t=new d("^|","bitXor",[t,F(e)]);return t}function F(e){for(var t=U(e);"&"===e.token;)R(e),t=new d("&","bitAnd",[t,U(e)]);return t}function U(e){for(var t=[$(e)],n=[],r={"==":"equal","!=":"unequal","<":"smaller",">":"larger","<=":"smallerEq",">=":"largerEq"};bt(r,e.token);){var i={name:e.token,fn:r[e.token]};n.push(i),R(e),t.push($(e))}return 1===t.length?t[0]:2===t.length?new d(n[0].name,n[0].fn,t):new y(n.map(function(e){return e.fn}),t)}function $(e){var t,n,r,i;t=V(e);for(var a={"<<":"leftShift",">>":"rightArithShift",">>>":"rightLogShift"};bt(a,e.token);)r=a[n=e.token],R(e),i=[t,V(e)],t=new d(n,r,i);return t}function V(e){var t,n,r,i;t=H(e);for(var a={to:"to",in:"to"};bt(a,e.token);)r=a[n=e.token],R(e),"in"===n&&""===e.token?t=new d("*","multiply",[t,new v("in")],!0):(i=[t,H(e)],t=new d(n,r,i));return t}function H(e){var t,n=[];if(t=":"===e.token?new l(1):W(e),":"===e.token&&e.conditionalLevel!==e.nestingLevel){for(n.push(t);":"===e.token&&n.length<3;)R(e),")"===e.token||"]"===e.token||","===e.token||""===e.token?n.push(new v("end")):n.push(W(e));t=3===n.length?new g(n[0],n[2],n[1]):new g(n[0],n[1])}return t}function W(e){var t,n,r,i;t=G(e);for(var a={"+":"add","-":"subtract"};bt(a,e.token);)r=a[n=e.token],R(e),i=[t,G(e)],t=new d(n,r,i);return t}function G(e){var t,n,r,i;n=t=Y(e);for(var a={"*":"multiply",".*":"dotMultiply","/":"divide","./":"dotDivide","%":"mod",mod:"mod"};bt(a,e.token);)i=a[r=e.token],R(e),n=Y(e),t=new d(r,i,[t,n]);return t}function Y(e){var t,n;for(n=t=Z(e);e.tokenType===w.SYMBOL||"in"===e.token&&it(t)||!(e.tokenType!==w.NUMBER||it(n)||ct(n)&&"!"!==n.op)||"("===e.token;)n=Z(e),t=new d("*","multiply",[t,n],!0);return t}function Z(e){for(var t=J(e),n=t,r=[];"/"===e.token&&it(n);){if(r.push(jh({},e)),R(e),e.tokenType!==w.NUMBER){jh(e,r.pop());break}if(r.push(jh({},e)),R(e),e.tokenType!==w.SYMBOL&&"("!==e.token){r.pop(),jh(e,r.pop());break}jh(e,r.pop()),r.pop(),n=J(e),t=new d("/","divide",[t,n])}return t}function J(e){var t,i,o,s={"-":"unaryMinus","+":"unaryPlus","~":"bitNot",not:"not"};return bt(s,e.token)?(o=s[e.token],t=e.token,R(e),i=[J(e)],new d(t,o,i)):function(e){var t,i,o,s;return t=function(e){var t,i,o;t=function(e){var t=[];if(e.tokenType===w.SYMBOL&&bt(e.extraNodes,e.token)){var i=e.extraNodes[e.token];if(_(e),"("===e.token){if(t=[],D(e),_(e),")"!==e.token)for(t.push(q(e));","===e.token;)_(e),t.push(q(e));if(")"!==e.token)throw ne(e,"Parenthesis ) expected");I(e),_(e)}return new i(t)}return function(e){var t;return e.tokenType===w.SYMBOL||e.tokenType===w.DELIMITER&&e.token in E?(t=e.token,_(e),X(e,bt(S,t)?new l(S[t]):-1!==M.indexOf(t)?new l(n(t,"number")):new v(t))):function(e){var t;return'"'===e.token?(t=K(e),X(e,new l(t))):function(e){var t;return"'"===e.token?(t=Q(e),X(e,new l(t))):function(e){var t,i,o,s;if("["===e.token){if(D(e),_(e),"]"!==e.token){var u=ee(e);if(";"===e.token){for(o=1,i=[u];";"===e.token;)_(e),i[o]=ee(e),o++;if("]"!==e.token)throw ne(e,"End of matrix ] expected");I(e),_(e),s=i[0].items.length;for(var c=1;c<o;c++)if(i[c].items.length!==s)throw re(e,"Column dimensions mismatch ("+i[c].items.length+" !== "+s+")");t=new a(i)}else{if("]"!==e.token)throw ne(e,"End of matrix ] expected");I(e),_(e),t=u}}else I(e),_(e),t=new a([]);return X(e,t)}return function(e){if("{"===e.token){var t;D(e);var i={};do{if(_(e),"}"!==e.token){if('"'===e.token)t=K(e);else if("'"===e.token)t=Q(e);else{if(!(e.tokenType===w.SYMBOL||e.tokenType===w.DELIMITER&&e.token in E))throw ne(e,"Symbol or string expected as object key");t=e.token,_(e)}if(":"!==e.token)throw ne(e,"Colon : expected after object key");_(e),i[t]=q(e)}}while(","===e.token);if("}"!==e.token)throw ne(e,"Comma , or bracket } expected after object value");I(e),_(e);var a=new h(i);return X(e,a)}return function(e){var t;return e.tokenType===w.NUMBER?(t=e.token,_(e),new l(n(t,r.number))):function(e){var t;if("("===e.token){if(D(e),_(e),t=q(e),")"!==e.token)throw ne(e,"Parenthesis ) expected");return I(e),_(e),X(e,t=new m(t))}return function(e){throw""===e.token?ne(e,"Unexpected end of expression"):ne(e,"Value expected")}(e)}(e)}(e)}(e)}(e)}(e)}(e)}(e)}(e);for(var s={"!":"factorial","'":"ctranspose"};bt(s,e.token);)o=s[i=e.token],_(e),t=X(e,t=new d(i,o,[t]));return t}(e),("^"===e.token||".^"===e.token)&&(o="^"===(i=e.token)?"pow":"dotPow",R(e),s=[t,J(e)],t=new d(i,o,s)),t}(e)}function X(e,t,n){for(var r;!("("!==e.token&&"["!==e.token&&"."!==e.token||n&&-1===n.indexOf(e.token));)if(r=[],"("===e.token){if(!ht(t)&&!Qe(t))return t;if(D(e),_(e),")"!==e.token)for(r.push(q(e));","===e.token;)_(e),r.push(q(e));if(")"!==e.token)throw ne(e,"Parenthesis ) expected");I(e),_(e),t=new f(t,r)}else if("["===e.token){if(D(e),_(e),"]"!==e.token)for(r.push(q(e));","===e.token;)_(e),r.push(q(e));if("]"!==e.token)throw ne(e,"Parenthesis ] expected");I(e),_(e),t=new i(t,new p(r))}else{if(_(e),e.tokenType!==w.SYMBOL)throw ne(e,"Property name expected after dot");r.push(new l(e.token)),_(e),t=new i(t,new p(r,!0))}return t}function K(e){for(var t="";""!==C(e)&&'"'!==C(e);)"\\"===C(e)&&(t+=C(e),O(e)),t+=C(e),O(e);if(_(e),'"'!==e.token)throw ne(e,'End of string " expected');return _(e),JSON.parse('"'+t+'"')}function Q(e){for(var t="";""!==C(e)&&"'"!==C(e);)"\\"===C(e)&&(t+=C(e),O(e)),t+=C(e),O(e);if(_(e),"'"!==e.token)throw ne(e,"End of string ' expected");return _(e),JSON.parse('"'+t+'"')}function ee(e){for(var t=[q(e)],n=1;","===e.token;)_(e),t[n]=q(e),n++;return new a(t)}function te(e){return e.index-e.token.length+1}function ne(e,t){var n=te(e),r=new SyntaxError(t+" (char "+n+")");return r.char=n,r}function re(e,t){var n=te(e),r=new SyntaxError(t+" (char "+n+")");return r.char=n,r}return x.isAlpha=function(e,t,n){return x.isValidLatinOrGreek(e)||x.isValidMathSymbol(e,n)||x.isValidMathSymbol(t,e)},x.isValidLatinOrGreek=function(e){return/^[a-zA-Z_$\u00C0-\u02AF\u0370-\u03FF\u2100-\u214F]$/.test(e)},x.isValidMathSymbol=function(e,t){return/^[\uD835]$/.test(e)&&/^[\uDC00-\uDFFF]$/.test(t)&&/^[^\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]$/.test(t)},x.isWhitespace=function(e,t){return" "===e||"\t"===e||"\n"===e&&t>0},x.isDecimalMark=function(e,t){return"."===e&&"/"!==t&&"*"!==t&&"^"!==t},x.isDigitDot=function(e){return e>="0"&&e<="9"||"."===e},x.isDigit=function(e){return e>="0"&&e<="9"},x.isHexDigit=function(e){return e>="0"&&e<="9"||e>="a"&&e<="f"||e>="A"&&e<="F"},x}),Uh="compile",$h=Sn(Uh,["typed","parse"],function(e){var t=e.typed,n=e.parse;return t(Uh,{string:function(e){return n(e).compile()},"Array | Matrix":function(e){return Ui(e,function(e){return n(e).compile()})}})}),Vh="evaluate",Hh=Sn(Vh,["typed","parse"],function(e){var t=e.typed,n=e.parse;return t(Vh,{string:function(e){return n(e).compile().evaluate({})},"string, Object":function(e,t){return n(e).compile().evaluate(t)},"Array | Matrix":function(e){var t={};return Ui(e,function(e){return n(e).compile().evaluate(t)})},"Array | Matrix, Object":function(e,t){return Ui(e,function(e){return n(e).compile().evaluate(t)})}})}),Wh=Sn("Parser",["parse"],function(e){var t=e.parse;function n(){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this.scope={}}return n.prototype.type="Parser",n.prototype.isParser=!0,n.prototype.evaluate=function(e){return t(e).compile().evaluate(this.scope)},n.prototype.get=function(e){return e in this.scope?cl(this.scope,e):void 0},n.prototype.getAll=function(){return vt({},this.scope)},n.prototype.set=function(e,t){return fl(this.scope,e,t)},n.prototype.remove=function(e){delete this.scope[e]},n.prototype.clear=function(){for(var e in this.scope)bt(this.scope,e)&&delete this.scope[e]},n},{isClass:!0}),Gh="parser",Yh=Sn(Gh,["typed","Parser"],function(e){var t=e.typed,n=e.Parser;return t(Gh,{"":function(){return new n}})}),Zh=Sn("lup",["typed","matrix","abs","addScalar","divideScalar","multiplyScalar","subtract","larger","equalScalar","unaryMinus","DenseMatrix","SparseMatrix","Spa"],function(e){var t=e.typed,n=e.matrix,r=e.abs,i=e.addScalar,a=e.divideScalar,o=e.multiplyScalar,s=e.subtract,u=e.larger,l=e.equalScalar,c=e.unaryMinus,f=e.DenseMatrix,p=e.SparseMatrix,h=e.Spa;return t("lup",{DenseMatrix:function(e){return d(e)},SparseMatrix:function(e){return function(e){var t,n,i,s=e._size[0],f=e._size[1],d=Math.min(s,f),m=e._values,g=e._index,y=e._ptr,v=[],x=[],b=[],w=[s,d],N=[],E=[],S=[],M=[d,f],A=[],C=[];for(t=0;t<s;t++)A[t]=t,C[t]=t;var O=function(){var e=new h;n<s&&(b.push(v.length),v.push(1),x.push(n)),S.push(N.length);var f=y[n],d=y[n+1];for(i=f;i<d;i++)t=g[i],e.set(A[t],m[i]);n>0&&e.forEach(0,n-1,function(t,n){p._forEachRow(t,v,x,b,function(r,i){r>t&&e.accumulate(r,c(o(i,n)))})});var O=n,k=e.get(n),T=r(k);e.forEach(n+1,s-1,function(e,t){var n=r(t);u(n,T)&&(O=e,T=n,k=t)}),n!==O&&(p._swapRows(n,O,w[1],v,x,b),p._swapRows(n,O,M[1],N,E,S),e.swap(n,O),function(e,t){var n=C[e],r=C[t];A[n]=t,A[r]=e,C[e]=r,C[t]=n}(n,O)),e.forEach(0,s-1,function(e,t){e<=n?(N.push(t),E.push(e)):(t=a(t,k),l(t,0)||(v.push(t),x.push(e)))})};for(n=0;n<f;n++)O();return S.push(N.length),b.push(v.length),{L:new p({values:v,index:x,ptr:b,size:w}),U:new p({values:N,index:E,ptr:S,size:M}),p:A,toString:function(){return"L: "+this.L.toString()+"\nU: "+this.U.toString()+"\nP: "+this.p}}}(e)},Array:function(e){var t=d(n(e));return{L:t.L.valueOf(),U:t.U.valueOf(),p:t.p}}});function d(e){var t,n,c,p=e._size[0],h=e._size[1],d=Math.min(p,h),m=yt(e._data),g=[],y=[p,d],v=[],x=[d,h],b=[];for(t=0;t<p;t++)b[t]=t;for(n=0;n<h;n++){if(n>0)for(t=0;t<p;t++){var w=Math.min(t,n),N=0;for(c=0;c<w;c++)N=i(N,o(m[t][c],m[c][n]));m[t][n]=s(m[t][n],N)}var E=n,S=0,M=0;for(t=n;t<p;t++){var A=m[t][n],C=r(A);u(C,S)&&(E=t,S=C,M=A)}if(n!==E&&(b[n]=[b[E],b[E]=b[n]][0],f._swapRows(n,E,m)),n<p)for(t=n+1;t<p;t++){var O=m[t][n];l(O,0)||(m[t][n]=a(m[t][n],M))}}for(n=0;n<h;n++)for(t=0;t<p;t++)0===n&&(t<h&&(v[t]=[]),g[t]=[]),t<n?(t<h&&(v[t][n]=m[t][n]),n<p&&(g[t][n]=0)):t!==n?(t<h&&(v[t][n]=0),n<p&&(g[t][n]=m[t][n])):(t<h&&(v[t][n]=m[t][n]),n<p&&(g[t][n]=1));var k=new f({data:g,size:y}),T=new f({data:v,size:x}),_=[];for(t=0,d=b.length;t<d;t++)_[b[t]]=t;return{L:k,U:T,p:_,toString:function(){return"L: "+this.L.toString()+"\nU: "+this.U.toString()+"\nP: "+this.p}}}});function Jh(){return Jh=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Jh.apply(this,arguments)}var Xh=Sn("qr",["typed","matrix","zeros","identity","isZero","equal","sign","sqrt","conj","unaryMinus","addScalar","divideScalar","multiplyScalar","subtract","complex"],function(e){var t=e.typed,n=e.matrix,r=e.zeros,i=e.identity,a=e.isZero,o=e.equal,s=e.sign,u=e.sqrt,l=e.conj,c=e.unaryMinus,f=e.addScalar,p=e.divideScalar,h=e.multiplyScalar,d=e.subtract,m=e.complex;return Jh(t("qr",{DenseMatrix:function(e){return y(e)},SparseMatrix:function(e){return function(){throw new Error("qr not implemented for sparse matrices yet")}()},Array:function(e){var t=y(n(e));return{Q:t.Q.valueOf(),R:t.R.valueOf()}}}),{_denseQRimpl:g});function g(e){var t,n,m,g=e._size[0],y=e._size[1],v=i([g],"dense"),x=v._data,b=e.clone(),w=b._data,N=r([g],"");for(m=0;m<Math.min(y,g);++m){var E=w[m][m],S=c(o(E,0)?1:s(E)),M=l(S),A=0;for(t=m;t<g;t++)A=f(A,h(w[t][m],l(w[t][m])));var C=h(S,u(A));if(!a(C)){var O=d(E,C);for(N[m]=1,t=m+1;t<g;t++)N[t]=p(w[t][m],O);var k=c(l(p(O,C))),T=void 0;for(n=m;n<y;n++){for(T=0,t=m;t<g;t++)T=f(T,h(l(N[t]),w[t][n]));for(T=h(T,k),t=m;t<g;t++)w[t][n]=h(d(w[t][n],h(N[t],T)),M)}for(t=0;t<g;t++){for(T=0,n=m;n<g;n++)T=f(T,h(x[t][n],N[n]));for(T=h(T,k),n=m;n<g;++n)x[t][n]=p(d(x[t][n],h(T,l(N[n]))),M)}}}return{Q:v,R:b,toString:function(){return"Q: "+this.Q.toString()+"\nR: "+this.R.toString()}}}function y(e){var t=g(e),n=t.R._data;if(e._data.length>0)for(var r="Complex"===n[0][0].type?m(0):0,i=0;i<n.length;++i)for(var a=0;a<i&&a<(n[0]||[]).length;++a)n[i][a]=r;return t}});function Kh(e,t,n,r,i,a,o){var s=0;for(n[o]=e;s>=0;){var u=n[o+s],l=n[r+u];-1===l?(s--,a[t++]=u):(n[r+u]=n[i+l],n[o+ ++s]=l)}return t}function Qh(e){return-e-2}var ed=Sn("csAmd",["add","multiply","transpose"],function(e){var t=e.add,n=e.multiply,r=e.transpose;return function(e,o){if(!o||e<=0||e>3)return null;var s=o._size,u=s[0],l=s[1],c=0,f=Math.max(16,10*Math.sqrt(l)),p=function(e,i,a,o,s){var u=r(i);if(1===e&&o===a)return t(i,u);if(2===e){for(var l=u._index,c=u._ptr,f=0,p=0;p<a;p++){var h=c[p];if(c[p]=f,!(c[p+1]-h>s))for(var d=c[p+1];h<d;h++)l[f++]=l[h]}return c[a]=f,i=r(u),n(u,i)}return n(u,i)}(e,o,u,l,f=Math.min(l-2,f));!function(e,t){for(var n=e._values,r=e._index,i=e._ptr,a=e._size[1],o=0,s=0;s<a;s++){var u=i[s];for(i[s]=o;u<i[s+1];u++)t(r[u],s,n?n[u]:1,null)&&(r[o]=r[u],n&&(n[o]=n[u]),o++)}i[a]=o,r.splice(o,r.length-o),n&&n.splice(o,n.length-o)}(p,a);for(var h,d,m,g,y,v,x,b,w,N,E,S,M,A,C,O,k=p._index,T=p._ptr,_=T[l],R=[],D=[],I=l+1,P=2*(l+1),q=3*(l+1),z=4*(l+1),B=5*(l+1),j=6*(l+1),L=7*(l+1),F=R,U=function(e,t,n,r,a,o,s,u,l,c,f,p){for(var h=0;h<e;h++)n[0+h]=t[h+1]-t[h];n[0+e]=0;for(var d=0;d<=e;d++)n[a+d]=-1,o[d]=-1,n[s+d]=-1,n[u+d]=-1,n[l+d]=1,n[c+d]=1,n[f+d]=0,n[p+d]=n[0+d];var m=i(0,0,n,c,e);return n[f+e]=-2,t[e]=-1,n[c+e]=0,m}(l,T,D,0,q,F,P,L,I,j,z,B),$=function(e,t,n,r,i,a,o,s,u,l,c){for(var f=0,p=0;p<e;p++){var h=n[r+p];if(0===h)n[i+p]=-2,f++,t[p]=-1,n[a+p]=0;else if(h>o)n[s+p]=0,n[i+p]=-1,f++,t[p]=Qh(e),n[s+e]++;else{var d=n[u+h];-1!==d&&(l[d]=p),n[c+p]=n[u+h],n[u+h]=p}}return f}(l,T,D,B,z,j,f,I,q,F,P),V=0;$<l;){for(m=-1;V<l&&-1===(m=D[q+V]);V++);-1!==D[P+m]&&(F[D[P+m]]=-1),D[q+V]=D[P+m];var H=D[z+m],W=D[I+m];$+=W;var G=0;D[I+m]=-W;var Y=T[m],Z=0===H?Y:_,J=Z;for(g=1;g<=H+1;g++){for(g>H?(v=m,x=Y,b=D[0+m]-H):(x=T[v=k[Y++]],b=D[0+v]),y=1;y<=b;y++)(w=D[I+(h=k[x++])])<=0||(G+=w,D[I+h]=-w,k[J++]=h,-1!==D[P+h]&&(F[D[P+h]]=F[h]),-1!==F[h]?D[P+F[h]]=D[P+h]:D[q+D[B+h]]=D[P+h]);v!==m&&(T[v]=Qh(m),D[j+v]=0)}for(0!==H&&(_=J),D[B+m]=G,T[m]=Z,D[0+m]=J-Z,D[z+m]=-2,U=i(U,c,D,j,l),N=Z;N<J;N++)if(!((E=D[z+(h=k[N])])<=0)){var X=U-(w=-D[I+h]);for(Y=T[h],S=T[h]+E-1;Y<=S;Y++)D[j+(v=k[Y])]>=U?D[j+v]-=w:0!==D[j+v]&&(D[j+v]=D[B+v]+X)}for(N=Z;N<J;N++){for(M=(S=T[h=k[N]])+D[z+h]-1,A=S,C=0,O=0,Y=S;Y<=M;Y++)if(0!==D[j+(v=k[Y])]){var K=D[j+v]-U;K>0?(O+=K,k[A++]=v,C+=v):(T[v]=Qh(m),D[j+v]=0)}D[z+h]=A-S+1;var Q=A,ee=S+D[0+h];for(Y=M+1;Y<ee;Y++){var te=D[I+(d=k[Y])];te<=0||(O+=te,k[A++]=d,C+=d)}0===O?(T[h]=Qh(m),G-=w=-D[I+h],W+=w,$+=w,D[I+h]=0,D[z+h]=-1):(D[B+h]=Math.min(D[B+h],O),k[A]=k[Q],k[Q]=k[S],k[S]=m,D[0+h]=A-S+1,C=(C<0?-C:C)%l,D[P+h]=D[L+C],D[L+C]=h,F[h]=C)}for(D[B+m]=G,U=i(U+(c=Math.max(c,G)),c,D,j,l),N=Z;N<J;N++)if(!(D[I+(h=k[N])]>=0))for(h=D[L+(C=F[h])],D[L+C]=-1;-1!==h&&-1!==D[P+h];h=D[P+h],U++){for(b=D[0+h],E=D[z+h],Y=T[h]+1;Y<=T[h]+b-1;Y++)D[j+k[Y]]=U;var ne=h;for(d=D[P+h];-1!==d;){var re=D[0+d]===b&&D[z+d]===E;for(Y=T[d]+1;re&&Y<=T[d]+b-1;Y++)D[j+k[Y]]!==U&&(re=0);re?(T[d]=Qh(h),D[I+h]+=D[I+d],D[I+d]=0,D[z+d]=-1,d=D[P+d],D[P+ne]=d):(ne=d,d=D[P+d])}}for(Y=Z,N=Z;N<J;N++)(w=-D[I+(h=k[N])])<=0||(D[I+h]=w,O=D[B+h]+G-w,-1!==D[q+(O=Math.min(O,l-$-w))]&&(F[D[q+O]]=h),D[P+h]=D[q+O],F[h]=-1,D[q+O]=h,V=Math.min(V,O),D[B+h]=O,k[Y++]=h);D[I+m]=W,0===(D[0+m]=Y-Z)&&(T[m]=-1,D[j+m]=0),0!==H&&(_=Y)}for(h=0;h<l;h++)T[h]=Qh(T[h]);for(d=0;d<=l;d++)D[q+d]=-1;for(d=l;d>=0;d--)D[I+d]>0||(D[P+d]=D[q+T[d]],D[q+T[d]]=d);for(v=l;v>=0;v--)D[I+v]<=0||-1!==T[v]&&(D[P+v]=D[q+T[v]],D[q+T[v]]=v);for(m=0,h=0;h<=l;h++)-1===T[h]&&(m=Kh(h,m,D,q,P,R,j));return R.splice(R.length-1,1),R};function i(e,t,n,r,i){if(e<2||e+t<0){for(var a=0;a<i;a++)0!==n[r+a]&&(n[r+a]=1);e=2}return e}function a(e,t){return e!==t}});function td(e,t,n,r,i,a,o){var s,u,l,c=0;if(e<=t||n[r+t]<=n[i+e])return-1;n[i+e]=n[r+t];var f=n[a+e];if(n[a+e]=t,-1===f)c=1,l=e;else{for(c=2,l=f;l!==n[o+l];l=n[o+l]);for(s=f;s!==l;s=u)u=n[o+s],n[o+s]=l}return{jleaf:c,q:l}}var nd=Sn("csCounts",["transpose"],function(e){var t=e.transpose;return function(e,n,r,i){if(!e||!n||!r)return null;var a,o,s,u,l,c,f,p=e._size,h=p[0],d=p[1],m=4*d+(i?d+h+1:0),g=[],y=d,v=2*d,x=3*d,b=4*d,w=5*d+1;for(s=0;s<m;s++)g[s]=-1;var N=[],E=t(e),S=E._index,M=E._ptr;for(s=0;s<d;s++)for(N[o=r[s]]=-1===g[x+o]?1:0;-1!==o&&-1===g[x+o];o=n[o])g[x+o]=s;if(i){for(s=0;s<d;s++)g[r[s]]=s;for(a=0;a<h;a++){for(s=d,c=M[a],f=M[a+1],l=c;l<f;l++)s=Math.min(s,g[S[l]]);g[w+a]=g[b+s],g[b+s]=a}}for(a=0;a<d;a++)g[0+a]=a;for(s=0;s<d;s++){for(-1!==n[o=r[s]]&&N[n[o]]--,u=i?g[b+s]:o;-1!==u;u=i?g[w+u]:-1)for(l=M[u];l<M[u+1];l++){var A=td(a=S[l],o,g,x,y,v,0);A.jleaf>=1&&N[o]++,2===A.jleaf&&N[A.q]--}-1!==n[o]&&(g[0+o]=n[o])}for(o=0;o<d;o++)-1!==n[o]&&(N[n[o]]+=N[o]);return N}}),rd=Sn("csSqr",["add","multiply","transpose"],function(e){var t=e.add,n=e.multiply,r=e.transpose,i=ed({add:t,multiply:n,transpose:r}),a=nd({transpose:r});return function(e,t,n){var r,o=t._ptr,s=t._size[1],u={};if(u.q=i(e,t),e&&!u.q)return null;if(n){var l=e?function(e,t,n){for(var r=e._values,i=e._index,a=e._ptr,o=e._size,s=e._datatype,u=o[0],l=o[1],c=null,f=[],p=[],h=0,d=0;d<l;d++){p[d]=h;for(var m=n?n[d]:d,g=a[m],y=a[m+1],v=g;v<y;v++){var x=i[v];f[h]=x,c&&(c[h]=r[v]),h++}}return p[l]=h,e.createSparseMatrix({values:c,index:f,ptr:p,size:[u,l],datatype:s})}(t,0,u.q):t;u.parent=function(e){if(!e)return null;var t,n,r=e._index,i=e._ptr,a=e._size,o=a[0],s=a[1],u=[],l=[],c=s;for(t=0;t<o;t++)l[c+t]=-1;for(var f=0;f<s;f++){u[f]=-1,l[0+f]=-1;for(var p=i[f],h=i[f+1],d=p;d<h;d++){var m=r[d];for(t=l[c+m];-1!==t&&t<f;t=n)n=l[0+t],l[0+t]=f,-1===n&&(u[t]=f);l[c+m]=f}}return u}(l);var c=function(e,t){if(!e)return null;var n,r=0,i=[],a=[],o=t,s=2*t;for(n=0;n<t;n++)a[0+n]=-1;for(n=t-1;n>=0;n--)-1!==e[n]&&(a[o+n]=a[0+e[n]],a[0+e[n]]=n);for(n=0;n<t;n++)-1===e[n]&&(r=Kh(n,r,a,0,o,i,s));return i}(u.parent,s);if(u.cp=a(l,u.parent,c,1),l&&u.parent&&u.cp&&function(e,t){var n=e._ptr,r=e._index,i=e._size,a=i[0],o=i[1];t.pinv=[],t.leftmost=[];var s,u,l,c,f,p=t.parent,h=t.pinv,d=t.leftmost,m=[],g=a,y=a+o,v=a+2*o;for(u=0;u<o;u++)m[g+u]=-1,m[y+u]=-1,m[v+u]=0;for(s=0;s<a;s++)d[s]=-1;for(u=o-1;u>=0;u--)for(c=n[u],f=n[u+1],l=c;l<f;l++)d[r[l]]=u;for(s=a-1;s>=0;s--)h[s]=-1,-1!==(u=d[s])&&(0===m[v+u]++&&(m[y+u]=s),m[0+s]=m[g+u],m[g+u]=s);for(t.lnz=0,t.m2=a,u=0;u<o;u++)if(s=m[g+u],t.lnz++,s<0&&(s=t.m2++),h[s]=u,!(--v[u]<=0)){t.lnz+=m[v+u];var x=p[u];-1!==x&&(0===m[v+x]&&(m[y+x]=m[y+u]),m[0+m[y+u]]=m[g+x],m[g+x]=m[0+s],m[v+x]+=m[v+u])}for(s=0;s<a;s++)h[s]<0&&(h[s]=u++);return!0}(l,u))for(u.unz=0,r=0;r<s;r++)u.unz+=u.cp[r]}else u.unz=4*o[s]+s,u.lnz=u.unz;return u}});function id(e,t){return e[t]<0}function ad(e,t){e[t]=Qh(e[t])}function od(e){return e<0?Qh(e):e}function sd(e,t,n,r,i){var a,o,s,u=t._index,l=t._ptr,c=t._size[1],f=0;for(r[0]=e;f>=0;){e=r[f];var p=i?i[e]:e;id(l,e)||(ad(l,e),r[c+f]=p<0?0:od(l[p]));var h=1;for(o=r[c+f],s=p<0?0:od(l[p+1]);o<s;o++)if(!id(l,a=u[o])){r[c+f]=o,r[++f]=a,h=0;break}h&&(f--,r[--n]=e)}return n}var ud=Sn("csSpsolve",["divideScalar","multiply","subtract"],function(e){var t=e.divideScalar,n=e.multiply,r=e.subtract;return function(e,i,a,o,s,u,l){var c,f,p,h,d=e._values,m=e._index,g=e._ptr,y=e._size[1],v=i._values,x=i._index,b=i._ptr,w=function(e,t,n,r,i){var a,o,s,u=e._ptr,l=e._size,c=t._index,f=t._ptr,p=l[1],h=p;for(o=f[n],s=f[n+1],a=o;a<s;a++){var d=c[a];id(u,d)||(h=sd(d,e,h,r,i))}for(a=h;a<p;a++)ad(u,r[a]);return h}(e,i,a,o,u);for(c=w;c<y;c++)s[o[c]]=0;for(f=b[a],p=b[a+1],c=f;c<p;c++)s[x[c]]=v[c];for(var N=w;N<y;N++){var E=o[N],S=u?u[E]:E;if(!(S<0))for(f=g[S],p=g[S+1],s[E]=t(s[E],d[l?f:p-1]),c=l?f+1:f,h=l?p:p-1;c<h;c++){var M=m[c];s[M]=r(s[M],n(d[c],s[E]))}}return w}}),ld=Sn("csLu",["abs","divideScalar","multiply","subtract","larger","largerEq","SparseMatrix"],function(e){var t=e.abs,n=e.divideScalar,r=e.multiply,i=e.subtract,a=e.larger,o=e.largerEq,s=e.SparseMatrix,u=ud({divideScalar:n,multiply:r,subtract:i});return function(e,i,l){if(!e)return null;var c,f=e._size[1],p=100,h=100;i&&(c=i.q,p=i.lnz||p,h=i.unz||h);var d,m,g=[],y=[],v=[],x=new s({values:g,index:y,ptr:v,size:[f,f]}),b=[],w=[],N=[],E=new s({values:b,index:w,ptr:N,size:[f,f]}),S=[],M=[],A=[];for(d=0;d<f;d++)M[d]=0,S[d]=-1,v[d+1]=0;p=0,h=0;for(var C=0;C<f;C++){v[C]=p,N[C]=h;var O=c?c[C]:C,k=u(x,e,O,A,M,S,1),T=-1,_=-1;for(m=k;m<f;m++)if(S[d=A[m]]<0){var R=t(M[d]);a(R,_)&&(_=R,T=d)}else w[h]=S[d],b[h++]=M[d];if(-1===T||_<=0)return null;S[O]<0&&o(t(M[O]),r(_,l))&&(T=O);var D=M[T];for(w[h]=C,b[h++]=D,S[T]=C,y[p]=T,g[p++]=1,m=k;m<f;m++)S[d=A[m]]<0&&(y[p]=d,g[p++]=n(M[d],D)),M[d]=0}for(v[f]=p,N[f]=h,m=0;m<p;m++)y[m]=S[y[m]];return g.splice(p,g.length-p),y.splice(p,y.length-p),b.splice(h,b.length-h),w.splice(h,w.length-h),{L:x,U:E,pinv:S}}}),cd=Sn("slu",["typed","abs","add","multiply","transpose","divideScalar","subtract","larger","largerEq","SparseMatrix"],function(e){var t=e.typed,n=e.abs,r=e.add,i=e.multiply,a=e.transpose,o=e.divideScalar,s=e.subtract,u=e.larger,l=e.largerEq,c=e.SparseMatrix,f=rd({add:r,multiply:i,transpose:a}),p=ld({abs:n,divideScalar:o,multiply:i,subtract:s,larger:u,largerEq:l,SparseMatrix:c});return t("slu",{"SparseMatrix, number, number":function(e,t,n){if(!At(t)||t<0||t>3)throw new Error("Symbolic Ordering and Analysis order must be an integer number in the interval [0, 3]");if(n<0||n>1)throw new Error("Partial pivoting threshold must be a number from 0 to 1");var r=f(t,e,!1),i=p(e,r,n);return{L:i.L,U:i.U,p:i.pinv,q:r.q,toString:function(){return"L: "+this.L.toString()+"\nU: "+this.U.toString()+"\np: "+this.p.toString()+(this.q?"\nq: "+this.q.toString():"")+"\n"}}}})});function fd(e,t){var n,r=t.length,i=[];if(e)for(n=0;n<r;n++)i[e[n]]=t[n];else for(n=0;n<r;n++)i[n]=t[n];return i}var pd="lusolve",hd=Sn(pd,["typed","matrix","lup","slu","usolve","lsolve","DenseMatrix"],function(e){var t=e.typed,n=e.matrix,r=e.lup,i=e.slu,a=e.usolve,o=e.lsolve,s=xc({DenseMatrix:e.DenseMatrix});return t(pd,{"Array, Array | Matrix":function(e,t){e=n(e);var i=r(e);return l(i.L,i.U,i.p,null,t).valueOf()},"DenseMatrix, Array | Matrix":function(e,t){var n=r(e);return l(n.L,n.U,n.p,null,t)},"SparseMatrix, Array | Matrix":function(e,t){var n=r(e);return l(n.L,n.U,n.p,null,t)},"SparseMatrix, Array | Matrix, number, number":function(e,t,n,r){var a=i(e,n,r);return l(a.L,a.U,a.p,a.q,t)},"Object, Array | Matrix":function(e,t){return l(e.L,e.U,e.p,e.q,t)}});function u(e){if(Be(e))return e;if(ze(e))return n(e);throw new TypeError("Invalid Matrix LU decomposition")}function l(e,t,n,r,i){e=u(e),t=u(t),n&&((i=s(e,i,!0))._data=fd(n,i._data));var l=o(e,i),c=a(t,l);return r&&(c._data=fd(r,c._data)),c}}),dd=Sn("Help",["parse"],function(e){var t=e.parse;function n(e){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(!e)throw new Error('Argument "doc" missing');this.doc=e}return n.prototype.type="Help",n.prototype.isHelp=!0,n.prototype.toString=function(){var e=this.doc||{},n="\n";if(e.name&&(n+="Name: "+e.name+"\n\n"),e.category&&(n+="Category: "+e.category+"\n\n"),e.description&&(n+="Description:\n "+e.description+"\n\n"),e.syntax&&(n+="Syntax:\n "+e.syntax.join("\n ")+"\n\n"),e.examples){n+="Examples:\n";for(var r={},i=0;i<e.examples.length;i++){var a=e.examples[i];n+=" "+a+"\n";var o=void 0;try{o=t(a).compile().evaluate(r)}catch(e){o=e}void 0===o||We(o)||(n+=" "+Jt(o,{precision:14})+"\n")}n+="\n"}return e.seealso&&e.seealso.length&&(n+="See also: "+e.seealso.join(", ")+"\n"),n},n.prototype.toJSON=function(){var e=yt(this.doc);return e.mathjs="Help",e},n.fromJSON=function(e){var t={};return Object.keys(e).filter(function(e){return"mathjs"!==e}).forEach(function(n){t[n]=e[n]}),new n(t)},n.prototype.valueOf=n.prototype.toString,n},{isClass:!0}),md=Sn("Chain",["?on","math"],function(e){var t=e.on,n=e.math;function r(e){if(!(this instanceof r))throw new SyntaxError("Constructor must be called with the new operator");dt(e)?this.value=e.value:this.value=e}function i(e,t){!function(e,t,n){var r,i=!0;Object.defineProperty(e,t,{get:function(){return i&&(r=n(),i=!1),r},set:function(e){r=e,i=!1},configurable:!0,enumerable:!0})}(r.prototype,e,function(){var e=t();if("function"==typeof e)return a(e)})}function a(e){return function(){for(var t=[this.value],n=0;n<arguments.length;n++)t[n+1]=arguments[n];return new r(e.apply(e,t))}}r.prototype.type="Chain",r.prototype.isChain=!0,r.prototype.done=function(){return this.value},r.prototype.valueOf=function(){return this.value},r.prototype.toString=function(){return Jt(this.value)},r.prototype.toJSON=function(){return{mathjs:"Chain",value:this.value}},r.fromJSON=function(e){return new r(e.value)},r.createProxy=function(e,t){if("string"==typeof e)!function(e,t){"function"==typeof t&&(r.prototype[e]=a(t))}(e,t);else{var n=function(t){bt(e,t)&&void 0===o[t]&&i(t,function(){return e[t]})};for(var s in e)n(s)}};var o={expression:!0,docs:!0,type:!0,classes:!0,json:!0,error:!0,isChain:!0};return r.createProxy(n),t&&t("import",function(e,t,n){n||i(e,t)}),r},{isClass:!0}),gd={name:"pi",category:"Constants",syntax:["pi"],description:"The number pi is a mathematical constant that is the ratio of a circle's circumference to its diameter, and is approximately equal to 3.14159",examples:["pi","sin(pi/2)"],seealso:["tau"]},yd={name:"e",category:"Constants",syntax:["e"],description:"Euler's number, the base of the natural logarithm. Approximately equal to 2.71828",examples:["e","e ^ 2","exp(2)","log(e)"],seealso:["exp"]},vd={bignumber:{name:"bignumber",category:"Construction",syntax:["bignumber(x)"],description:"Create a big number from a number or string.",examples:["0.1 + 0.2","bignumber(0.1) + bignumber(0.2)",'bignumber("7.2")','bignumber("7.2e500")',"bignumber([0.1, 0.2, 0.3])"],seealso:["boolean","complex","fraction","index","matrix","string","unit"]},boolean:{name:"boolean",category:"Construction",syntax:["x","boolean(x)"],description:"Convert a string or number into a boolean.",examples:["boolean(0)","boolean(1)","boolean(3)",'boolean("true")','boolean("false")',"boolean([1, 0, 1, 1])"],seealso:["bignumber","complex","index","matrix","number","string","unit"]},complex:{name:"complex",category:"Construction",syntax:["complex()","complex(re, im)","complex(string)"],description:"Create a complex number.",examples:["complex()","complex(2, 3)",'complex("7 - 2i")'],seealso:["bignumber","boolean","index","matrix","number","string","unit"]},createUnit:{name:"createUnit",category:"Construction",syntax:["createUnit(definitions)","createUnit(name, definition)"],description:"Create a user-defined unit and register it with the Unit type.",examples:['createUnit("foo")','createUnit("knot", {definition: "0.514444444 m/s", aliases: ["knots", "kt", "kts"]})','createUnit("mph", "1 mile/hour")'],seealso:["unit","splitUnit"]},fraction:{name:"fraction",category:"Construction",syntax:["fraction(num)","fraction(num,den)"],description:"Create a fraction from a number or from a numerator and denominator.",examples:["fraction(0.125)","fraction(1, 3) + fraction(2, 5)"],seealso:["bignumber","boolean","complex","index","matrix","string","unit"]},index:{name:"index",category:"Construction",syntax:["[start]","[start:end]","[start:step:end]","[start1, start 2, ...]","[start1:end1, start2:end2, ...]","[start1:step1:end1, start2:step2:end2, ...]"],description:"Create an index to get or replace a subset of a matrix",examples:["[]","[1, 2, 3]","A = [1, 2, 3; 4, 5, 6]","A[1, :]","A[1, 2] = 50","A[0:2, 0:2] = ones(2, 2)"],seealso:["bignumber","boolean","complex","matrix,","number","range","string","unit"]},matrix:{name:"matrix",category:"Construction",syntax:["[]","[a1, b1, ...; a2, b2, ...]","matrix()",'matrix("dense")',"matrix([...])"],description:"Create a matrix.",examples:["[]","[1, 2, 3]","[1, 2, 3; 4, 5, 6]","matrix()","matrix([3, 4])",'matrix([3, 4; 5, 6], "sparse")','matrix([3, 4; 5, 6], "sparse", "number")'],seealso:["bignumber","boolean","complex","index","number","string","unit","sparse"]},number:{name:"number",category:"Construction",syntax:["x","number(x)","number(unit, valuelessUnit)"],description:"Create a number or convert a string or boolean into a number.",examples:["2","2e3","4.05","number(2)",'number("7.2")',"number(true)","number([true, false, true, true])",'number(unit("52cm"), "m")'],seealso:["bignumber","boolean","complex","fraction","index","matrix","string","unit"]},sparse:{name:"sparse",category:"Construction",syntax:["sparse()","sparse([a1, b1, ...; a1, b2, ...])",'sparse([a1, b1, ...; a1, b2, ...], "number")'],description:"Create a sparse matrix.",examples:["sparse()","sparse([3, 4; 5, 6])",'sparse([3, 0; 5, 0], "number")'],seealso:["bignumber","boolean","complex","index","number","string","unit","matrix"]},splitUnit:{name:"splitUnit",category:"Construction",syntax:["splitUnit(unit: Unit, parts: Unit[])"],description:"Split a unit in an array of units whose sum is equal to the original unit.",examples:['splitUnit(1 m, ["feet", "inch"])'],seealso:["unit","createUnit"]},string:{name:"string",category:"Construction",syntax:['"text"',"string(x)"],description:"Create a string or convert a value to a string",examples:['"Hello World!"',"string(4.2)","string(3 + 2i)"],seealso:["bignumber","boolean","complex","index","matrix","number","unit"]},unit:{name:"unit",category:"Construction",syntax:["value unit","unit(value, unit)","unit(string)"],description:"Create a unit.",examples:["5.5 mm","3 inch",'unit(7.1, "kilogram")','unit("23 deg")'],seealso:["bignumber","boolean","complex","index","matrix","number","string"]},e:yd,E:yd,false:{name:"false",category:"Constants",syntax:["false"],description:"Boolean value false",examples:["false"],seealso:["true"]},i:{name:"i",category:"Constants",syntax:["i"],description:"Imaginary unit, defined as i*i=-1. A complex number is described as a + b*i, where a is the real part, and b is the imaginary part.",examples:["i","i * i","sqrt(-1)"],seealso:[]},Infinity:{name:"Infinity",category:"Constants",syntax:["Infinity"],description:"Infinity, a number which is larger than the maximum number that can be handled by a floating point number.",examples:["Infinity","1 / 0"],seealso:[]},LN2:{name:"LN2",category:"Constants",syntax:["LN2"],description:"Returns the natural logarithm of 2, approximately equal to 0.693",examples:["LN2","log(2)"],seealso:[]},LN10:{name:"LN10",category:"Constants",syntax:["LN10"],description:"Returns the natural logarithm of 10, approximately equal to 2.302",examples:["LN10","log(10)"],seealso:[]},LOG2E:{name:"LOG2E",category:"Constants",syntax:["LOG2E"],description:"Returns the base-2 logarithm of E, approximately equal to 1.442",examples:["LOG2E","log(e, 2)"],seealso:[]},LOG10E:{name:"LOG10E",category:"Constants",syntax:["LOG10E"],description:"Returns the base-10 logarithm of E, approximately equal to 0.434",examples:["LOG10E","log(e, 10)"],seealso:[]},NaN:{name:"NaN",category:"Constants",syntax:["NaN"],description:"Not a number",examples:["NaN","0 / 0"],seealso:[]},null:{name:"null",category:"Constants",syntax:["null"],description:"Value null",examples:["null"],seealso:["true","false"]},pi:gd,PI:gd,phi:{name:"phi",category:"Constants",syntax:["phi"],description:"Phi is the golden ratio. Two quantities are in the golden ratio if their ratio is the same as the ratio of their sum to the larger of the two quantities. Phi is defined as `(1 + sqrt(5)) / 2` and is approximately 1.618034...",examples:["phi"],seealso:[]},SQRT1_2:{name:"SQRT1_2",category:"Constants",syntax:["SQRT1_2"],description:"Returns the square root of 1/2, approximately equal to 0.707",examples:["SQRT1_2","sqrt(1/2)"],seealso:[]},SQRT2:{name:"SQRT2",category:"Constants",syntax:["SQRT2"],description:"Returns the square root of 2, approximately equal to 1.414",examples:["SQRT2","sqrt(2)"],seealso:[]},tau:{name:"tau",category:"Constants",syntax:["tau"],description:"Tau is the ratio constant of a circle's circumference to radius, equal to 2 * pi, approximately 6.2832.",examples:["tau","2 * pi"],seealso:["pi"]},true:{name:"true",category:"Constants",syntax:["true"],description:"Boolean value true",examples:["true"],seealso:["false"]},version:{name:"version",category:"Constants",syntax:["version"],description:"A string with the version number of math.js",examples:["version"],seealso:[]},speedOfLight:{description:"Speed of light in vacuum",examples:["speedOfLight"]},gravitationConstant:{description:"Newtonian constant of gravitation",examples:["gravitationConstant"]},planckConstant:{description:"Planck constant",examples:["planckConstant"]},reducedPlanckConstant:{description:"Reduced Planck constant",examples:["reducedPlanckConstant"]},magneticConstant:{description:"Magnetic constant (vacuum permeability)",examples:["magneticConstant"]},electricConstant:{description:"Electric constant (vacuum permeability)",examples:["electricConstant"]},vacuumImpedance:{description:"Characteristic impedance of vacuum",examples:["vacuumImpedance"]},coulomb:{description:"Coulomb's constant",examples:["coulomb"]},elementaryCharge:{description:"Elementary charge",examples:["elementaryCharge"]},bohrMagneton:{description:"Borh magneton",examples:["bohrMagneton"]},conductanceQuantum:{description:"Conductance quantum",examples:["conductanceQuantum"]},inverseConductanceQuantum:{description:"Inverse conductance quantum",examples:["inverseConductanceQuantum"]},magneticFluxQuantum:{description:"Magnetic flux quantum",examples:["magneticFluxQuantum"]},nuclearMagneton:{description:"Nuclear magneton",examples:["nuclearMagneton"]},klitzing:{description:"Von Klitzing constant",examples:["klitzing"]},bohrRadius:{description:"Borh radius",examples:["bohrRadius"]},classicalElectronRadius:{description:"Classical electron radius",examples:["classicalElectronRadius"]},electronMass:{description:"Electron mass",examples:["electronMass"]},fermiCoupling:{description:"Fermi coupling constant",examples:["fermiCoupling"]},fineStructure:{description:"Fine-structure constant",examples:["fineStructure"]},hartreeEnergy:{description:"Hartree energy",examples:["hartreeEnergy"]},protonMass:{description:"Proton mass",examples:["protonMass"]},deuteronMass:{description:"Deuteron Mass",examples:["deuteronMass"]},neutronMass:{description:"Neutron mass",examples:["neutronMass"]},quantumOfCirculation:{description:"Quantum of circulation",examples:["quantumOfCirculation"]},rydberg:{description:"Rydberg constant",examples:["rydberg"]},thomsonCrossSection:{description:"Thomson cross section",examples:["thomsonCrossSection"]},weakMixingAngle:{description:"Weak mixing angle",examples:["weakMixingAngle"]},efimovFactor:{description:"Efimov factor",examples:["efimovFactor"]},atomicMass:{description:"Atomic mass constant",examples:["atomicMass"]},avogadro:{description:"Avogadro's number",examples:["avogadro"]},boltzmann:{description:"Boltzmann constant",examples:["boltzmann"]},faraday:{description:"Faraday constant",examples:["faraday"]},firstRadiation:{description:"First radiation constant",examples:["firstRadiation"]},loschmidt:{description:"Loschmidt constant at T=273.15 K and p=101.325 kPa",examples:["loschmidt"]},gasConstant:{description:"Gas constant",examples:["gasConstant"]},molarPlanckConstant:{description:"Molar Planck constant",examples:["molarPlanckConstant"]},molarVolume:{description:"Molar volume of an ideal gas at T=273.15 K and p=101.325 kPa",examples:["molarVolume"]},sackurTetrode:{description:"Sackur-Tetrode constant at T=1 K and p=101.325 kPa",examples:["sackurTetrode"]},secondRadiation:{description:"Second radiation constant",examples:["secondRadiation"]},stefanBoltzmann:{description:"Stefan-Boltzmann constant",examples:["stefanBoltzmann"]},wienDisplacement:{description:"Wien displacement law constant",examples:["wienDisplacement"]},molarMass:{description:"Molar mass constant",examples:["molarMass"]},molarMassC12:{description:"Molar mass constant of carbon-12",examples:["molarMassC12"]},gravity:{description:"Standard acceleration of gravity (standard acceleration of free-fall on Earth)",examples:["gravity"]},planckLength:{description:"Planck length",examples:["planckLength"]},planckMass:{description:"Planck mass",examples:["planckMass"]},planckTime:{description:"Planck time",examples:["planckTime"]},planckCharge:{description:"Planck charge",examples:["planckCharge"]},planckTemperature:{description:"Planck temperature",examples:["planckTemperature"]},derivative:{name:"derivative",category:"Algebra",syntax:["derivative(expr, variable)","derivative(expr, variable, {simplify: boolean})"],description:"Takes the derivative of an expression expressed in parser Nodes. The derivative will be taken over the supplied variable in the second parameter. If there are multiple variables in the expression, it will return a partial derivative.",examples:['derivative("2x^3", "x")','derivative("2x^3", "x", {simplify: false})','derivative("2x^2 + 3x + 4", "x")','derivative("sin(2x)", "x")','f = parse("x^2 + x")','x = parse("x")',"df = derivative(f, x)","df.evaluate({x: 3})"],seealso:["simplify","parse","evaluate"]},lsolve:{name:"lsolve",category:"Algebra",syntax:["x=lsolve(L, b)"],description:"Finds one solution of the linear system L * x = b where L is an [n x n] lower triangular matrix and b is a [n] column vector.",examples:["a = [-2, 3; 2, 1]","b = [11, 9]","x = lsolve(a, b)"],seealso:["lsolveAll","lup","lusolve","usolve","matrix","sparse"]},lsolveAll:{name:"lsolveAll",category:"Algebra",syntax:["x=lsolveAll(L, b)"],description:"Finds all solutions of the linear system L * x = b where L is an [n x n] lower triangular matrix and b is a [n] column vector.",examples:["a = [-2, 3; 2, 1]","b = [11, 9]","x = lsolve(a, b)"],seealso:["lsolve","lup","lusolve","usolve","matrix","sparse"]},lup:{name:"lup",category:"Algebra",syntax:["lup(m)"],description:"Calculate the Matrix LU decomposition with partial pivoting. Matrix A is decomposed in three matrices (L, U, P) where P * A = L * U",examples:["lup([[2, 1], [1, 4]])","lup(matrix([[2, 1], [1, 4]]))","lup(sparse([[2, 1], [1, 4]]))"],seealso:["lusolve","lsolve","usolve","matrix","sparse","slu","qr"]},lusolve:{name:"lusolve",category:"Algebra",syntax:["x=lusolve(A, b)","x=lusolve(lu, b)"],description:"Solves the linear system A * x = b where A is an [n x n] matrix and b is a [n] column vector.",examples:["a = [-2, 3; 2, 1]","b = [11, 9]","x = lusolve(a, b)"],seealso:["lup","slu","lsolve","usolve","matrix","sparse"]},simplify:{name:"simplify",category:"Algebra",syntax:["simplify(expr)","simplify(expr, rules)"],description:"Simplify an expression tree.",examples:['simplify("3 + 2 / 4")','simplify("2x + x")','f = parse("x * (x + 2 + x)")',"simplified = simplify(f)","simplified.evaluate({x: 2})"],seealso:["derivative","parse","evaluate"]},rationalize:{name:"rationalize",category:"Algebra",syntax:["rationalize(expr)","rationalize(expr, scope)","rationalize(expr, scope, detailed)"],description:"Transform a rationalizable expression in a rational fraction. If rational fraction is one variable polynomial then converts the numerator and denominator in canonical form, with decreasing exponents, returning the coefficients of numerator.",examples:['rationalize("2x/y - y/(x+1)")','rationalize("2x/y - y/(x+1)", true)'],seealso:["simplify"]},slu:{name:"slu",category:"Algebra",syntax:["slu(A, order, threshold)"],description:"Calculate the Matrix LU decomposition with full pivoting. Matrix A is decomposed in two matrices (L, U) and two permutation vectors (pinv, q) where P * A * Q = L * U",examples:["slu(sparse([4.5, 0, 3.2, 0; 3.1, 2.9, 0, 0.9; 0, 1.7, 3, 0; 3.5, 0.4, 0, 1]), 1, 0.001)"],seealso:["lusolve","lsolve","usolve","matrix","sparse","lup","qr"]},usolve:{name:"usolve",category:"Algebra",syntax:["x=usolve(U, b)"],description:"Finds one solution of the linear system U * x = b where U is an [n x n] upper triangular matrix and b is a [n] column vector.",examples:["x=usolve(sparse([1, 1, 1, 1; 0, 1, 1, 1; 0, 0, 1, 1; 0, 0, 0, 1]), [1; 2; 3; 4])"],seealso:["usolveAll","lup","lusolve","lsolve","matrix","sparse"]},usolveAll:{name:"usolveAll",category:"Algebra",syntax:["x=usolve(U, b)"],description:"Finds all solutions of the linear system U * x = b where U is an [n x n] upper triangular matrix and b is a [n] column vector.",examples:["x=usolve(sparse([1, 1, 1, 1; 0, 1, 1, 1; 0, 0, 1, 1; 0, 0, 0, 1]), [1; 2; 3; 4])"],seealso:["usolve","lup","lusolve","lsolve","matrix","sparse"]},qr:{name:"qr",category:"Algebra",syntax:["qr(A)"],description:"Calculates the Matrix QR decomposition. Matrix `A` is decomposed in two matrices (`Q`, `R`) where `Q` is an orthogonal matrix and `R` is an upper triangular matrix.",examples:["qr([[1, -1, 4], [1, 4, -2], [1, 4, 2], [1, -1, 0]])"],seealso:["lup","slu","matrix"]},abs:{name:"abs",category:"Arithmetic",syntax:["abs(x)"],description:"Compute the absolute value.",examples:["abs(3.5)","abs(-4.2)"],seealso:["sign"]},add:{name:"add",category:"Operators",syntax:["x + y","add(x, y)"],description:"Add two values.",examples:["a = 2.1 + 3.6","a - 3.6","3 + 2i","3 cm + 2 inch",'"2.3" + "4"'],seealso:["subtract"]},cbrt:{name:"cbrt",category:"Arithmetic",syntax:["cbrt(x)","cbrt(x, allRoots)"],description:"Compute the cubic root value. If x = y * y * y, then y is the cubic root of x. When `x` is a number or complex number, an optional second argument `allRoots` can be provided to return all three cubic roots. If not provided, the principal root is returned",examples:["cbrt(64)","cube(4)","cbrt(-8)","cbrt(2 + 3i)","cbrt(8i)","cbrt(8i, true)","cbrt(27 m^3)"],seealso:["square","sqrt","cube","multiply"]},ceil:{name:"ceil",category:"Arithmetic",syntax:["ceil(x)"],description:"Round a value towards plus infinity. If x is complex, both real and imaginary part are rounded towards plus infinity.",examples:["ceil(3.2)","ceil(3.8)","ceil(-4.2)"],seealso:["floor","fix","round"]},cube:{name:"cube",category:"Arithmetic",syntax:["cube(x)"],description:"Compute the cube of a value. The cube of x is x * x * x.",examples:["cube(2)","2^3","2 * 2 * 2"],seealso:["multiply","square","pow"]},divide:{name:"divide",category:"Operators",syntax:["x / y","divide(x, y)"],description:"Divide two values.",examples:["a = 2 / 3","a * 3","4.5 / 2","3 + 4 / 2","(3 + 4) / 2","18 km / 4.5"],seealso:["multiply"]},dotDivide:{name:"dotDivide",category:"Operators",syntax:["x ./ y","dotDivide(x, y)"],description:"Divide two values element wise.",examples:["a = [1, 2, 3; 4, 5, 6]","b = [2, 1, 1; 3, 2, 5]","a ./ b"],seealso:["multiply","dotMultiply","divide"]},dotMultiply:{name:"dotMultiply",category:"Operators",syntax:["x .* y","dotMultiply(x, y)"],description:"Multiply two values element wise.",examples:["a = [1, 2, 3; 4, 5, 6]","b = [2, 1, 1; 3, 2, 5]","a .* b"],seealso:["multiply","divide","dotDivide"]},dotPow:{name:"dotPow",category:"Operators",syntax:["x .^ y","dotPow(x, y)"],description:"Calculates the power of x to y element wise.",examples:["a = [1, 2, 3; 4, 5, 6]","a .^ 2"],seealso:["pow"]},exp:{name:"exp",category:"Arithmetic",syntax:["exp(x)"],description:"Calculate the exponent of a value.",examples:["exp(1.3)","e ^ 1.3","log(exp(1.3))","x = 2.4","(exp(i*x) == cos(x) + i*sin(x)) # Euler's formula"],seealso:["expm","expm1","pow","log"]},expm:{name:"expm",category:"Arithmetic",syntax:["exp(x)"],description:"Compute the matrix exponential, expm(A) = e^A. The matrix must be square. Not to be confused with exp(a), which performs element-wise exponentiation.",examples:["expm([[0,2],[0,0]])"],seealso:["exp"]},expm1:{name:"expm1",category:"Arithmetic",syntax:["expm1(x)"],description:"Calculate the value of subtracting 1 from the exponential value.",examples:["expm1(2)","pow(e, 2) - 1","log(expm1(2) + 1)"],seealso:["exp","pow","log"]},fix:{name:"fix",category:"Arithmetic",syntax:["fix(x)"],description:"Round a value towards zero. If x is complex, both real and imaginary part are rounded towards zero.",examples:["fix(3.2)","fix(3.8)","fix(-4.2)","fix(-4.8)"],seealso:["ceil","floor","round"]},floor:{name:"floor",category:"Arithmetic",syntax:["floor(x)"],description:"Round a value towards minus infinity.If x is complex, both real and imaginary part are rounded towards minus infinity.",examples:["floor(3.2)","floor(3.8)","floor(-4.2)"],seealso:["ceil","fix","round"]},gcd:{name:"gcd",category:"Arithmetic",syntax:["gcd(a, b)","gcd(a, b, c, ...)"],description:"Compute the greatest common divisor.",examples:["gcd(8, 12)","gcd(-4, 6)","gcd(25, 15, -10)"],seealso:["lcm","xgcd"]},hypot:{name:"hypot",category:"Arithmetic",syntax:["hypot(a, b, c, ...)","hypot([a, b, c, ...])"],description:"Calculate the hypotenusa of a list with values. ",examples:["hypot(3, 4)","sqrt(3^2 + 4^2)","hypot(-2)","hypot([3, 4, 5])"],seealso:["abs","norm"]},lcm:{name:"lcm",category:"Arithmetic",syntax:["lcm(x, y)"],description:"Compute the least common multiple.",examples:["lcm(4, 6)","lcm(6, 21)","lcm(6, 21, 5)"],seealso:["gcd"]},log:{name:"log",category:"Arithmetic",syntax:["log(x)","log(x, base)"],description:"Compute the logarithm of a value. If no base is provided, the natural logarithm of x is calculated. If base if provided, the logarithm is calculated for the specified base. log(x, base) is defined as log(x) / log(base).",examples:["log(3.5)","a = log(2.4)","exp(a)","10 ^ 4","log(10000, 10)","log(10000) / log(10)","b = log(1024, 2)","2 ^ b"],seealso:["exp","log1p","log2","log10"]},log2:{name:"log2",category:"Arithmetic",syntax:["log2(x)"],description:"Calculate the 2-base of a value. This is the same as calculating `log(x, 2)`.",examples:["log2(0.03125)","log2(16)","log2(16) / log2(2)","pow(2, 4)"],seealso:["exp","log1p","log","log10"]},log1p:{name:"log1p",category:"Arithmetic",syntax:["log1p(x)","log1p(x, base)"],description:"Calculate the logarithm of a `value+1`",examples:["log1p(2.5)","exp(log1p(1.4))","pow(10, 4)","log1p(9999, 10)","log1p(9999) / log(10)"],seealso:["exp","log","log2","log10"]},log10:{name:"log10",category:"Arithmetic",syntax:["log10(x)"],description:"Compute the 10-base logarithm of a value.",examples:["log10(0.00001)","log10(10000)","10 ^ 4","log(10000) / log(10)","log(10000, 10)"],seealso:["exp","log"]},mod:{name:"mod",category:"Operators",syntax:["x % y","x mod y","mod(x, y)"],description:"Calculates the modulus, the remainder of an integer division.",examples:["7 % 3","11 % 2","10 mod 4","isOdd(x) = x % 2","isOdd(2)","isOdd(3)"],seealso:["divide"]},multiply:{name:"multiply",category:"Operators",syntax:["x * y","multiply(x, y)"],description:"multiply two values.",examples:["a = 2.1 * 3.4","a / 3.4","2 * 3 + 4","2 * (3 + 4)","3 * 2.1 km"],seealso:["divide"]},norm:{name:"norm",category:"Arithmetic",syntax:["norm(x)","norm(x, p)"],description:"Calculate the norm of a number, vector or matrix.",examples:["abs(-3.5)","norm(-3.5)","norm(3 - 4i)","norm([1, 2, -3], Infinity)","norm([1, 2, -3], -Infinity)","norm([3, 4], 2)","norm([[1, 2], [3, 4]], 1)",'norm([[1, 2], [3, 4]], "inf")','norm([[1, 2], [3, 4]], "fro")']},nthRoot:{name:"nthRoot",category:"Arithmetic",syntax:["nthRoot(a)","nthRoot(a, root)"],description:'Calculate the nth root of a value. The principal nth root of a positive real number A, is the positive real solution of the equation "x^root = A".',examples:["4 ^ 3","nthRoot(64, 3)","nthRoot(9, 2)","sqrt(9)"],seealso:["nthRoots","pow","sqrt"]},nthRoots:{name:"nthRoots",category:"Arithmetic",syntax:["nthRoots(A)","nthRoots(A, root)"],description:'Calculate the nth roots of a value. An nth root of a positive real number A, is a positive real solution of the equation "x^root = A". This function returns an array of complex values.',examples:["nthRoots(1)","nthRoots(1, 3)"],seealso:["sqrt","pow","nthRoot"]},pow:{name:"pow",category:"Operators",syntax:["x ^ y","pow(x, y)"],description:"Calculates the power of x to y, x^y.",examples:["2^3","2*2*2","1 + e ^ (pi * i)"],seealso:["multiply","nthRoot","nthRoots","sqrt"]},round:{name:"round",category:"Arithmetic",syntax:["round(x)","round(x, n)"],description:"round a value towards the nearest integer.If x is complex, both real and imaginary part are rounded towards the nearest integer. When n is specified, the value is rounded to n decimals.",examples:["round(3.2)","round(3.8)","round(-4.2)","round(-4.8)","round(pi, 3)","round(123.45678, 2)"],seealso:["ceil","floor","fix"]},sign:{name:"sign",category:"Arithmetic",syntax:["sign(x)"],description:"Compute the sign of a value. The sign of a value x is 1 when x>1, -1 when x<0, and 0 when x=0.",examples:["sign(3.5)","sign(-4.2)","sign(0)"],seealso:["abs"]},sqrt:{name:"sqrt",category:"Arithmetic",syntax:["sqrt(x)"],description:"Compute the square root value. If x = y * y, then y is the square root of x.",examples:["sqrt(25)","5 * 5","sqrt(-1)"],seealso:["square","sqrtm","multiply","nthRoot","nthRoots","pow"]},sqrtm:{name:"sqrtm",category:"Arithmetic",syntax:["sqrtm(x)"],description:"Calculate the principal square root of a square matrix. The principal square root matrix `X` of another matrix `A` is such that `X * X = A`.",examples:["sqrtm([[1, 2], [3, 4]])"],seealso:["sqrt","abs","square","multiply"]},square:{name:"square",category:"Arithmetic",syntax:["square(x)"],description:"Compute the square of a value. The square of x is x * x.",examples:["square(3)","sqrt(9)","3^2","3 * 3"],seealso:["multiply","pow","sqrt","cube"]},subtract:{name:"subtract",category:"Operators",syntax:["x - y","subtract(x, y)"],description:"subtract two values.",examples:["a = 5.3 - 2","a + 2","2/3 - 1/6","2 * 3 - 3","2.1 km - 500m"],seealso:["add"]},unaryMinus:{name:"unaryMinus",category:"Operators",syntax:["-x","unaryMinus(x)"],description:"Inverse the sign of a value. Converts booleans and strings to numbers.",examples:["-4.5","-(-5.6)",'-"22"'],seealso:["add","subtract","unaryPlus"]},unaryPlus:{name:"unaryPlus",category:"Operators",syntax:["+x","unaryPlus(x)"],description:"Converts booleans and strings to numbers.",examples:["+true",'+"2"'],seealso:["add","subtract","unaryMinus"]},xgcd:{name:"xgcd",category:"Arithmetic",syntax:["xgcd(a, b)"],description:"Calculate the extended greatest common divisor for two values. The result is an array [d, x, y] with 3 entries, where d is the greatest common divisor, and d = x * a + y * b.",examples:["xgcd(8, 12)","gcd(8, 12)","xgcd(36163, 21199)"],seealso:["gcd","lcm"]},bitAnd:{name:"bitAnd",category:"Bitwise",syntax:["x & y","bitAnd(x, y)"],description:"Bitwise AND operation. Performs the logical AND operation on each pair of the corresponding bits of the two given values by multiplying them. If both bits in the compared position are 1, the bit in the resulting binary representation is 1, otherwise, the result is 0",examples:["5 & 3","bitAnd(53, 131)","[1, 12, 31] & 42"],seealso:["bitNot","bitOr","bitXor","leftShift","rightArithShift","rightLogShift"]},bitNot:{name:"bitNot",category:"Bitwise",syntax:["~x","bitNot(x)"],description:"Bitwise NOT operation. Performs a logical negation on each bit of the given value. Bits that are 0 become 1, and those that are 1 become 0.",examples:["~1","~2","bitNot([2, -3, 4])"],seealso:["bitAnd","bitOr","bitXor","leftShift","rightArithShift","rightLogShift"]},bitOr:{name:"bitOr",category:"Bitwise",syntax:["x | y","bitOr(x, y)"],description:"Bitwise OR operation. Performs the logical inclusive OR operation on each pair of corresponding bits of the two given values. The result in each position is 1 if the first bit is 1 or the second bit is 1 or both bits are 1, otherwise, the result is 0.",examples:["5 | 3","bitOr([1, 2, 3], 4)"],seealso:["bitAnd","bitNot","bitXor","leftShift","rightArithShift","rightLogShift"]},bitXor:{name:"bitXor",category:"Bitwise",syntax:["bitXor(x, y)"],description:"Bitwise XOR operation, exclusive OR. Performs the logical exclusive OR operation on each pair of corresponding bits of the two given values. The result in each position is 1 if only the first bit is 1 or only the second bit is 1, but will be 0 if both are 0 or both are 1.",examples:["bitOr(1, 2)","bitXor([2, 3, 4], 4)"],seealso:["bitAnd","bitNot","bitOr","leftShift","rightArithShift","rightLogShift"]},leftShift:{name:"leftShift",category:"Bitwise",syntax:["x << y","leftShift(x, y)"],description:"Bitwise left logical shift of a value x by y number of bits.",examples:["4 << 1","8 >> 1"],seealso:["bitAnd","bitNot","bitOr","bitXor","rightArithShift","rightLogShift"]},rightArithShift:{name:"rightArithShift",category:"Bitwise",syntax:["x >> y","rightArithShift(x, y)"],description:"Bitwise right arithmetic shift of a value x by y number of bits.",examples:["8 >> 1","4 << 1","-12 >> 2"],seealso:["bitAnd","bitNot","bitOr","bitXor","leftShift","rightLogShift"]},rightLogShift:{name:"rightLogShift",category:"Bitwise",syntax:["x >>> y","rightLogShift(x, y)"],description:"Bitwise right logical shift of a value x by y number of bits.",examples:["8 >>> 1","4 << 1","-12 >>> 2"],seealso:["bitAnd","bitNot","bitOr","bitXor","leftShift","rightArithShift"]},bellNumbers:{name:"bellNumbers",category:"Combinatorics",syntax:["bellNumbers(n)"],description:"The Bell Numbers count the number of partitions of a set. A partition is a pairwise disjoint subset of S whose union is S. `bellNumbers` only takes integer arguments. The following condition must be enforced: n >= 0.",examples:["bellNumbers(3)","bellNumbers(8)"],seealso:["stirlingS2"]},catalan:{name:"catalan",category:"Combinatorics",syntax:["catalan(n)"],description:"The Catalan Numbers enumerate combinatorial structures of many different types. catalan only takes integer arguments. The following condition must be enforced: n >= 0.",examples:["catalan(3)","catalan(8)"],seealso:["bellNumbers"]},composition:{name:"composition",category:"Combinatorics",syntax:["composition(n, k)"],description:"The composition counts of n into k parts. composition only takes integer arguments. The following condition must be enforced: k <= n.",examples:["composition(5, 3)"],seealso:["combinations"]},stirlingS2:{name:"stirlingS2",category:"Combinatorics",syntax:["stirlingS2(n, k)"],description:"he Stirling numbers of the second kind, counts the number of ways to partition a set of n labelled objects into k nonempty unlabelled subsets. `stirlingS2` only takes integer arguments. The following condition must be enforced: k <= n. If n = k or k = 1, then s(n,k) = 1.",examples:["stirlingS2(5, 3)"],seealso:["bellNumbers"]},config:{name:"config",category:"Core",syntax:["config()","config(options)"],description:"Get configuration or change configuration.",examples:["config()","1/3 + 1/4",'config({number: "Fraction"})',"1/3 + 1/4"],seealso:[]},import:{name:"import",category:"Core",syntax:["import(functions)","import(functions, options)"],description:"Import functions or constants from an object.",examples:["import({myFn: f(x)=x^2, myConstant: 32 })","myFn(2)","myConstant"],seealso:[]},typed:{name:"typed",category:"Core",syntax:["typed(signatures)","typed(name, signatures)"],description:"Create a typed function.",examples:['double = typed({ "number, number": f(x)=x+x })',"double(2)",'double("hello")'],seealso:[]},arg:{name:"arg",category:"Complex",syntax:["arg(x)"],description:"Compute the argument of a complex value. If x = a+bi, the argument is computed as atan2(b, a).",examples:["arg(2 + 2i)","atan2(3, 2)","arg(2 + 3i)"],seealso:["re","im","conj","abs"]},conj:{name:"conj",category:"Complex",syntax:["conj(x)"],description:"Compute the complex conjugate of a complex value. If x = a+bi, the complex conjugate is a-bi.",examples:["conj(2 + 3i)","conj(2 - 3i)","conj(-5.2i)"],seealso:["re","im","abs","arg"]},re:{name:"re",category:"Complex",syntax:["re(x)"],description:"Get the real part of a complex number.",examples:["re(2 + 3i)","im(2 + 3i)","re(-5.2i)","re(2.4)"],seealso:["im","conj","abs","arg"]},im:{name:"im",category:"Complex",syntax:["im(x)"],description:"Get the imaginary part of a complex number.",examples:["im(2 + 3i)","re(2 + 3i)","im(-5.2i)","im(2.4)"],seealso:["re","conj","abs","arg"]},evaluate:{name:"evaluate",category:"Expression",syntax:["evaluate(expression)","evaluate([expr1, expr2, expr3, ...])"],description:"Evaluate an expression or an array with expressions.",examples:['evaluate("2 + 3")','evaluate("sqrt(" + 4 + ")")'],seealso:[]},help:{name:"help",category:"Expression",syntax:["help(object)","help(string)"],description:"Display documentation on a function or data type.",examples:["help(sqrt)",'help("complex")'],seealso:[]},distance:{name:"distance",category:"Geometry",syntax:["distance([x1, y1], [x2, y2])","distance([[x1, y1], [x2, y2]])"],description:"Calculates the Euclidean distance between two points.",examples:["distance([0,0], [4,4])","distance([[0,0], [4,4]])"],seealso:[]},intersect:{name:"intersect",category:"Geometry",syntax:["intersect(expr1, expr2, expr3, expr4)","intersect(expr1, expr2, expr3)"],description:"Computes the intersection point of lines and/or planes.",examples:["intersect([0, 0], [10, 10], [10, 0], [0, 10])","intersect([1, 0, 1], [4, -2, 2], [1, 1, 1, 6])"],seealso:[]},and:{name:"and",category:"Logical",syntax:["x and y","and(x, y)"],description:"Logical and. Test whether two values are both defined with a nonzero/nonempty value.",examples:["true and false","true and true","2 and 4"],seealso:["not","or","xor"]},not:{name:"not",category:"Logical",syntax:["not x","not(x)"],description:"Logical not. Flips the boolean value of given argument.",examples:["not true","not false","not 2","not 0"],seealso:["and","or","xor"]},or:{name:"or",category:"Logical",syntax:["x or y","or(x, y)"],description:"Logical or. Test if at least one value is defined with a nonzero/nonempty value.",examples:["true or false","false or false","0 or 4"],seealso:["not","and","xor"]},xor:{name:"xor",category:"Logical",syntax:["x xor y","xor(x, y)"],description:"Logical exclusive or, xor. Test whether one and only one value is defined with a nonzero/nonempty value.",examples:["true xor false","false xor false","true xor true","0 xor 4"],seealso:["not","and","or"]},concat:{name:"concat",category:"Matrix",syntax:["concat(A, B, C, ...)","concat(A, B, C, ..., dim)"],description:"Concatenate matrices. By default, the matrices are concatenated by the last dimension. The dimension on which to concatenate can be provided as last argument.",examples:["A = [1, 2; 5, 6]","B = [3, 4; 7, 8]","concat(A, B)","concat(A, B, 1)","concat(A, B, 2)"],seealso:["det","diag","identity","inv","ones","range","size","squeeze","subset","trace","transpose","zeros"]},cross:{name:"cross",category:"Matrix",syntax:["cross(A, B)"],description:"Calculate the cross product for two vectors in three dimensional space.",examples:["cross([1, 1, 0], [0, 1, 1])","cross([3, -3, 1], [4, 9, 2])","cross([2, 3, 4], [5, 6, 7])"],seealso:["multiply","dot"]},column:{name:"column",category:"Matrix",syntax:["column(x, index)"],description:"Return a column from a matrix or array.",examples:["A = [[1, 2], [3, 4]]","column(A, 1)","column(A, 2)"],seealso:["row"]},ctranspose:{name:"ctranspose",category:"Matrix",syntax:["x'","ctranspose(x)"],description:"Complex Conjugate and Transpose a matrix",examples:["a = [1, 2, 3; 4, 5, 6]","a'","ctranspose(a)"],seealso:["concat","det","diag","identity","inv","ones","range","size","squeeze","subset","trace","zeros"]},det:{name:"det",category:"Matrix",syntax:["det(x)"],description:"Calculate the determinant of a matrix",examples:["det([1, 2; 3, 4])","det([-2, 2, 3; -1, 1, 3; 2, 0, -1])"],seealso:["concat","diag","identity","inv","ones","range","size","squeeze","subset","trace","transpose","zeros"]},diag:{name:"diag",category:"Matrix",syntax:["diag(x)","diag(x, k)"],description:"Create a diagonal matrix or retrieve the diagonal of a matrix. When x is a vector, a matrix with the vector values on the diagonal will be returned. When x is a matrix, a vector with the diagonal values of the matrix is returned. When k is provided, the k-th diagonal will be filled in or retrieved, if k is positive, the values are placed on the super diagonal. When k is negative, the values are placed on the sub diagonal.",examples:["diag(1:3)","diag(1:3, 1)","a = [1, 2, 3; 4, 5, 6; 7, 8, 9]","diag(a)"],seealso:["concat","det","identity","inv","ones","range","size","squeeze","subset","trace","transpose","zeros"]},diff:{name:"diff",category:"Matrix",syntax:["diff(arr)","diff(arr, dim)"],description:["Create a new matrix or array with the difference of the passed matrix or array.","Dim parameter is optional and used to indicant the dimension of the array/matrix to apply the difference","If no dimension parameter is passed it is assumed as dimension 0","Dimension is zero-based in javascript and one-based in the parser","Arrays must be 'rectangular' meaning arrays like [1, 2]","If something is passed as a matrix it will be returned as a matrix but other than that all matrices are converted to arrays"],examples:["diff([1, 2, 4, 7, 0])","diff([1, 2, 4, 7, 0], 0)","diff(matrix([1, 2, 4, 7, 0]))","diff([[1, 2], [3, 4]])","diff([[1, 2], [3, 4]], 0)","diff([[1, 2], [3, 4]], 1)","diff([[1, 2], [3, 4]], bignumber(1))","diff(matrix([[1, 2], [3, 4]]), 1)","diff([[1, 2], matrix([3, 4])], 1)"],seealso:["subtract","partitionSelect"]},dot:{name:"dot",category:"Matrix",syntax:["dot(A, B)","A * B"],description:"Calculate the dot product of two vectors. The dot product of A = [a1, a2, a3, ..., an] and B = [b1, b2, b3, ..., bn] is defined as dot(A, B) = a1 * b1 + a2 * b2 + a3 * b3 + ... + an * bn",examples:["dot([2, 4, 1], [2, 2, 3])","[2, 4, 1] * [2, 2, 3]"],seealso:["multiply","cross"]},getMatrixDataType:{name:"getMatrixDataType",category:"Matrix",syntax:["getMatrixDataType(x)"],description:'Find the data type of all elements in a matrix or array, for example "number" if all items are a number and "Complex" if all values are complex numbers. If a matrix contains more than one data type, it will return "mixed".',examples:["getMatrixDataType([1, 2, 3])","getMatrixDataType([[5 cm], [2 inch]])",'getMatrixDataType([1, "text"])',"getMatrixDataType([1, bignumber(4)])"],seealso:["matrix","sparse","typeOf"]},identity:{name:"identity",category:"Matrix",syntax:["identity(n)","identity(m, n)","identity([m, n])"],description:"Returns the identity matrix with size m-by-n. The matrix has ones on the diagonal and zeros elsewhere.",examples:["identity(3)","identity(3, 5)","a = [1, 2, 3; 4, 5, 6]","identity(size(a))"],seealso:["concat","det","diag","inv","ones","range","size","squeeze","subset","trace","transpose","zeros"]},filter:{name:"filter",category:"Matrix",syntax:["filter(x, test)"],description:"Filter items in a matrix.",examples:["isPositive(x) = x > 0","filter([6, -2, -1, 4, 3], isPositive)","filter([6, -2, 0, 1, 0], x != 0)"],seealso:["sort","map","forEach"]},flatten:{name:"flatten",category:"Matrix",syntax:["flatten(x)"],description:"Flatten a multi dimensional matrix into a single dimensional matrix.",examples:["a = [1, 2, 3; 4, 5, 6]","size(a)","b = flatten(a)","size(b)"],seealso:["concat","resize","size","squeeze"]},forEach:{name:"forEach",category:"Matrix",syntax:["forEach(x, callback)"],description:"Iterates over all elements of a matrix/array, and executes the given callback function.",examples:["forEach([1, 2, 3], function(val) { console.log(val) })"],seealso:["map","sort","filter"]},inv:{name:"inv",category:"Matrix",syntax:["inv(x)"],description:"Calculate the inverse of a matrix",examples:["inv([1, 2; 3, 4])","inv(4)","1 / 4"],seealso:["concat","det","diag","identity","ones","range","size","squeeze","subset","trace","transpose","zeros"]},eigs:{name:"eigs",category:"Matrix",syntax:["eigs(x)"],description:"Calculate the eigenvalues and eigenvectors of a real symmetric matrix",examples:["eigs([[5, 2.3], [2.3, 1]])"],seealso:["inv"]},kron:{name:"kron",category:"Matrix",syntax:["kron(x, y)"],description:"Calculates the kronecker product of 2 matrices or vectors.",examples:["kron([[1, 0], [0, 1]], [[1, 2], [3, 4]])","kron([1,1], [2,3,4])"],seealso:["multiply","dot","cross"]},map:{name:"map",category:"Matrix",syntax:["map(x, callback)"],description:"Create a new matrix or array with the results of the callback function executed on each entry of the matrix/array.",examples:["map([1, 2, 3], square)"],seealso:["filter","forEach"]},ones:{name:"ones",category:"Matrix",syntax:["ones(m)","ones(m, n)","ones(m, n, p, ...)","ones([m])","ones([m, n])","ones([m, n, p, ...])"],description:"Create a matrix containing ones.",examples:["ones(3)","ones(3, 5)","ones([2,3]) * 4.5","a = [1, 2, 3; 4, 5, 6]","ones(size(a))"],seealso:["concat","det","diag","identity","inv","range","size","squeeze","subset","trace","transpose","zeros"]},partitionSelect:{name:"partitionSelect",category:"Matrix",syntax:["partitionSelect(x, k)","partitionSelect(x, k, compare)"],description:"Partition-based selection of an array or 1D matrix. Will find the kth smallest value, and mutates the input array. Uses Quickselect.",examples:["partitionSelect([5, 10, 1], 2)",'partitionSelect(["C", "B", "A", "D"], 1)'],seealso:["sort"]},range:{name:"range",category:"Type",syntax:["start:end","start:step:end","range(start, end)","range(start, end, step)","range(string)"],description:"Create a range. Lower bound of the range is included, upper bound is excluded.",examples:["1:5","3:-1:-3","range(3, 7)","range(0, 12, 2)",'range("4:10")',"a = [1, 2, 3, 4; 5, 6, 7, 8]","a[1:2, 1:2]"],seealso:["concat","det","diag","identity","inv","ones","size","squeeze","subset","trace","transpose","zeros"]},resize:{name:"resize",category:"Matrix",syntax:["resize(x, size)","resize(x, size, defaultValue)"],description:"Resize a matrix.",examples:["resize([1,2,3,4,5], [3])","resize([1,2,3], [5])","resize([1,2,3], [5], -1)","resize(2, [2, 3])",'resize("hello", [8], "!")'],seealso:["size","subset","squeeze","reshape"]},reshape:{name:"reshape",category:"Matrix",syntax:["reshape(x, sizes)"],description:"Reshape a multi dimensional array to fit the specified dimensions.",examples:["reshape([1, 2, 3, 4, 5, 6], [2, 3])","reshape([[1, 2], [3, 4]], [1, 4])","reshape([[1, 2], [3, 4]], [4])"],seealso:["size","squeeze","resize"]},rotate:{name:"rotate",category:"Matrix",syntax:["rotate(w, theta)","rotate(w, theta, v)"],description:"Returns a 2-D rotation matrix (2x2) for a given angle (in radians). Returns a 2-D rotation matrix (3x3) of a given angle (in radians) around given axis.",examples:["rotate([1, 0], math.pi / 2)",'rotate(matrix([1, 0]), unit("35deg"))','rotate([1, 0, 0], unit("90deg"), [0, 0, 1])','rotate(matrix([1, 0, 0]), unit("90deg"), matrix([0, 0, 1]))'],seealso:["matrix","rotationMatrix"]},rotationMatrix:{name:"rotationMatrix",category:"Matrix",syntax:["rotationMatrix(theta)","rotationMatrix(theta, v)","rotationMatrix(theta, v, format)"],description:"Returns a 2-D rotation matrix (2x2) for a given angle (in radians). Returns a 2-D rotation matrix (3x3) of a given angle (in radians) around given axis.",examples:["rotationMatrix(pi / 2)",'rotationMatrix(unit("45deg"), [0, 0, 1])','rotationMatrix(1, matrix([0, 0, 1]), "sparse")'],seealso:["cos","sin"]},row:{name:"row",category:"Matrix",syntax:["row(x, index)"],description:"Return a row from a matrix or array.",examples:["A = [[1, 2], [3, 4]]","row(A, 1)","row(A, 2)"],seealso:["column"]},size:{name:"size",category:"Matrix",syntax:["size(x)"],description:"Calculate the size of a matrix.",examples:["size(2.3)",'size("hello world")',"a = [1, 2; 3, 4; 5, 6]","size(a)","size(1:6)"],seealso:["concat","det","diag","identity","inv","ones","range","squeeze","subset","trace","transpose","zeros"]},sort:{name:"sort",category:"Matrix",syntax:["sort(x)","sort(x, compare)"],description:'Sort the items in a matrix. Compare can be a string "asc", "desc", "natural", or a custom sort function.',examples:["sort([5, 10, 1])",'sort(["C", "B", "A", "D"])',"sortByLength(a, b) = size(a)[1] - size(b)[1]",'sort(["Langdon", "Tom", "Sara"], sortByLength)','sort(["10", "1", "2"], "natural")'],seealso:["map","filter","forEach"]},squeeze:{name:"squeeze",category:"Matrix",syntax:["squeeze(x)"],description:"Remove inner and outer singleton dimensions from a matrix.",examples:["a = zeros(3,2,1)","size(squeeze(a))","b = zeros(1,1,3)","size(squeeze(b))"],seealso:["concat","det","diag","identity","inv","ones","range","size","subset","trace","transpose","zeros"]},subset:{name:"subset",category:"Matrix",syntax:["value(index)","value(index) = replacement","subset(value, [index])","subset(value, [index], replacement)"],description:"Get or set a subset of a matrix or string. Indexes are one-based. Both the ranges lower-bound and upper-bound are included.",examples:["d = [1, 2; 3, 4]","e = []","e[1, 1:2] = [5, 6]","e[2, :] = [7, 8]","f = d * e","f[2, 1]","f[:, 1]"],seealso:["concat","det","diag","identity","inv","ones","range","size","squeeze","trace","transpose","zeros"]},trace:{name:"trace",category:"Matrix",syntax:["trace(A)"],description:"Calculate the trace of a matrix: the sum of the elements on the main diagonal of a square matrix.",examples:["A = [1, 2, 3; -1, 2, 3; 2, 0, 3]","trace(A)"],seealso:["concat","det","diag","identity","inv","ones","range","size","squeeze","subset","transpose","zeros"]},transpose:{name:"transpose",category:"Matrix",syntax:["x'","transpose(x)"],description:"Transpose a matrix",examples:["a = [1, 2, 3; 4, 5, 6]","a'","transpose(a)"],seealso:["concat","det","diag","identity","inv","ones","range","size","squeeze","subset","trace","zeros"]},zeros:{name:"zeros",category:"Matrix",syntax:["zeros(m)","zeros(m, n)","zeros(m, n, p, ...)","zeros([m])","zeros([m, n])","zeros([m, n, p, ...])"],description:"Create a matrix containing zeros.",examples:["zeros(3)","zeros(3, 5)","a = [1, 2, 3; 4, 5, 6]","zeros(size(a))"],seealso:["concat","det","diag","identity","inv","ones","range","size","squeeze","subset","trace","transpose"]},combinations:{name:"combinations",category:"Probability",syntax:["combinations(n, k)"],description:"Compute the number of combinations of n items taken k at a time",examples:["combinations(7, 5)"],seealso:["combinationsWithRep","permutations","factorial"]},combinationsWithRep:{name:"combinationsWithRep",category:"Probability",syntax:["combinationsWithRep(n, k)"],description:"Compute the number of combinations of n items taken k at a time with replacements.",examples:["combinationsWithRep(7, 5)"],seealso:["combinations","permutations","factorial"]},factorial:{name:"factorial",category:"Probability",syntax:["n!","factorial(n)"],description:"Compute the factorial of a value",examples:["5!","5 * 4 * 3 * 2 * 1","3!"],seealso:["combinations","combinationsWithRep","permutations","gamma"]},gamma:{name:"gamma",category:"Probability",syntax:["gamma(n)"],description:"Compute the gamma function. For small values, the Lanczos approximation is used, and for large values the extended Stirling approximation.",examples:["gamma(4)","3!","gamma(1/2)","sqrt(pi)"],seealso:["factorial"]},kldivergence:{name:"kldivergence",category:"Probability",syntax:["kldivergence(x, y)"],description:"Calculate the Kullback-Leibler (KL) divergence between two distributions.",examples:["kldivergence([0.7,0.5,0.4], [0.2,0.9,0.5])"],seealso:[]},multinomial:{name:"multinomial",category:"Probability",syntax:["multinomial(A)"],description:"Multinomial Coefficients compute the number of ways of picking a1, a2, ..., ai unordered outcomes from `n` possibilities. multinomial takes one array of integers as an argument. The following condition must be enforced: every ai > 0.",examples:["multinomial([1, 2, 1])"],seealso:["combinations","factorial"]},permutations:{name:"permutations",category:"Probability",syntax:["permutations(n)","permutations(n, k)"],description:"Compute the number of permutations of n items taken k at a time",examples:["permutations(5)","permutations(5, 3)"],seealso:["combinations","combinationsWithRep","factorial"]},pickRandom:{name:"pickRandom",category:"Probability",syntax:["pickRandom(array)","pickRandom(array, number)","pickRandom(array, weights)","pickRandom(array, number, weights)","pickRandom(array, weights, number)"],description:"Pick a random entry from a given array.",examples:["pickRandom(0:10)","pickRandom([1, 3, 1, 6])","pickRandom([1, 3, 1, 6], 2)","pickRandom([1, 3, 1, 6], [2, 3, 2, 1])","pickRandom([1, 3, 1, 6], 2, [2, 3, 2, 1])","pickRandom([1, 3, 1, 6], [2, 3, 2, 1], 2)"],seealso:["random","randomInt"]},random:{name:"random",category:"Probability",syntax:["random()","random(max)","random(min, max)","random(size)","random(size, max)","random(size, min, max)"],description:"Return a random number.",examples:["random()","random(10, 20)","random([2, 3])"],seealso:["pickRandom","randomInt"]},randomInt:{name:"randomInt",category:"Probability",syntax:["randomInt(max)","randomInt(min, max)","randomInt(size)","randomInt(size, max)","randomInt(size, min, max)"],description:"Return a random integer number",examples:["randomInt(10, 20)","randomInt([2, 3], 10)"],seealso:["pickRandom","random"]},compare:{name:"compare",category:"Relational",syntax:["compare(x, y)"],description:"Compare two values. Returns 1 when x > y, -1 when x < y, and 0 when x == y.",examples:["compare(2, 3)","compare(3, 2)","compare(2, 2)","compare(5cm, 40mm)","compare(2, [1, 2, 3])"],seealso:["equal","unequal","smaller","smallerEq","largerEq","compareNatural","compareText"]},compareNatural:{name:"compareNatural",category:"Relational",syntax:["compareNatural(x, y)"],description:"Compare two values of any type in a deterministic, natural way. Returns 1 when x > y, -1 when x < y, and 0 when x == y.",examples:["compareNatural(2, 3)","compareNatural(3, 2)","compareNatural(2, 2)","compareNatural(5cm, 40mm)",'compareNatural("2", "10")',"compareNatural(2 + 3i, 2 + 4i)","compareNatural([1, 2, 4], [1, 2, 3])","compareNatural([1, 5], [1, 2, 3])","compareNatural([1, 2], [1, 2])","compareNatural({a: 2}, {a: 4})"],seealso:["equal","unequal","smaller","smallerEq","largerEq","compare","compareText"]},compareText:{name:"compareText",category:"Relational",syntax:["compareText(x, y)"],description:"Compare two strings lexically. Comparison is case sensitive. Returns 1 when x > y, -1 when x < y, and 0 when x == y.",examples:['compareText("B", "A")','compareText("A", "B")','compareText("A", "A")','compareText("2", "10")','compare("2", "10")',"compare(2, 10)",'compareNatural("2", "10")','compareText("B", ["A", "B", "C"])'],seealso:["compare","compareNatural"]},deepEqual:{name:"deepEqual",category:"Relational",syntax:["deepEqual(x, y)"],description:"Check equality of two matrices element wise. Returns true if the size of both matrices is equal and when and each of the elements are equal.",examples:["deepEqual([1,3,4], [1,3,4])","deepEqual([1,3,4], [1,3])"],seealso:["equal","unequal","smaller","larger","smallerEq","largerEq","compare"]},equal:{name:"equal",category:"Relational",syntax:["x == y","equal(x, y)"],description:"Check equality of two values. Returns true if the values are equal, and false if not.",examples:["2+2 == 3","2+2 == 4","a = 3.2","b = 6-2.8","a == b","50cm == 0.5m"],seealso:["unequal","smaller","larger","smallerEq","largerEq","compare","deepEqual","equalText"]},equalText:{name:"equalText",category:"Relational",syntax:["equalText(x, y)"],description:"Check equality of two strings. Comparison is case sensitive. Returns true if the values are equal, and false if not.",examples:['equalText("Hello", "Hello")','equalText("a", "A")','equal("2e3", "2000")','equalText("2e3", "2000")','equalText("B", ["A", "B", "C"])'],seealso:["compare","compareNatural","compareText","equal"]},larger:{name:"larger",category:"Relational",syntax:["x > y","larger(x, y)"],description:"Check if value x is larger than y. Returns true if x is larger than y, and false if not.",examples:["2 > 3","5 > 2*2","a = 3.3","b = 6-2.8","(a > b)","(b < a)","5 cm > 2 inch"],seealso:["equal","unequal","smaller","smallerEq","largerEq","compare"]},largerEq:{name:"largerEq",category:"Relational",syntax:["x >= y","largerEq(x, y)"],description:"Check if value x is larger or equal to y. Returns true if x is larger or equal to y, and false if not.",examples:["2 >= 1+1","2 > 1+1","a = 3.2","b = 6-2.8","(a >= b)"],seealso:["equal","unequal","smallerEq","smaller","compare"]},smaller:{name:"smaller",category:"Relational",syntax:["x < y","smaller(x, y)"],description:"Check if value x is smaller than value y. Returns true if x is smaller than y, and false if not.",examples:["2 < 3","5 < 2*2","a = 3.3","b = 6-2.8","(a < b)","5 cm < 2 inch"],seealso:["equal","unequal","larger","smallerEq","largerEq","compare"]},smallerEq:{name:"smallerEq",category:"Relational",syntax:["x <= y","smallerEq(x, y)"],description:"Check if value x is smaller or equal to value y. Returns true if x is smaller than y, and false if not.",examples:["2 <= 1+1","2 < 1+1","a = 3.2","b = 6-2.8","(a <= b)"],seealso:["equal","unequal","larger","smaller","largerEq","compare"]},unequal:{name:"unequal",category:"Relational",syntax:["x != y","unequal(x, y)"],description:"Check unequality of two values. Returns true if the values are unequal, and false if they are equal.",examples:["2+2 != 3","2+2 != 4","a = 3.2","b = 6-2.8","a != b","50cm != 0.5m","5 cm != 2 inch"],seealso:["equal","smaller","larger","smallerEq","largerEq","compare","deepEqual"]},setCartesian:{name:"setCartesian",category:"Set",syntax:["setCartesian(set1, set2)"],description:"Create the cartesian product of two (multi)sets. Multi-dimension arrays will be converted to single-dimension arrays before the operation.",examples:["setCartesian([1, 2], [3, 4])"],seealso:["setUnion","setIntersect","setDifference","setPowerset"]},setDifference:{name:"setDifference",category:"Set",syntax:["setDifference(set1, set2)"],description:"Create the difference of two (multi)sets: every element of set1, that is not the element of set2. Multi-dimension arrays will be converted to single-dimension arrays before the operation.",examples:["setDifference([1, 2, 3, 4], [3, 4, 5, 6])","setDifference([[1, 2], [3, 4]], [[3, 4], [5, 6]])"],seealso:["setUnion","setIntersect","setSymDifference"]},setDistinct:{name:"setDistinct",category:"Set",syntax:["setDistinct(set)"],description:"Collect the distinct elements of a multiset. A multi-dimension array will be converted to a single-dimension array before the operation.",examples:["setDistinct([1, 1, 1, 2, 2, 3])"],seealso:["setMultiplicity"]},setIntersect:{name:"setIntersect",category:"Set",syntax:["setIntersect(set1, set2)"],description:"Create the intersection of two (multi)sets. Multi-dimension arrays will be converted to single-dimension arrays before the operation.",examples:["setIntersect([1, 2, 3, 4], [3, 4, 5, 6])","setIntersect([[1, 2], [3, 4]], [[3, 4], [5, 6]])"],seealso:["setUnion","setDifference"]},setIsSubset:{name:"setIsSubset",category:"Set",syntax:["setIsSubset(set1, set2)"],description:"Check whether a (multi)set is a subset of another (multi)set: every element of set1 is the element of set2. Multi-dimension arrays will be converted to single-dimension arrays before the operation.",examples:["setIsSubset([1, 2], [3, 4, 5, 6])","setIsSubset([3, 4], [3, 4, 5, 6])"],seealso:["setUnion","setIntersect","setDifference"]},setMultiplicity:{name:"setMultiplicity",category:"Set",syntax:["setMultiplicity(element, set)"],description:"Count the multiplicity of an element in a multiset. A multi-dimension array will be converted to a single-dimension array before the operation.",examples:["setMultiplicity(1, [1, 2, 2, 4])","setMultiplicity(2, [1, 2, 2, 4])"],seealso:["setDistinct","setSize"]},setPowerset:{name:"setPowerset",category:"Set",syntax:["setPowerset(set)"],description:"Create the powerset of a (multi)set: the powerset contains very possible subsets of a (multi)set. A multi-dimension array will be converted to a single-dimension array before the operation.",examples:["setPowerset([1, 2, 3])"],seealso:["setCartesian"]},setSize:{name:"setSize",category:"Set",syntax:["setSize(set)","setSize(set, unique)"],description:'Count the number of elements of a (multi)set. When the second parameter "unique" is true, count only the unique values. A multi-dimension array will be converted to a single-dimension array before the operation.',examples:["setSize([1, 2, 2, 4])","setSize([1, 2, 2, 4], true)"],seealso:["setUnion","setIntersect","setDifference"]},setSymDifference:{name:"setSymDifference",category:"Set",syntax:["setSymDifference(set1, set2)"],description:"Create the symmetric difference of two (multi)sets. Multi-dimension arrays will be converted to single-dimension arrays before the operation.",examples:["setSymDifference([1, 2, 3, 4], [3, 4, 5, 6])","setSymDifference([[1, 2], [3, 4]], [[3, 4], [5, 6]])"],seealso:["setUnion","setIntersect","setDifference"]},setUnion:{name:"setUnion",category:"Set",syntax:["setUnion(set1, set2)"],description:"Create the union of two (multi)sets. Multi-dimension arrays will be converted to single-dimension arrays before the operation.",examples:["setUnion([1, 2, 3, 4], [3, 4, 5, 6])","setUnion([[1, 2], [3, 4]], [[3, 4], [5, 6]])"],seealso:["setIntersect","setDifference"]},erf:{name:"erf",category:"Special",syntax:["erf(x)"],description:"Compute the erf function of a value using a rational Chebyshev approximations for different intervals of x",examples:["erf(0.2)","erf(-0.5)","erf(4)"],seealso:[]},mad:{name:"mad",category:"Statistics",syntax:["mad(a, b, c, ...)","mad(A)"],description:"Compute the median absolute deviation of a matrix or a list with values. The median absolute deviation is defined as the median of the absolute deviations from the median.",examples:["mad(10, 20, 30)","mad([1, 2, 3])"],seealso:["mean","median","std","abs"]},max:{name:"max",category:"Statistics",syntax:["max(a, b, c, ...)","max(A)","max(A, dim)"],description:"Compute the maximum value of a list of values.",examples:["max(2, 3, 4, 1)","max([2, 3, 4, 1])","max([2, 5; 4, 3])","max([2, 5; 4, 3], 1)","max([2, 5; 4, 3], 2)","max(2.7, 7.1, -4.5, 2.0, 4.1)","min(2.7, 7.1, -4.5, 2.0, 4.1)"],seealso:["mean","median","min","prod","std","sum","variance"]},mean:{name:"mean",category:"Statistics",syntax:["mean(a, b, c, ...)","mean(A)","mean(A, dim)"],description:"Compute the arithmetic mean of a list of values.",examples:["mean(2, 3, 4, 1)","mean([2, 3, 4, 1])","mean([2, 5; 4, 3])","mean([2, 5; 4, 3], 1)","mean([2, 5; 4, 3], 2)","mean([1.0, 2.7, 3.2, 4.0])"],seealso:["max","median","min","prod","std","sum","variance"]},median:{name:"median",category:"Statistics",syntax:["median(a, b, c, ...)","median(A)"],description:"Compute the median of all values. The values are sorted and the middle value is returned. In case of an even number of values, the average of the two middle values is returned.",examples:["median(5, 2, 7)","median([3, -1, 5, 7])"],seealso:["max","mean","min","prod","std","sum","variance","quantileSeq"]},min:{name:"min",category:"Statistics",syntax:["min(a, b, c, ...)","min(A)","min(A, dim)"],description:"Compute the minimum value of a list of values.",examples:["min(2, 3, 4, 1)","min([2, 3, 4, 1])","min([2, 5; 4, 3])","min([2, 5; 4, 3], 1)","min([2, 5; 4, 3], 2)","min(2.7, 7.1, -4.5, 2.0, 4.1)","max(2.7, 7.1, -4.5, 2.0, 4.1)"],seealso:["max","mean","median","prod","std","sum","variance"]},mode:{name:"mode",category:"Statistics",syntax:["mode(a, b, c, ...)","mode(A)","mode(A, a, b, B, c, ...)"],description:"Computes the mode of all values as an array. In case mode being more than one, multiple values are returned in an array.",examples:["mode(2, 1, 4, 3, 1)","mode([1, 2.7, 3.2, 4, 2.7])","mode(1, 4, 6, 1, 6)"],seealso:["max","mean","min","median","prod","std","sum","variance"]},prod:{name:"prod",category:"Statistics",syntax:["prod(a, b, c, ...)","prod(A)"],description:"Compute the product of all values.",examples:["prod(2, 3, 4)","prod([2, 3, 4])","prod([2, 5; 4, 3])"],seealso:["max","mean","min","median","min","std","sum","variance"]},quantileSeq:{name:"quantileSeq",category:"Statistics",syntax:["quantileSeq(A, prob[, sorted])","quantileSeq(A, [prob1, prob2, ...][, sorted])","quantileSeq(A, N[, sorted])"],description:"Compute the prob order quantile of a matrix or a list with values. The sequence is sorted and the middle value is returned. Supported types of sequence values are: Number, BigNumber, Unit Supported types of probablity are: Number, BigNumber. \n\nIn case of a (multi dimensional) array or matrix, the prob order quantile of all elements will be calculated.",examples:["quantileSeq([3, -1, 5, 7], 0.5)","quantileSeq([3, -1, 5, 7], [1/3, 2/3])","quantileSeq([3, -1, 5, 7], 2)","quantileSeq([-1, 3, 5, 7], 0.5, true)"],seealso:["mean","median","min","max","prod","std","sum","variance"]},std:{name:"std",category:"Statistics",syntax:["std(a, b, c, ...)","std(A)","std(A, normalization)"],description:'Compute the standard deviation of all values, defined as std(A) = sqrt(variance(A)). Optional parameter normalization can be "unbiased" (default), "uncorrected", or "biased".',examples:["std(2, 4, 6)","std([2, 4, 6, 8])",'std([2, 4, 6, 8], "uncorrected")','std([2, 4, 6, 8], "biased")',"std([1, 2, 3; 4, 5, 6])"],seealso:["max","mean","min","median","prod","sum","variance"]},sum:{name:"sum",category:"Statistics",syntax:["sum(a, b, c, ...)","sum(A)"],description:"Compute the sum of all values.",examples:["sum(2, 3, 4, 1)","sum([2, 3, 4, 1])","sum([2, 5; 4, 3])"],seealso:["max","mean","median","min","prod","std","sum","variance"]},variance:{name:"variance",category:"Statistics",syntax:["variance(a, b, c, ...)","variance(A)","variance(A, normalization)"],description:'Compute the variance of all values. Optional parameter normalization can be "unbiased" (default), "uncorrected", or "biased".',examples:["variance(2, 4, 6)","variance([2, 4, 6, 8])",'variance([2, 4, 6, 8], "uncorrected")','variance([2, 4, 6, 8], "biased")',"variance([1, 2, 3; 4, 5, 6])"],seealso:["max","mean","min","median","min","prod","std","sum"]},acos:{name:"acos",category:"Trigonometry",syntax:["acos(x)"],description:"Compute the inverse cosine of a value in radians.",examples:["acos(0.5)","acos(cos(2.3))"],seealso:["cos","atan","asin"]},acosh:{name:"acosh",category:"Trigonometry",syntax:["acosh(x)"],description:"Calculate the hyperbolic arccos of a value, defined as `acosh(x) = ln(sqrt(x^2 - 1) + x)`.",examples:["acosh(1.5)"],seealso:["cosh","asinh","atanh"]},acot:{name:"acot",category:"Trigonometry",syntax:["acot(x)"],description:"Calculate the inverse cotangent of a value.",examples:["acot(0.5)","acot(cot(0.5))","acot(2)"],seealso:["cot","atan"]},acoth:{name:"acoth",category:"Trigonometry",syntax:["acoth(x)"],description:"Calculate the hyperbolic arccotangent of a value, defined as `acoth(x) = (ln((x+1)/x) + ln(x/(x-1))) / 2`.",examples:["acoth(2)","acoth(0.5)"],seealso:["acsch","asech"]},acsc:{name:"acsc",category:"Trigonometry",syntax:["acsc(x)"],description:"Calculate the inverse cotangent of a value.",examples:["acsc(2)","acsc(csc(0.5))","acsc(0.5)"],seealso:["csc","asin","asec"]},acsch:{name:"acsch",category:"Trigonometry",syntax:["acsch(x)"],description:"Calculate the hyperbolic arccosecant of a value, defined as `acsch(x) = ln(1/x + sqrt(1/x^2 + 1))`.",examples:["acsch(0.5)"],seealso:["asech","acoth"]},asec:{name:"asec",category:"Trigonometry",syntax:["asec(x)"],description:"Calculate the inverse secant of a value.",examples:["asec(0.5)","asec(sec(0.5))","asec(2)"],seealso:["acos","acot","acsc"]},asech:{name:"asech",category:"Trigonometry",syntax:["asech(x)"],description:"Calculate the inverse secant of a value.",examples:["asech(0.5)"],seealso:["acsch","acoth"]},asin:{name:"asin",category:"Trigonometry",syntax:["asin(x)"],description:"Compute the inverse sine of a value in radians.",examples:["asin(0.5)","asin(sin(0.5))"],seealso:["sin","acos","atan"]},asinh:{name:"asinh",category:"Trigonometry",syntax:["asinh(x)"],description:"Calculate the hyperbolic arcsine of a value, defined as `asinh(x) = ln(x + sqrt(x^2 + 1))`.",examples:["asinh(0.5)"],seealso:["acosh","atanh"]},atan:{name:"atan",category:"Trigonometry",syntax:["atan(x)"],description:"Compute the inverse tangent of a value in radians.",examples:["atan(0.5)","atan(tan(0.5))"],seealso:["tan","acos","asin"]},atanh:{name:"atanh",category:"Trigonometry",syntax:["atanh(x)"],description:"Calculate the hyperbolic arctangent of a value, defined as `atanh(x) = ln((1 + x)/(1 - x)) / 2`.",examples:["atanh(0.5)"],seealso:["acosh","asinh"]},atan2:{name:"atan2",category:"Trigonometry",syntax:["atan2(y, x)"],description:"Computes the principal value of the arc tangent of y/x in radians.",examples:["atan2(2, 2) / pi","angle = 60 deg in rad","x = cos(angle)","y = sin(angle)","atan2(y, x)"],seealso:["sin","cos","tan"]},cos:{name:"cos",category:"Trigonometry",syntax:["cos(x)"],description:"Compute the cosine of x in radians.",examples:["cos(2)","cos(pi / 4) ^ 2","cos(180 deg)","cos(60 deg)","sin(0.2)^2 + cos(0.2)^2"],seealso:["acos","sin","tan"]},cosh:{name:"cosh",category:"Trigonometry",syntax:["cosh(x)"],description:"Compute the hyperbolic cosine of x in radians.",examples:["cosh(0.5)"],seealso:["sinh","tanh","coth"]},cot:{name:"cot",category:"Trigonometry",syntax:["cot(x)"],description:"Compute the cotangent of x in radians. Defined as 1/tan(x)",examples:["cot(2)","1 / tan(2)"],seealso:["sec","csc","tan"]},coth:{name:"coth",category:"Trigonometry",syntax:["coth(x)"],description:"Compute the hyperbolic cotangent of x in radians.",examples:["coth(2)","1 / tanh(2)"],seealso:["sech","csch","tanh"]},csc:{name:"csc",category:"Trigonometry",syntax:["csc(x)"],description:"Compute the cosecant of x in radians. Defined as 1/sin(x)",examples:["csc(2)","1 / sin(2)"],seealso:["sec","cot","sin"]},csch:{name:"csch",category:"Trigonometry",syntax:["csch(x)"],description:"Compute the hyperbolic cosecant of x in radians. Defined as 1/sinh(x)",examples:["csch(2)","1 / sinh(2)"],seealso:["sech","coth","sinh"]},sec:{name:"sec",category:"Trigonometry",syntax:["sec(x)"],description:"Compute the secant of x in radians. Defined as 1/cos(x)",examples:["sec(2)","1 / cos(2)"],seealso:["cot","csc","cos"]},sech:{name:"sech",category:"Trigonometry",syntax:["sech(x)"],description:"Compute the hyperbolic secant of x in radians. Defined as 1/cosh(x)",examples:["sech(2)","1 / cosh(2)"],seealso:["coth","csch","cosh"]},sin:{name:"sin",category:"Trigonometry",syntax:["sin(x)"],description:"Compute the sine of x in radians.",examples:["sin(2)","sin(pi / 4) ^ 2","sin(90 deg)","sin(30 deg)","sin(0.2)^2 + cos(0.2)^2"],seealso:["asin","cos","tan"]},sinh:{name:"sinh",category:"Trigonometry",syntax:["sinh(x)"],description:"Compute the hyperbolic sine of x in radians.",examples:["sinh(0.5)"],seealso:["cosh","tanh"]},tan:{name:"tan",category:"Trigonometry",syntax:["tan(x)"],description:"Compute the tangent of x in radians.",examples:["tan(0.5)","sin(0.5) / cos(0.5)","tan(pi / 4)","tan(45 deg)"],seealso:["atan","sin","cos"]},tanh:{name:"tanh",category:"Trigonometry",syntax:["tanh(x)"],description:"Compute the hyperbolic tangent of x in radians.",examples:["tanh(0.5)","sinh(0.5) / cosh(0.5)"],seealso:["sinh","cosh"]},to:{name:"to",category:"Units",syntax:["x to unit","to(x, unit)"],description:"Change the unit of a value.",examples:["5 inch to cm","3.2kg to g","16 bytes in bits"],seealso:[]},clone:{name:"clone",category:"Utils",syntax:["clone(x)"],description:"Clone a variable. Creates a copy of primitive variables,and a deep copy of matrices",examples:["clone(3.5)","clone(2 - 4i)","clone(45 deg)","clone([1, 2; 3, 4])",'clone("hello world")'],seealso:[]},format:{name:"format",category:"Utils",syntax:["format(value)","format(value, precision)"],description:"Format a value of any type as string.",examples:["format(2.3)","format(3 - 4i)","format([])","format(pi, 3)"],seealso:["print"]},bin:{name:"bin",category:"Utils",syntax:["bin(value)"],description:"Format a number as binary",examples:["bin(2)"],seealso:["oct","hex"]},oct:{name:"oct",category:"Utils",syntax:["oct(value)"],description:"Format a number as octal",examples:["oct(56)"],seealso:["bin","hex"]},hex:{name:"hex",category:"Utils",syntax:["hex(value)"],description:"Format a number as hexadecimal",examples:["hex(240)"],seealso:["bin","oct"]},isNaN:{name:"isNaN",category:"Utils",syntax:["isNaN(x)"],description:"Test whether a value is NaN (not a number)",examples:["isNaN(2)","isNaN(0 / 0)","isNaN(NaN)","isNaN(Infinity)"],seealso:["isNegative","isNumeric","isPositive","isZero"]},isInteger:{name:"isInteger",category:"Utils",syntax:["isInteger(x)"],description:"Test whether a value is an integer number.",examples:["isInteger(2)","isInteger(3.5)","isInteger([3, 0.5, -2])"],seealso:["isNegative","isNumeric","isPositive","isZero"]},isNegative:{name:"isNegative",category:"Utils",syntax:["isNegative(x)"],description:"Test whether a value is negative: smaller than zero.",examples:["isNegative(2)","isNegative(0)","isNegative(-4)","isNegative([3, 0.5, -2])"],seealso:["isInteger","isNumeric","isPositive","isZero"]},isNumeric:{name:"isNumeric",category:"Utils",syntax:["isNumeric(x)"],description:"Test whether a value is a numeric value. Returns true when the input is a number, BigNumber, Fraction, or boolean.",examples:["isNumeric(2)",'isNumeric("2")','hasNumericValue("2")',"isNumeric(0)","isNumeric(bignumber(500))","isNumeric(fraction(0.125))","isNumeric(2 + 3i)",'isNumeric([2.3, "foo", false])'],seealso:["isInteger","isZero","isNegative","isPositive","isNaN","hasNumericValue"]},hasNumericValue:{name:"hasNumericValue",category:"Utils",syntax:["hasNumericValue(x)"],description:"Test whether a value is an numeric value. In case of a string, true is returned if the string contains a numeric value.",examples:["hasNumericValue(2)",'hasNumericValue("2")','isNumeric("2")',"hasNumericValue(0)","hasNumericValue(bignumber(500))","hasNumericValue(fraction(0.125))","hasNumericValue(2 + 3i)",'hasNumericValue([2.3, "foo", false])'],seealso:["isInteger","isZero","isNegative","isPositive","isNaN","isNumeric"]},isPositive:{name:"isPositive",category:"Utils",syntax:["isPositive(x)"],description:"Test whether a value is positive: larger than zero.",examples:["isPositive(2)","isPositive(0)","isPositive(-4)","isPositive([3, 0.5, -2])"],seealso:["isInteger","isNumeric","isNegative","isZero"]},isPrime:{name:"isPrime",category:"Utils",syntax:["isPrime(x)"],description:"Test whether a value is prime: has no divisors other than itself and one.",examples:["isPrime(3)","isPrime(-2)","isPrime([2, 17, 100])"],seealso:["isInteger","isNumeric","isNegative","isZero"]},isZero:{name:"isZero",category:"Utils",syntax:["isZero(x)"],description:"Test whether a value is zero.",examples:["isZero(2)","isZero(0)","isZero(-4)","isZero([3, 0, -2, 0])"],seealso:["isInteger","isNumeric","isNegative","isPositive"]},typeOf:{name:"typeOf",category:"Utils",syntax:["typeOf(x)"],description:"Get the type of a variable.",examples:["typeOf(3.5)","typeOf(2 - 4i)","typeOf(45 deg)",'typeOf("hello world")'],seealso:["getMatrixDataType"]},numeric:{name:"numeric",category:"Utils",syntax:["numeric(x)"],description:"Convert a numeric input to a specific numeric type: number, BigNumber, or Fraction.",examples:['numeric("4")','numeric("4", "number")','numeric("4", "BigNumber")','numeric("4", "Fraction)','numeric(4, "Fraction")','numeric(fraction(2, 5), "number)'],seealso:["number","fraction","bignumber","string","format"]}},xd="help",bd=Sn(xd,["typed","mathWithTransform","Help"],function(e){var t=e.typed,n=e.mathWithTransform,r=e.Help;return t(xd,{any:function(e){var t,i=e;if("string"!=typeof e)for(t in n)if(bt(n,t)&&e===n[t]){i=t;break}var a=cl(vd,i);if(!a){var o="function"==typeof i?i.name:i;throw new Error('No documentation found on "'+o+'"')}return new r(a)}})}),wd="chain",Nd=Sn(wd,["typed","Chain"],function(e){var t=e.typed,n=e.Chain;return t(wd,{"":function(){return new n},any:function(e){return new n(e)}})}),Ed=Sn("det",["typed","matrix","subtract","multiply","unaryMinus","lup"],function(e){var t=e.typed,n=e.matrix,r=e.subtract,i=e.multiply,a=e.unaryMinus,o=e.lup;return t("det",{any:function(e){return yt(e)},"Array | Matrix":function(e){var t;switch((t=Be(e)?e.size():Array.isArray(e)?(e=n(e)).size():[]).length){case 0:return yt(e);case 1:if(1===t[0])return yt(e.valueOf()[0]);throw new RangeError("Matrix must be square (size: "+Jt(t)+")");case 2:var s=t[0];if(s===t[1])return function(e,t){if(1===t)return yt(e[0][0]);if(2===t)return r(i(e[0][0],e[1][1]),i(e[1][0],e[0][1]));for(var n=o(e),s=n.U[0][0],u=1;u<t;u++)s=i(s,n.U[u][u]);for(var l=0,c=0,f=[];;){for(;f[c];)c++;if(c>=t)break;for(var p=c,h=0;!f[n.p[p]];)f[n.p[p]]=!0,p=n.p[p],h++;h%2==0&&l++}return l%2==0?s:a(s)}(e.clone().valueOf(),s);throw new RangeError("Matrix must be square (size: "+Jt(t)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+Jt(t)+")")}}})}),Sd=Sn("inv",["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],function(e){var t=e.typed,n=e.matrix,r=e.divideScalar,i=e.addScalar,a=e.multiply,o=e.unaryMinus,s=e.det,u=e.identity,l=e.abs;return t("inv",{"Array | Matrix":function(e){var t=Be(e)?e.size():rn(e);switch(t.length){case 1:if(1===t[0])return Be(e)?n([r(1,e.valueOf()[0])]):[r(1,e[0])];throw new RangeError("Matrix must be square (size: "+Jt(t)+")");case 2:var i=t[0],a=t[1];if(i===a)return Be(e)?n(c(e.valueOf(),i,a),e.storage()):c(e,i,a);throw new RangeError("Matrix must be square (size: "+Jt(t)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+Jt(t)+")")}},any:function(e){return r(1,e)}});function c(e,t,n){var c,f,p,h,d;if(1===t){if(0===(h=e[0][0]))throw Error("Cannot calculate inverse, determinant is zero");return[[r(1,h)]]}if(2===t){var m=s(e);if(0===m)throw Error("Cannot calculate inverse, determinant is zero");return[[r(e[1][1],m),r(o(e[0][1]),m)],[r(o(e[1][0]),m),r(e[0][0],m)]]}var g=e.concat();for(c=0;c<t;c++)g[c]=g[c].concat();for(var y=u(t).valueOf(),v=0;v<n;v++){var x=l(g[v][v]),b=v;for(c=v+1;c<t;)l(g[c][v])>x&&(x=l(g[c][v]),b=c),c++;if(0===x)throw Error("Cannot calculate inverse, determinant is zero");(c=b)!==v&&(d=g[v],g[v]=g[c],g[c]=d,d=y[v],y[v]=y[c],y[c]=d);var w=g[v],N=y[v];for(c=0;c<t;c++){var E=g[c],S=y[c];if(c!==v){if(0!==E[v]){for(p=r(o(E[v]),w[v]),f=v;f<n;f++)E[f]=i(E[f],a(p,w[f]));for(f=0;f<n;f++)S[f]=i(S[f],a(p,N[f]))}}else{for(p=w[v],f=v;f<n;f++)E[f]=r(E[f],p);for(f=0;f<n;f++)S[f]=r(S[f],p)}}}return y}}),Md=Sn("eigs",["config","typed","matrix","addScalar","equal","subtract","abs","atan","cos","sin","multiplyScalar","inv","bignumber","multiply","add"],function(e){var t=e.config,n=e.typed,r=e.matrix,i=e.addScalar,a=e.subtract,o=e.equal,s=e.abs,u=e.atan,l=e.cos,c=e.sin,f=e.multiplyScalar,p=e.inv,h=e.bignumber,d=e.multiply,m=e.add;return n("eigs",{Array:function(e){var t=r(e),n=t.size();if(2!==n.length||n[0]!==n[1])throw new RangeError("Matrix must be square (size: "+Jt(n)+")");var i=g(t,n[0]);return{values:i[0],vectors:i[1]}},Matrix:function(e){var t=e.size();if(2!==t.length||t[0]!==t[1])throw new RangeError("Matrix must be square (size: "+Jt(t)+")");var n=g(e,t[0]);return{values:r(n[0]),vectors:r(n[1])}}});function g(e,n){var r=e.datatype();if(void 0===r&&(r=e.getDataType()),"number"!==r&&"BigNumber"!==r&&"Fraction"!==r)throw"mixed"===r?new TypeError("Mixed matrix element type is not supported"):new TypeError("Matrix element type not supported ("+r+")");if(function(e,t){for(var n=0;n<t;n++)for(var r=n;r<t;r++)if(!o(e[n][r],e[r][n]))throw new TypeError("Input matrix is not symmetric")}(e.toArray(),n),"number"===r)return y(e.toArray());if("Fraction"===r){for(var i=e.toArray(),a=0;a<n;a++)for(var u=a;u<n;u++)i[a][u]=i[a][u].valueOf(),i[u][a]=i[a][u];return y(e.toArray())}return"BigNumber"===r?function(e){for(var n,r=e.length,i=s(t.epsilon/r),a=new Array(r),o=0;o<r;o++)a[o]=C(r,0),a[o][o]=1;for(var u=M(e);s(u[1])>=s(i);){var l=u[0][0],c=u[0][1];e=N(e,n=x(e[l][l],e[c][c],e[l][c]),l,c),a=w(a,n,l,c),u=M(e)}for(var f=C(r,0),p=0;p<r;p++)f[p]=e[p][p];return A(yt(f),yt(a))}(e.toArray()):void 0}function y(e){for(var n,r=e.length,i=Math.abs(t.epsilon/r),a=new Array(r),o=0;o<r;o++)a[o]=C(r,0),a[o][o]=1;for(var s=S(e);Math.abs(s[1])>=Math.abs(i);){var u=s[0][0],l=s[0][1];e=E(e,n=v(e[u][u],e[l][l],e[u][l]),u,l),a=b(a,n,u,l),s=S(e)}for(var c=C(r,0),f=0;f<r;f++)c[f]=e[f][f];return A(yt(c),yt(a))}function v(e,n,r){var i=n-e;return Math.abs(i)<=t.epsilon?Math.PI/4:.5*Math.atan(2*r/(n-e))}function x(e,n,r){var i=a(n,e);return s(i)<=t.epsilon?h(-1).acos().div(4):f(.5,u(d(2,r,p(i))))}function b(e,t,n,r){for(var i=e.length,a=Math.cos(t),o=Math.sin(t),s=C(i,0),u=C(i,0),l=0;l<i;l++)s[l]=a*e[l][n]-o*e[l][r],u[l]=o*e[l][n]+a*e[l][r];for(var c=0;c<i;c++)e[c][n]=s[c],e[c][r]=u[c];return e}function w(e,t,n,r){for(var o=e.length,s=l(t),u=c(t),p=C(o,h(0)),d=C(o,h(0)),m=0;m<o;m++)p[m]=a(f(s,e[m][n]),f(u,e[m][r])),d[m]=i(f(u,e[m][n]),f(s,e[m][r]));for(var g=0;g<o;g++)e[g][n]=p[g],e[g][r]=d[g];return e}function N(e,t,n,r){for(var o=e.length,s=h(l(t)),u=h(c(t)),p=f(s,s),g=f(u,u),y=C(o,h(0)),v=C(o,h(0)),x=d(h(2),s,u,e[n][r]),b=i(a(f(p,e[n][n]),x),f(g,e[r][r])),w=m(f(g,e[n][n]),x,f(p,e[r][r])),N=0;N<o;N++)y[N]=a(f(s,e[n][N]),f(u,e[r][N])),v[N]=i(f(u,e[n][N]),f(s,e[r][N]));e[n][n]=b,e[r][r]=w,e[n][r]=h(0),e[r][n]=h(0);for(var E=0;E<o;E++)E!==n&&E!==r&&(e[n][E]=y[E],e[E][n]=y[E],e[r][E]=v[E],e[E][r]=v[E]);return e}function E(e,t,n,r){for(var i=e.length,a=Math.cos(t),o=Math.sin(t),s=a*a,u=o*o,l=C(i,0),c=C(i,0),f=s*e[n][n]-2*a*o*e[n][r]+u*e[r][r],p=u*e[n][n]+2*a*o*e[n][r]+s*e[r][r],h=0;h<i;h++)l[h]=a*e[n][h]-o*e[r][h],c[h]=o*e[n][h]+a*e[r][h];e[n][n]=f,e[r][r]=p,e[n][r]=0,e[r][n]=0;for(var d=0;d<i;d++)d!==n&&d!==r&&(e[n][d]=l[d],e[d][n]=l[d],e[r][d]=c[d],e[d][r]=c[d]);return e}function S(e){for(var t=e.length,n=0,r=[0,1],i=0;i<t;i++)for(var a=i+1;a<t;a++)Math.abs(n)<Math.abs(e[i][a])&&(n=Math.abs(e[i][a]),r=[i,a]);return[r,n]}function M(e){for(var t=e.length,n=0,r=[0,1],i=0;i<t;i++)for(var a=i+1;a<t;a++)s(n)<s(e[i][a])&&(n=s(e[i][a]),r=[i,a]);return[r,n]}function A(e,t){for(var n=e.length,r=Array(n),i=Array(n),a=0;a<n;a++)i[a]=Array(n);for(var o=0;o<n;o++){for(var s=0,u=e[0],l=0;l<e.length;l++)e[l]<u&&(u=e[s=l]);r[o]=e.splice(s,1)[0];for(var c=0;c<n;c++)i[c][o]=t[c][s],t[c].splice(s,1)}return[yt(r),yt(i)]}function C(e,t){for(var n=new Array(e),r=0;r<e;r++)n[r]=t;return n}}),Ad="expm",Cd=Sn(Ad,["typed","abs","add","identity","inv","multiply"],function(e){var t=e.typed,n=e.abs,r=e.add,i=e.identity,a=e.inv,o=e.multiply;return t(Ad,{Matrix:function(e){var t=e.size();if(2!==t.length||t[0]!==t[1])throw new RangeError("Matrix must be square (size: "+Jt(t)+")");for(var u=t[0],l=function(e){for(var t=e.size()[0],r=0,i=0;i<t;i++){for(var a=0,o=0;o<t;o++)a+=n(e.get([i,o]));r=Math.max(a,r)}return r}(e),c=function(e){for(var t=0;t<30;t++)for(var n=0;n<=t;n++){var r=t-n;if(s(e,n,r)<1e-15)return{q:n,j:r}}throw new Error("Could not find acceptable parameters to compute the matrix exponential (try increasing maxSearchSize in expm.js)")}(l),f=c.q,p=c.j,h=o(e,Math.pow(2,-p)),d=i(u),m=i(u),g=1,y=h,v=-1,x=1;x<=f;x++)x>1&&(y=o(y,h),v=-v),d=r(d,o(g=g*(f-x+1)/((2*f-x+1)*x),y)),m=r(m,o(g*v,y));for(var b=o(a(m),d),w=0;w<p;w++)b=o(b,b);return Fe(e)?e.createSparseMatrix(b):b}});function s(e,t,n){for(var r=1,i=2;i<=t;i++)r*=i;for(var a=r,o=t+1;o<=2*t;o++)a*=o;var s=a*(2*t+1);return 8*Math.pow(e/Math.pow(2,n),2*t)*r*r/(a*s)}}),Od="sqrtm",kd=Sn(Od,["typed","abs","add","multiply","sqrt","subtract","inv","size","max","identity"],function(e){var t=e.typed,n=e.abs,r=e.add,i=e.multiply,a=e.sqrt,o=e.subtract,s=e.inv,u=e.size,l=e.max,c=e.identity,f=1e-6;return t(Od,{"Array | Matrix":function(e){var t=Be(e)?e.size():rn(e);switch(t.length){case 1:if(1===t[0])return a(e);throw new RangeError("Matrix must be square (size: "+Jt(t)+")");case 2:if(t[0]===t[1])return function(e){var t,a=0,p=e,h=c(u(e));do{var d=p;if(p=i(.5,r(d,s(h))),h=i(.5,r(h,s(d))),(t=l(n(o(p,d))))>f&&++a>1e3)throw new Error("computing square root of matrix: iterative method could not converge")}while(t>f);return p}(e);throw new RangeError("Matrix must be square (size: "+Jt(t)+")");default:throw new RangeError("Matrix must be at most two dimensional (size: "+Jt(t)+")")}}})}),Td=Sn("divide",["typed","matrix","multiply","equalScalar","divideScalar","inv"],function(e){var t=e.typed,n=e.matrix,r=e.multiply,i=e.equalScalar,a=e.divideScalar,o=e.inv,s=Jo({typed:t,equalScalar:i}),u=Xo({typed:t});return t("divide",vt({"Array | Matrix, Array | Matrix":function(e,t){return r(e,o(t))},"DenseMatrix, any":function(e,t){return u(e,t,a,!1)},"SparseMatrix, any":function(e,t){return s(e,t,a,!1)},"Array, any":function(e,t){return u(n(e),t,a,!1).valueOf()},"any, Array | Matrix":function(e,t){return r(e,o(t))}},a.signatures))}),_d="distance",Rd=Sn(_d,["typed","addScalar","subtract","divideScalar","multiplyScalar","unaryMinus","sqrt","abs"],function(e){var t=e.typed,n=e.addScalar,r=e.subtract,i=e.multiplyScalar,a=e.divideScalar,o=e.unaryMinus,s=e.sqrt,u=e.abs;return t(_d,{"Array, Array, Array":function(e,t,n){if(2===e.length&&2===t.length&&2===n.length){if(!c(e))throw new TypeError("Array with 2 numbers or BigNumbers expected for first argument");if(!c(t))throw new TypeError("Array with 2 numbers or BigNumbers expected for second argument");if(!c(n))throw new TypeError("Array with 2 numbers or BigNumbers expected for third argument");var s=a(r(n[1],n[0]),r(t[1],t[0])),u=i(i(s,s),t[0]),l=o(i(s,t[0])),f=e[1];return m(e[0],e[1],u,l,f)}throw new TypeError("Invalid Arguments: Try again")},"Object, Object, Object":function(e,t,n){if(2===Object.keys(e).length&&2===Object.keys(t).length&&2===Object.keys(n).length){if(!c(e))throw new TypeError("Values of pointX and pointY should be numbers or BigNumbers");if(!c(t))throw new TypeError("Values of lineOnePtX and lineOnePtY should be numbers or BigNumbers");if(!c(n))throw new TypeError("Values of lineTwoPtX and lineTwoPtY should be numbers or BigNumbers");if("pointX"in e&&"pointY"in e&&"lineOnePtX"in t&&"lineOnePtY"in t&&"lineTwoPtX"in n&&"lineTwoPtY"in n){var s=a(r(n.lineTwoPtY,n.lineTwoPtX),r(t.lineOnePtY,t.lineOnePtX)),u=i(i(s,s),t.lineOnePtX),l=o(i(s,t.lineOnePtX)),f=e.pointX;return m(e.pointX,e.pointY,u,l,f)}throw new TypeError("Key names do not match")}throw new TypeError("Invalid Arguments: Try again")},"Array, Array":function(e,t){if(2===e.length&&3===t.length){if(!c(e))throw new TypeError("Array with 2 numbers or BigNumbers expected for first argument");if(!f(t))throw new TypeError("Array with 3 numbers or BigNumbers expected for second argument");return m(e[0],e[1],t[0],t[1],t[2])}if(3===e.length&&6===t.length){if(!f(e))throw new TypeError("Array with 3 numbers or BigNumbers expected for first argument");if(!h(t))throw new TypeError("Array with 6 numbers or BigNumbers expected for second argument");return g(e[0],e[1],e[2],t[0],t[1],t[2],t[3],t[4],t[5])}if(e.length===t.length&&e.length>0){if(!p(e))throw new TypeError("All values of an array should be numbers or BigNumbers");if(!p(t))throw new TypeError("All values of an array should be numbers or BigNumbers");return y(e,t)}throw new TypeError("Invalid Arguments: Try again")},"Object, Object":function(e,t){if(2===Object.keys(e).length&&3===Object.keys(t).length){if(!c(e))throw new TypeError("Values of pointX and pointY should be numbers or BigNumbers");if(!f(t))throw new TypeError("Values of xCoeffLine, yCoeffLine and constant should be numbers or BigNumbers");if("pointX"in e&&"pointY"in e&&"xCoeffLine"in t&&"yCoeffLine"in t&&"constant"in t)return m(e.pointX,e.pointY,t.xCoeffLine,t.yCoeffLine,t.constant);throw new TypeError("Key names do not match")}if(3===Object.keys(e).length&&6===Object.keys(t).length){if(!f(e))throw new TypeError("Values of pointX, pointY and pointZ should be numbers or BigNumbers");if(!h(t))throw new TypeError("Values of x0, y0, z0, a, b and c should be numbers or BigNumbers");if("pointX"in e&&"pointY"in e&&"x0"in t&&"y0"in t&&"z0"in t&&"a"in t&&"b"in t&&"c"in t)return g(e.pointX,e.pointY,e.pointZ,t.x0,t.y0,t.z0,t.a,t.b,t.c);throw new TypeError("Key names do not match")}if(2===Object.keys(e).length&&2===Object.keys(t).length){if(!c(e))throw new TypeError("Values of pointOneX and pointOneY should be numbers or BigNumbers");if(!c(t))throw new TypeError("Values of pointTwoX and pointTwoY should be numbers or BigNumbers");if("pointOneX"in e&&"pointOneY"in e&&"pointTwoX"in t&&"pointTwoY"in t)return y([e.pointOneX,e.pointOneY],[t.pointTwoX,t.pointTwoY]);throw new TypeError("Key names do not match")}if(3===Object.keys(e).length&&3===Object.keys(t).length){if(!f(e))throw new TypeError("Values of pointOneX, pointOneY and pointOneZ should be numbers or BigNumbers");if(!f(t))throw new TypeError("Values of pointTwoX, pointTwoY and pointTwoZ should be numbers or BigNumbers");if("pointOneX"in e&&"pointOneY"in e&&"pointOneZ"in e&&"pointTwoX"in t&&"pointTwoY"in t&&"pointTwoZ"in t)return y([e.pointOneX,e.pointOneY,e.pointOneZ],[t.pointTwoX,t.pointTwoY,t.pointTwoZ]);throw new TypeError("Key names do not match")}throw new TypeError("Invalid Arguments: Try again")},Array:function(e){if(!function(e){if(2===e[0].length&&l(e[0][0])&&l(e[0][1])){if(e.some(function(e){return 2!==e.length||!l(e[0])||!l(e[1])}))return!1}else{if(!(3===e[0].length&&l(e[0][0])&&l(e[0][1])&&l(e[0][2])))return!1;if(e.some(function(e){return 3!==e.length||!l(e[0])||!l(e[1])||!l(e[2])}))return!1}return!0}(e))throw new TypeError("Incorrect array format entered for pairwise distance calculation");return function(e){for(var t=[],n=[],r=[],i=0;i<e.length-1;i++)for(var a=i+1;a<e.length;a++)2===e[0].length?(n=[e[i][0],e[i][1]],r=[e[a][0],e[a][1]]):3===e[0].length&&(n=[e[i][0],e[i][1],e[i][2]],r=[e[a][0],e[a][1],e[a][2]]),t.push(y(n,r));return t}(e)}});function l(e){return"number"==typeof e||Re(e)}function c(e){return e.constructor!==Array&&(e=d(e)),l(e[0])&&l(e[1])}function f(e){return e.constructor!==Array&&(e=d(e)),l(e[0])&&l(e[1])&&l(e[2])}function p(e){return Array.isArray(e)||(e=d(e)),e.every(l)}function h(e){return e.constructor!==Array&&(e=d(e)),l(e[0])&&l(e[1])&&l(e[2])&&l(e[3])&&l(e[4])&&l(e[5])}function d(e){for(var t=Object.keys(e),n=[],r=0;r<t.length;r++)n.push(e[t[r]]);return n}function m(e,t,r,o,l){var c=u(n(n(i(r,e),i(o,t)),l)),f=s(n(i(r,r),i(o,o)));return a(c,f)}function g(e,t,o,u,l,c,f,p,h){var d=[r(i(r(l,t),h),i(r(c,o),p)),r(i(r(c,o),f),i(r(u,e),h)),r(i(r(u,e),p),i(r(l,t),f))];d=s(n(n(i(d[0],d[0]),i(d[1],d[1])),i(d[2],d[2])));var m=s(n(n(i(f,f),i(p,p)),i(h,h)));return a(d,m)}function y(e,t){for(var a=e.length,o=0,u=0,l=0;l<a;l++)u=r(e[l],t[l]),o=n(i(u,u),o);return s(o)}}),Dd=Sn("intersect",["typed","config","abs","add","addScalar","matrix","multiply","multiplyScalar","divideScalar","subtract","smaller","equalScalar"],function(e){var t=e.typed,n=e.config,r=e.abs,i=e.add,a=e.addScalar,o=e.matrix,s=e.multiply,u=e.multiplyScalar,l=e.divideScalar,c=e.subtract,f=e.smaller,p=e.equalScalar;return t("intersect",{"Array, Array, Array":function(e,t,n){if(!m(e))throw new TypeError("Array with 3 numbers or BigNumbers expected for first argument");if(!m(t))throw new TypeError("Array with 3 numbers or BigNumbers expected for second argument");if(!function(e){return 4===e.length&&h(e[0])&&h(e[1])&&h(e[2])&&h(e[3])}(n))throw new TypeError("Array with 4 numbers expected as third argument");return function(e,t,n,r,i,o,s,f,p,h){var d=u(e,s),m=u(r,s),g=u(t,f),y=u(i,f),v=u(n,p),x=u(o,p),b=l(c(c(c(h,d),g),v),c(c(c(a(a(m,y),x),d),g),v));return[a(e,u(b,c(r,e))),a(t,u(b,c(i,t))),a(n,u(b,c(o,n)))]}(e[0],e[1],e[2],t[0],t[1],t[2],n[0],n[1],n[2],n[3])},"Array, Array, Array, Array":function(e,t,o,h){if(2===e.length){if(!d(e))throw new TypeError("Array with 2 numbers or BigNumbers expected for first argument");if(!d(t))throw new TypeError("Array with 2 numbers or BigNumbers expected for second argument");if(!d(o))throw new TypeError("Array with 2 numbers or BigNumbers expected for third argument");if(!d(h))throw new TypeError("Array with 2 numbers or BigNumbers expected for fourth argument");return function(e,t,o,p){var h=e,d=o,m=c(h,t),g=c(d,p),y=c(u(m[0],g[1]),u(g[0],m[1]));if(f(r(y),n.epsilon))return null;var v=u(g[0],h[1]),x=u(g[1],h[0]),b=u(g[0],d[1]),w=u(g[1],d[0]),N=l(a(c(c(v,x),b),w),y);return i(s(m,N),h)}(e,t,o,h)}if(3===e.length){if(!m(e))throw new TypeError("Array with 3 numbers or BigNumbers expected for first argument");if(!m(t))throw new TypeError("Array with 3 numbers or BigNumbers expected for second argument");if(!m(o))throw new TypeError("Array with 3 numbers or BigNumbers expected for third argument");if(!m(h))throw new TypeError("Array with 3 numbers or BigNumbers expected for fourth argument");return y=e[0],v=e[1],x=e[2],b=t[0],w=t[1],N=t[2],E=o[0],S=o[1],M=o[2],k=g(y,E,A=h[0],E,v,S,C=h[1],S,x,M,O=h[2],M),T=g(A,E,b,y,C,S,w,v,O,M,N,x),_=g(y,E,b,y,v,S,w,v,x,M,N,x),R=g(A,E,A,E,C,S,C,S,O,M,O,M),D=g(b,y,b,y,w,v,w,v,N,x,N,x),I=l(c(u(k,T),u(_,R)),c(u(D,R),u(T,T))),P=l(a(k,u(I,T)),R),q=a(y,u(I,c(b,y))),z=a(v,u(I,c(w,v))),B=a(x,u(I,c(N,x))),j=a(E,u(P,c(A,E))),L=a(S,u(P,c(C,S))),F=a(M,u(P,c(O,M))),p(q,j)&&p(z,L)&&p(B,F)?[q,z,B]:null}throw new TypeError("Arrays with two or thee dimensional points expected");var y,v,x,b,w,N,E,S,M,A,C,O,k,T,_,R,D,I,P,q,z,B,j,L,F},"Matrix, Matrix, Matrix":function(e,t,n){return o(this(e.valueOf(),t.valueOf(),n.valueOf()))},"Matrix, Matrix, Matrix, Matrix":function(e,t,n,r){return o(this(e.valueOf(),t.valueOf(),n.valueOf(),r.valueOf()))}});function h(e){return"number"==typeof e||Re(e)}function d(e){return 2===e.length&&h(e[0])&&h(e[1])}function m(e){return 3===e.length&&h(e[0])&&h(e[1])&&h(e[2])}function g(e,t,n,r,i,o,s,l,f,p,h,d){var m=u(c(e,t),c(n,r)),g=u(c(i,o),c(s,l)),y=u(c(f,p),c(h,d));return a(a(m,g),y)}}),Id=Sn("sum",["typed","config","add","numeric"],function(e){var t=e.typed,n=e.config,r=e.add,i=e.numeric;return t("sum",{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(e,t){try{return $i(e,t,r)}catch(e){throw ql(e,"sum")}},"...":function(e){if(Li(e))throw new TypeError("Scalar values expected in function sum");return a(e)}});function a(e){var t;return Fi(e,function(e){try{t=void 0===t?e:r(t,e)}catch(t){throw ql(t,"sum",e)}}),void 0===t&&(t=i(0,n.number)),"string"==typeof t&&(t=i(t,n.number)),t}}),Pd="mean",qd=Sn(Pd,["typed","add","divide"],function(e){var t=e.typed,n=e.add,r=e.divide;return t(Pd,{"Array | Matrix":i,"Array | Matrix, number | BigNumber":function(e,t){try{var i=$i(e,t,n),a=Array.isArray(e)?rn(e):e.size();return r(i,a[t])}catch(e){throw ql(e,"mean")}},"...":function(e){if(Li(e))throw new TypeError("Scalar values expected in function mean");return i(e)}});function i(e){var t,i=0;if(Fi(e,function(e){try{t=void 0===t?e:n(t,e),i++}catch(t){throw ql(t,"mean",e)}}),0===i)throw new Error("Cannot calculate the mean of an empty array");return r(t,i)}}),zd="median",Bd=Sn(zd,["typed","add","divide","compare","partitionSelect"],function(e){var t=e.typed,n=e.add,r=e.divide,i=e.compare,a=e.partitionSelect;function o(e){try{var t=(e=mn(e.valueOf())).length;if(0===t)throw new Error("Cannot calculate median of an empty array");if(t%2==0){for(var n=t/2-1,r=a(e,n+1),o=e[n],l=0;l<n;++l)i(e[l],o)>0&&(o=e[l]);return u(o,r)}var c=a(e,(t-1)/2);return s(c)}catch(e){throw ql(e,"median")}}var s=t({"number | BigNumber | Complex | Unit":function(e){return e}}),u=t({"number | BigNumber | Complex | Unit, number | BigNumber | Complex | Unit":function(e,t){return r(n(e,t),2)}});return t(zd,{"Array | Matrix":o,"Array | Matrix, number | BigNumber":function(e,t){throw new Error("median(A, dim) is not yet supported")},"...":function(e){if(Li(e))throw new TypeError("Scalar values expected in function median");return o(e)}})}),jd=Sn("mad",["typed","abs","map","median","subtract"],function(e){var t=e.typed,n=e.abs,r=e.map,i=e.median,a=e.subtract;return t("mad",{"Array | Matrix":o,"...":function(e){return o(e)}});function o(e){if(0===(e=mn(e.valueOf())).length)throw new Error("Cannot calculate median absolute deviation (mad) of an empty array");try{var t=i(e);return i(r(e,function(e){return n(a(e,t))}))}catch(e){throw e instanceof TypeError&&-1!==e.message.indexOf("median")?new TypeError(e.message.replace("median","mad")):ql(e,"mad")}}}),Ld="unbiased",Fd="variance",Ud=Sn(Fd,["typed","add","subtract","multiply","divide","apply","isNaN"],function(e){var t=e.typed,n=e.add,r=e.subtract,i=e.multiply,a=e.divide,o=e.apply,s=e.isNaN;return t(Fd,{"Array | Matrix":function(e){return u(e,Ld)},"Array | Matrix, string":u,"Array | Matrix, number | BigNumber":function(e,t){return l(e,t,Ld)},"Array | Matrix, number | BigNumber, string":l,"...":function(e){return u(e,Ld)}});function u(e,t){var o,u=0;if(0===e.length)throw new SyntaxError("Function variance requires one or more parameters (0 provided)");if(Fi(e,function(e){try{o=void 0===o?e:n(o,e),u++}catch(t){throw ql(t,"variance",e)}}),0===u)throw new Error("Cannot calculate variance of an empty array");var l=a(o,u);if(o=void 0,Fi(e,function(e){var t=r(e,l);o=void 0===o?i(t,t):n(o,i(t,t))}),s(o))return o;switch(t){case"uncorrected":return a(o,u);case"biased":return a(o,u+1);case"unbiased":var c=Re(o)?o.mul(0):0;return 1===u?c:a(o,u-1);default:throw new Error('Unknown normalization "'+t+'". Choose "unbiased" (default), "uncorrected", or "biased".')}}function l(e,t,n){try{if(0===e.length)throw new SyntaxError("Function variance requires one or more parameters (0 provided)");return o(e,t,function(e){return u(e,n)})}catch(e){throw ql(e,"variance")}}}),$d=Sn("quantileSeq",["typed","add","multiply","partitionSelect","compare"],function(e){var t=e.typed,n=e.add,r=e.multiply,i=e.partitionSelect,a=e.compare;function o(e,t,o){var u=mn(e),l=u.length;if(0===l)throw new Error("Cannot calculate quantile of an empty sequence");if(_e(t)){var c=t*(l-1),f=c%1;if(0===f){var p=o?u[c]:i(u,c);return s(p),p}var h,d,m=Math.floor(c);if(o)h=u[m],d=u[m+1];else{d=i(u,m+1),h=u[m];for(var g=0;g<m;++g)a(u[g],h)>0&&(h=u[g])}return s(h),s(d),n(r(h,1-f),r(d,f))}var y=t.times(l-1);if(y.isInteger()){y=y.toNumber();var v=o?u[y]:i(u,y);return s(v),v}var x,b,w=y.floor(),N=y.minus(w),E=w.toNumber();if(o)x=u[E],b=u[E+1];else{b=i(u,E+1),x=u[E];for(var S=0;S<E;++S)a(u[S],x)>0&&(x=u[S])}s(x),s(b);var M=new N.constructor(1);return n(r(x,M.minus(N)),r(b,N))}var s=t({"number | BigNumber | Unit":function(e){return e}});return function(e,t,n){var r,i,a;if(arguments.length<2||arguments.length>3)throw new SyntaxError("Function quantileSeq requires two or three parameters");if(je(e)){if("boolean"==typeof(n=n||!1)){if(i=e.valueOf(),_e(t)){if(t<0)throw new Error("N/prob must be non-negative");if(t<=1)return o(i,t,n);if(t>1){if(!At(t))throw new Error("N must be a positive integer");var s=t+1;r=new Array(t);for(var u=0;u<t;)r[u]=o(i,++u/s,n);return r}}if(Re(t)){var l=t.constructor;if(t.isNegative())throw new Error("N/prob must be non-negative");if(a=new l(1),t.lte(a))return new l(o(i,t,n));if(t.gt(a)){if(!t.isInteger())throw new Error("N must be a positive integer");var c=t.toNumber();if(c>4294967295)throw new Error("N must be less than or equal to 2^32-1, as that is the maximum length of an Array");var f=new l(c+1);r=new Array(c);for(var p=0;p<c;)r[p]=new l(o(i,new l(++p).div(f),n));return r}}if(Array.isArray(t)){r=new Array(t.length);for(var h=0;h<r.length;++h){var d=t[h];if(_e(d)){if(d<0||d>1)throw new Error("Probability must be between 0 and 1, inclusive")}else{if(!Re(d))throw new TypeError("Unexpected type of argument in function quantileSeq");if(a=new d.constructor(1),d.isNegative()||d.gt(a))throw new Error("Probability must be between 0 and 1, inclusive")}r[h]=o(i,d,n)}return r}throw new TypeError("Unexpected type of argument in function quantileSeq")}throw new TypeError("Unexpected type of argument in function quantileSeq")}throw new TypeError("Unexpected type of argument in function quantileSeq")}}),Vd=Sn("std",["typed","sqrt","variance"],function(e){var t=e.typed,n=e.sqrt,r=e.variance;return t("std",{"Array | Matrix":i,"Array | Matrix, string":i,"Array | Matrix, number | BigNumber":i,"Array | Matrix, number | BigNumber, string":i,"...":function(e){return i(e)}});function i(e,t){if(0===e.length)throw new SyntaxError("Function std requires one or more parameters (0 provided)");try{return n(r.apply(null,arguments))}catch(e){throw e instanceof TypeError&&-1!==e.message.indexOf(" variance")?new TypeError(e.message.replace(" variance"," std")):e}}}),Hd="combinations",Wd=Sn(Hd,["typed"],function(e){return(0,e.typed)(Hd,{"number, number":Ca,"BigNumber, BigNumber":function(e,t){var n,r,i=e.constructor,a=e.minus(t),o=new i(1);if(!Gd(e)||!Gd(t))throw new TypeError("Positive integer value expected in function combinations");if(t.gt(e))throw new TypeError("k must be less than n in function combinations");if(n=o,t.lt(a))for(r=o;r.lte(a);r=r.plus(o))n=n.times(t.plus(r)).dividedBy(r);else for(r=o;r.lte(t);r=r.plus(o))n=n.times(a.plus(r)).dividedBy(r);return n}})});function Gd(e){return e.isInteger()&&e.gte(0)}var Yd="combinationsWithRep",Zd=Sn(Yd,["typed"],function(e){return(0,e.typed)(Yd,{"number, number":function(e,t){if(!At(e)||e<0)throw new TypeError("Positive integer value expected in function combinationsWithRep");if(!At(t)||t<0)throw new TypeError("Positive integer value expected in function combinationsWithRep");if(e<1)throw new TypeError("k must be less than or equal to n + k - 1");return t<e-1?Aa(e,e+t-1)/Aa(1,t):Aa(t+1,e+t-1)/Aa(1,e-1)},"BigNumber, BigNumber":function(e,t){var n,r,i=new(0,e.constructor)(1),a=e.minus(i);if(!Jd(e)||!Jd(t))throw new TypeError("Positive integer value expected in function combinationsWithRep");if(e.lt(i))throw new TypeError("k must be less than or equal to n + k - 1 in function combinationsWithRep");if(n=i,t.lt(a))for(r=i;r.lte(a);r=r.plus(i))n=n.times(t.plus(r)).dividedBy(r);else for(r=i;r.lte(t);r=r.plus(i))n=n.times(a.plus(r)).dividedBy(r);return n}})});function Jd(e){return e.isInteger()&&e.gte(0)}var Xd="gamma",Kd=Sn(Xd,["typed","config","multiplyScalar","pow","BigNumber","Complex"],function(e){var t=e.typed,n=e.config,r=e.multiplyScalar,i=e.pow,a=e.BigNumber,o=e.Complex;return t(Xd,{number:qa,Complex:function(e){if(0===e.im)return this(e.re);e=new o(e.re-1,e.im);for(var t=new o(Ba[0],0),n=1;n<Ba.length;++n){var a=e.re+n,s=a*a+e.im*e.im;0!==s?(t.re+=Ba[n]*a/s,t.im+=-Ba[n]*e.im/s):t.re=Ba[n]<0?-1/0:1/0}var u=new o(e.re+za+.5,e.im),l=Math.sqrt(2*Math.PI);e.re+=.5;var c=i(u,e);0===c.im?c.re*=l:(0===c.re||(c.re*=l),c.im*=l);var f=Math.exp(-u.re);return u.re=f*Math.cos(-u.im),u.im=f*Math.sin(-u.im),r(r(c,u),t)},BigNumber:function(e){if(e.isInteger())return e.isNegative()||e.isZero()?new a(1/0):s(e.minus(1));if(!e.isFinite())return new a(e.isNegative()?NaN:1/0);throw new Error("Integer BigNumber expected")},"Array | Matrix":function(e){return Ui(e,this)}});function s(e){if(e<8)return new a([1,1,2,6,24,120,720,5040][e]);var t=n.precision+(0|Math.log(e.toNumber())),r=a.clone({precision:t});if(e%2==1)return e.times(s(new a(e-1)));for(var i=e,o=new r(e),u=e.toNumber();i>2;)u+=i-=2,o=o.times(u);return new a(o.toPrecision(a.precision))}}),Qd="factorial",em=Sn(Qd,["typed","gamma"],function(e){var t=e.typed,n=e.gamma;return t(Qd,{number:function(e){if(e<0)throw new Error("Value must be non-negative");return n(e+1)},BigNumber:function(e){if(e.isNegative())throw new Error("Value must be non-negative");return n(e.plus(1))},"Array | Matrix":function(e){return Ui(e,this)}})}),tm="kldivergence",nm=Sn(tm,["typed","matrix","divide","sum","multiply","dotDivide","log","isNumeric"],function(e){var t=e.typed,n=e.matrix,r=e.divide,i=e.sum,a=e.multiply,o=e.dotDivide,s=e.log,u=e.isNumeric;return t(tm,{"Array, Array":function(e,t){return l(n(e),n(t))},"Matrix, Array":function(e,t){return l(e,n(t))},"Array, Matrix":function(e,t){return l(n(e),t)},"Matrix, Matrix":function(e,t){return l(e,t)}});function l(e,t){var n=t.size().length,l=e.size().length;if(n>1)throw new Error("first object must be one dimensional");if(l>1)throw new Error("second object must be one dimensional");if(n!==l)throw new Error("Length of two vectors must be equal");if(0===i(e))throw new Error("Sum of elements in first object must be non zero");if(0===i(t))throw new Error("Sum of elements in second object must be non zero");var c=r(e,i(e)),f=r(t,i(t)),p=i(a(c,s(o(c,f))));return u(p)?p:Number.NaN}}),rm="multinomial",im=Sn(rm,["typed","add","divide","multiply","factorial","isInteger","isPositive"],function(e){var t=e.typed,n=e.add,r=e.divide,i=e.multiply,a=e.factorial,o=e.isInteger,s=e.isPositive;return t(rm,{"Array | Matrix":function(e){var t=0,u=1;return Fi(e,function(e){if(!o(e)||!s(e))throw new TypeError("Positive integer value expected in function multinomial");t=n(t,e),u=i(u,a(e))}),r(a(t),u)}})}),am="permutations",om=Sn(am,["typed","factorial"],function(e){var t=e.typed,n=e.factorial;return t(am,{"number | BigNumber":n,"number, number":function(e,t){if(!At(e)||e<0)throw new TypeError("Positive integer value expected in function permutations");if(!At(t)||t<0)throw new TypeError("Positive integer value expected in function permutations");if(t>e)throw new TypeError("second argument k must be less than or equal to first argument n");return Aa(e-t+1,e)},"BigNumber, BigNumber":function(e,t){var n,r;if(!sm(e)||!sm(t))throw new TypeError("Positive integer value expected in function permutations");if(t.gt(e))throw new TypeError("second argument k must be less than or equal to first argument n");for(n=e.mul(0).add(1),r=e.minus(t).plus(1);r.lte(e);r=r.plus(1))n=n.times(r);return n}})});function sm(e){return e.isInteger()&&e.gte(0)}var um={exports:{}};!function(e){var t=256,n=[],r=void 0===Et?window:Et,i=Math.pow(t,6),a=Math.pow(2,52),o=2*a,s=255,u=Math.random;function l(e){var n,r=e.length,i=this,a=0,o=i.i=i.j=0,u=i.S=[];for(r||(e=[r++]);a<t;)u[a]=a++;for(a=0;a<t;a++)u[a]=u[o=s&o+e[a%r]+(n=u[a])],u[o]=n;(i.g=function(e){for(var n,r=0,a=i.i,o=i.j,u=i.S;e--;)n=u[a=s&a+1],r=r*t+u[s&(u[a]=u[o=s&o+n])+(u[o]=n)];return i.i=a,i.j=o,r})(t)}function c(e,t){var n,r=[],i=(typeof e)[0];if(t&&"o"==i)for(n in e)try{r.push(c(e[n],t-1))}catch(e){}return r.length?r:"s"==i?e:e+"\0"}function f(e,t){for(var n,r=e+"",i=0;i<r.length;)t[s&i]=s&(n^=19*t[s&i])+r.charCodeAt(i++);return p(t)}function p(e){return String.fromCharCode.apply(0,e)}e.exports=function(s,u){if(u&&!0===u.global)return u.global=!1,Math.random=e.exports(s,u),u.global=!0,Math.random;var h=[];f(c(u&&u.entropy?[s,p(n)]:0 in arguments?s:function(e){try{return r.crypto.getRandomValues(e=new Uint8Array(t)),p(e)}catch(e){return[+new Date,r,r.navigator&&r.navigator.plugins,r.screen,p(n)]}}(),3),h);var d=new l(h);return f(p(d.S),n),function(){for(var e=d.g(6),n=i,r=0;e<a;)e=(e+r)*t,n*=t,r=d.g(1);for(;e>=o;)e/=2,n/=2,r>>>=1;return(e+r)/n}},e.exports.resetGlobal=function(){Math.random=u},f(Math.random(),n)}(um);var lm=um.exports,cm=lm();function fm(e){var t,n;return t=null===(n=e)?cm:lm(String(n)),function(){return t()}}var pm=Sn("pickRandom",["typed","config","?on"],function(e){var t=e.typed,n=e.config,r=e.on,i=fm(n.randomSeed);return r&&r("config",function(e,t){e.randomSeed!==t.randomSeed&&(i=fm(e.randomSeed))}),t({"Array | Matrix":function(e){return a(e)},"Array | Matrix, number":function(e,t){return a(e,t,void 0)},"Array | Matrix, Array":function(e,t){return a(e,void 0,t)},"Array | Matrix, Array | Matrix, number":function(e,t,n){return a(e,n,t)},"Array | Matrix, number, Array | Matrix":function(e,t,n){return a(e,t,n)}});function a(e,t,n){var r=void 0===t;r&&(t=1),e=mn(e.valueOf()).valueOf(),n&&(n=n.valueOf());var a=0;if(void 0!==n){if(n.length!==e.length)throw new Error("Weights must have the same length as possibles");for(var o=0,s=n.length;o<s;o++){if(!_e(n[o])||n[o]<0)throw new Error("Weights must be an array of positive numbers");a+=n[o]}}var u=e.length;if(0===u)return[];if(t>=u)return t>1?e:e[0];for(var l,c=[];c.length<t;){if(void 0===n)l=e[Math.floor(i()*u)];else for(var f=i()*a,p=0,h=e.length;p<h;p++)if((f-=n[p])<0){l=e[p];break}-1===c.indexOf(l)&&c.push(l)}return r?c[0]:c}});function hm(e,t){var n=[];if((e=e.slice(0)).length>1)for(var r=0,i=e.shift();r<i;r++)n.push(hm(e,t));else for(var a=0,o=e.shift();a<o;a++)n.push(t());return n}var dm="random",mm=Sn(dm,["typed","config","?on"],function(e){var t=e.typed,n=e.config,r=e.on,i=fm(n.randomSeed);return r&&r("config",function(e,t){e.randomSeed!==t.randomSeed&&(i=fm(e.randomSeed))}),t(dm,{"":function(){return o(0,1)},number:function(e){return o(0,e)},"number, number":function(e,t){return o(e,t)},"Array | Matrix":function(e){return a(e,0,1)},"Array | Matrix, number":function(e,t){return a(e,0,t)},"Array | Matrix, number, number":function(e,t,n){return a(e,t,n)}});function a(e,t,n){var r=hm(e.valueOf(),function(){return o(t,n)});return Be(e)?e.create(r):r}function o(e,t){return e+i()*(t-e)}});Sn(dm,["typed","config","?on"],function(e){var t=e.typed,n=e.config,r=e.on;e.matrix;var i=fm(n.randomSeed);return r&&r("config",function(e,t){e.randomSeed!==t.randomSeed&&(i=fm(e.randomSeed))}),t(dm,{"":function(){return a(0,1)},number:function(e){return a(0,e)},"number, number":function(e,t){return a(e,t)}});function a(e,t){return e+i()*(t-e)}});var gm="randomInt",ym=Sn(gm,["typed","config","?on"],function(e){var t=e.typed,n=e.config,r=e.on,i=fm(n.randomSeed);return r&&r("config",function(e,t){e.randomSeed!==t.randomSeed&&(i=fm(e.randomSeed))}),t(gm,{"":function(){return o(0,1)},number:function(e){return o(0,e)},"number, number":function(e,t){return o(e,t)},"Array | Matrix":function(e){return a(e,0,1)},"Array | Matrix, number":function(e,t){return a(e,0,t)},"Array | Matrix, number, number":function(e,t,n){return a(e,t,n)}});function a(e,t,n){var r=hm(e.valueOf(),function(){return o(t,n)});return Be(e)?e.create(r):r}function o(e,t){return Math.floor(e+i()*(t-e))}}),vm="stirlingS2",xm=Sn(vm,["typed","addScalar","subtract","multiplyScalar","divideScalar","pow","factorial","combinations","isNegative","isInteger","larger"],function(e){var t=e.typed,n=e.addScalar,r=e.subtract,i=e.multiplyScalar,a=e.divideScalar,o=e.pow,s=e.factorial,u=e.combinations,l=e.isNegative,c=e.isInteger,f=e.larger;return t(vm,{"number | BigNumber, number | BigNumber":function(e,t){if(!c(e)||l(e)||!c(t)||l(t))throw new TypeError("Non-negative integer value expected in function stirlingS2");if(f(t,e))throw new TypeError("k must be less than or equal to n in function stirlingS2");for(var p=s(t),h=0,d=0;d<=t;d++){var m=o(-1,r(t,d)),g=u(t,d),y=o(d,e);h=n(h,i(i(g,y),m))}return a(h,p)}})}),bm="bellNumbers",wm=Sn(bm,["typed","addScalar","isNegative","isInteger","stirlingS2"],function(e){var t=e.typed,n=e.addScalar,r=e.isNegative,i=e.isInteger,a=e.stirlingS2;return t(bm,{"number | BigNumber":function(e){if(!i(e)||r(e))throw new TypeError("Non-negative integer value expected in function bellNumbers");for(var t=0,o=0;o<=e;o++)t=n(t,a(e,o));return t}})}),Nm="catalan",Em=Sn(Nm,["typed","addScalar","divideScalar","multiplyScalar","combinations","isNegative","isInteger"],function(e){var t=e.typed,n=e.addScalar,r=e.divideScalar,i=e.multiplyScalar,a=e.combinations,o=e.isNegative,s=e.isInteger;return t(Nm,{"number | BigNumber":function(e){if(!s(e)||o(e))throw new TypeError("Non-negative integer value expected in function catalan");return r(a(i(e,2),e),n(e,1))}})}),Sm="composition",Mm=Sn(Sm,["typed","addScalar","combinations","isNegative","isPositive","isInteger","larger"],function(e){var t=e.typed,n=e.addScalar,r=e.combinations,i=e.isPositive;e.isNegative;var a=e.isInteger,o=e.larger;return t(Sm,{"number | BigNumber, number | BigNumber":function(e,t){if(!(a(e)&&i(e)&&a(t)&&i(t)))throw new TypeError("Positive integer value expected in function composition");if(o(t,e))throw new TypeError("k must be less than or equal to n in function composition");return r(n(e,-1),n(t,-1))}})}),Am=Sn("simplifyUtil",["FunctionNode","OperatorNode","SymbolNode"],function(e){var t=e.FunctionNode,n=e.OperatorNode,r=e.SymbolNode,i={add:!0,multiply:!0},a={add:!0,multiply:!0};function o(e,t){if(!ct(e))return!1;var n=e.fn.toString();return t&&bt(t,n)&&bt(t[n],"associative")?t[n].associative:a[n]||!1}function s(e){var t,n=[];return o(e)?(t=e.op,function e(r){for(var i=0;i<r.args.length;i++){var a=r.args[i];ct(a)&&t===a.op?e(a):n.push(a)}}(e),n):e.args}function u(e){return ct(e)?function(t){try{return new n(e.op,e.fn,t,e.implicit)}catch(e){return console.error(e),[]}}:function(n){return new t(new r(e.name),n)}}return{createMakeNodeFunction:u,isCommutative:function(e,t){if(!ct(e))return!0;var n=e.fn.toString();return t&&bt(t,n)&&bt(t[n],"commutative")?t[n].commutative:i[n]||!1},isAssociative:o,flatten:function e(t){if(!t.args||0===t.args.length)return t;t.args=s(t);for(var n=0;n<t.args.length;n++)e(t.args[n])},allChildren:s,unflattenr:function e(t){if(t.args&&0!==t.args.length){for(var n=u(t),r=t.args.length,i=0;i<r;i++)e(t.args[i]);if(r>2&&o(t)){for(var a=t.args.pop();t.args.length>0;)a=n([t.args.pop(),a]);t.args=a.args}}},unflattenl:function e(t){if(t.args&&0!==t.args.length){for(var n=u(t),r=t.args.length,i=0;i<r;i++)e(t.args[i]);if(r>2&&o(t)){for(var a=t.args.shift();t.args.length>0;)a=n([a,t.args.shift()]);t.args=a.args}}}}}),Cm=Sn("simplifyCore",["equal","isZero","add","subtract","multiply","divide","pow","ConstantNode","OperatorNode","FunctionNode","ParenthesisNode"],function(e){var t=e.equal,n=e.isZero,r=e.add,i=e.subtract,a=e.multiply,o=e.divide,s=e.pow,u=e.ConstantNode,l=e.OperatorNode,c=e.FunctionNode,f=e.ParenthesisNode,p=new u(0),h=new u(1);return function e(d){if(ct(d)&&d.isUnary()){var m=e(d.args[0]);if("+"===d.op)return m;if("-"===d.op){if(ct(m)){if(m.isUnary()&&"-"===m.op)return m.args[0];if(m.isBinary()&&"subtract"===m.fn)return new l("-","subtract",[m.args[1],m.args[0]])}return new l(d.op,d.fn,[m])}}else if(ct(d)&&d.isBinary()){var g=e(d.args[0]),y=e(d.args[1]);if("+"===d.op){if(it(g)){if(n(g.value))return y;if(it(y))return new u(r(g.value,y.value))}return it(y)&&n(y.value)?g:ct(y)&&y.isUnary()&&"-"===y.op?new l("-","subtract",[g,y.args[0]]):new l(d.op,d.fn,y?[g,y]:[g])}if("-"===d.op){if(it(g)&&y){if(it(y))return new u(i(g.value,y.value));if(n(g.value))return new l("-","unaryMinus",[y])}if("subtract"===d.fn)return it(y)&&n(y.value)?g:ct(y)&&y.isUnary()&&"-"===y.op?e(new l("+","add",[g,y.args[0]])):new l(d.op,d.fn,[g,y])}else{if("*"===d.op){if(it(g)){if(n(g.value))return p;if(t(g.value,1))return y;if(it(y))return new u(a(g.value,y.value))}if(it(y)){if(n(y.value))return p;if(t(y.value,1))return g;if(ct(g)&&g.isBinary()&&g.op===d.op){var v=g.args[0];if(it(v)){var x=new u(a(v.value,y.value));return new l(d.op,d.fn,[x,g.args[1]],d.implicit)}}return new l(d.op,d.fn,[y,g],d.implicit)}return new l(d.op,d.fn,[g,y],d.implicit)}if("/"===d.op){if(it(g)){if(n(g.value))return p;if(it(y)&&(t(y.value,1)||t(y.value,2)||t(y.value,4)))return new u(o(g.value,y.value))}return new l(d.op,d.fn,[g,y])}if("^"===d.op){if(it(y)){if(n(y.value))return h;if(t(y.value,1))return g;if(it(g))return new u(s(g.value,y.value));if(ct(g)&&g.isBinary()&&"^"===g.op){var b=g.args[1];if(it(b))return new l(d.op,d.fn,[g.args[0],new u(a(b.value,y.value))])}}return new l(d.op,d.fn,[g,y])}}}else{if(ft(d)){var w=e(d.content);return ft(w)||ht(w)||it(w)?w:new f(w)}if(ot(d)){var N=d.args.map(e).map(function(e){return ft(e)?e.content:e});return new c(e(d.fn),N)}}return d}}),Om=Sn("simplifyConstant",["typed","config","mathWithTransform","?fraction","?bignumber","ConstantNode","OperatorNode","FunctionNode","SymbolNode"],function(e){var t=e.typed,n=e.config,r=e.mathWithTransform,i=e.fraction,a=e.bignumber,o=e.ConstantNode,s=e.OperatorNode,u=e.FunctionNode,l=e.SymbolNode,c=Am({FunctionNode:u,OperatorNode:s,SymbolNode:l}),f=c.isCommutative,p=c.isAssociative,h=c.allChildren,d=c.createMakeNodeFunction;function m(e,t,n){try{return v(r[e].apply(null,t),n)}catch(i){return t=t.map(function(e){return Ie(e)?e.valueOf():e}),v(r[e].apply(null,t),n)}}var g=t({Fraction:function(e){var t,n=e.s*e.n;return t=n<0?new s("-","unaryMinus",[new o(-n)]):new o(n),1===e.d?t:new s("/","divide",[t,new o(e.d)])},number:function(e){return e<0?x(new o(-e)):new o(e)},BigNumber:function(e){return e<0?x(new o(-e)):new o(e)},Complex:function(e){throw new Error("Cannot convert Complex number to Node")}});function y(e,t){if(t&&!1!==t.exactFractions&&isFinite(e)&&i){var n=i(e);if(n.valueOf()===e)return n}return e}var v=t({"string, Object":function(e,t){return"BigNumber"===n.number?(void 0===a&&Hu(),a(e)):"Fraction"===n.number?(void 0===i&&Wu(),i(e)):y(parseFloat(e),t)},"Fraction, Object":function(e,t){return e},"BigNumber, Object":function(e,t){return e},"number, Object":function(e,t){return y(e,t)},"Complex, Object":function(e,t){return 0!==e.im?e:y(e.re,t)}});function x(e){return new s("-","unaryMinus",[e])}function b(e,t,n,r){return t.reduce(function(t,i){if(ut(t)||ut(i))ut(t)?ut(i)||(i=g(i)):t=g(t);else{try{return m(e,[t,i],r)}catch(e){}t=g(t),i=g(i)}return n([t,i])})}function w(e,t){switch(e.type){case"SymbolNode":return e;case"ConstantNode":return"number"!=typeof e.value&&isNaN(e.value)?e:v(e.value,t);case"FunctionNode":if(r[e.name]&&r[e.name].rawArgs)return e;if(-1===["add","multiply"].indexOf(e.name)){var n=e.args.map(function(e){return w(e,t)});if(!n.some(ut))try{return m(e.name,n,t)}catch(e){}return n=n.map(function(e){return ut(e)?e:g(e)}),new u(e.name,n)}case"OperatorNode":var i,a,o=e.fn.toString(),s=d(e);if(ct(e)&&e.isUnary())a=ut((i=[w(e.args[0],t)])[0])?s(i):m(o,i,t);else if(p(e))if(i=(i=h(e)).map(function(e){return w(e,t)}),f(o)){for(var l=[],c=[],y=0;y<i.length;y++)ut(i[y])?c.push(i[y]):l.push(i[y]);l.length>1?(a=b(o,l,s,t),c.unshift(a),a=b(o,c,s,t)):a=b(o,i,s,t)}else a=b(o,i,s,t);else a=b(o,i=e.args.map(function(e){return w(e,t)}),s,t);return a;case"ParenthesisNode":return w(e.content,t);default:throw new Error("Unimplemented node type in simplifyConstant: ".concat(e.type))}}return function(e,t){var n=w(e,t);return ut(n)?n:g(n)}}),km=Sn("resolve",["parse","FunctionNode","OperatorNode","ParenthesisNode"],function(e){var t=e.parse,n=e.FunctionNode,r=e.OperatorNode,i=e.ParenthesisNode;return function e(a,o){if(!o)return a;if(ht(a)){var s=o[a.name];if(ut(s))return e(s,o);if("number"==typeof s)return t(String(s))}else{if(ct(a)){var u=a.args.map(function(t){return e(t,o)});return new r(a.op,a.fn,u,a.implicit)}if(ft(a))return new i(e(a.content,o));if(ot(a)){var l=a.args.map(function(t){return e(t,o)});return new n(a.name,l)}}return a}});function Tm(e){return Tm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tm(e)}var _m=Sn("simplify",["config","typed","parse","add","subtract","multiply","divide","pow","isZero","equal","?fraction","?bignumber","mathWithTransform","ConstantNode","FunctionNode","OperatorNode","ParenthesisNode","SymbolNode"],function(e){var t=e.config,n=e.typed,r=e.parse,i=e.add,a=e.subtract,o=e.multiply,s=e.divide,u=e.pow,l=e.isZero,c=e.equal,f=e.fraction,p=e.bignumber,h=e.mathWithTransform,d=e.ConstantNode,m=e.FunctionNode,g=e.OperatorNode,y=e.ParenthesisNode,v=e.SymbolNode,x=Om({typed:n,config:t,mathWithTransform:h,fraction:f,bignumber:p,ConstantNode:d,OperatorNode:g,FunctionNode:m,SymbolNode:v}),b=Cm({equal:c,isZero:l,add:i,subtract:a,multiply:o,divide:s,pow:u,ConstantNode:d,OperatorNode:g,FunctionNode:m,ParenthesisNode:y}),w=km({parse:r,FunctionNode:m,OperatorNode:g,ParenthesisNode:y}),N=Am({FunctionNode:m,OperatorNode:g,SymbolNode:v}),E=N.isCommutative,S=N.isAssociative,M=N.flatten,A=N.unflattenr,C=N.unflattenl,O=N.createMakeNodeFunction,k=n("simplify",{string:function(e){return this(r(e),this.rules,{},{})},"string, Object":function(e,t){return this(r(e),this.rules,t,{})},"string, Object, Object":function(e,t,n){return this(r(e),this.rules,t,n)},"string, Array":function(e,t){return this(r(e),t,{},{})},"string, Array, Object":function(e,t,n){return this(r(e),t,n,{})},"string, Array, Object, Object":function(e,t,n,i){return this(r(e),t,n,i)},"Node, Object":function(e,t){return this(e,this.rules,t,{})},"Node, Object, Object":function(e,t,n){return this(e,this.rules,t,n)},Node:function(e){return this(e,this.rules,{},{})},"Node, Array":function(e,t){return this(e,t,{},{})},"Node, Array, Object":function(e,t,n){return this(e,t,n,{})},"Node, Array, Object, Object":function(e,t,n,i){t=function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n],a=void 0,o=Tm(i);switch(o){case"string":var s=i.split("->");if(2!==s.length)throw SyntaxError("Could not parse rule: "+i);i={l:s[0],r:s[1]};case"object":if(a={l:T(r(i.l)),r:T(r(i.r))},i.context&&(a.evaluate=i.context),i.evaluate&&(a.evaluate=r(i.evaluate)),S(a.l)){var u=O(a.l),l=D();a.expanded={},a.expanded.l=u([a.l.clone(),l]),M(a.expanded.l),A(a.expanded.l),a.expanded.r=u([a.r,l])}break;case"function":a=i;break;default:throw TypeError("Unsupported type of rule: "+o)}t.push(a)}return t}(t);for(var a=w(e,n),o={},s=(a=T(a)).toString({parenthesis:"all"});!o[s];){o[s]=!0,R=0;for(var u=0;u<t.length;u++)"function"==typeof t[u]?a=t[u](a,i):(M(a),a=I(a,t[u])),C(a);s=a.toString({parenthesis:"all"})}return a}});function T(e){return e.transform(function(e,t,n){return ft(e)?T(e.content):e})}k.simplifyCore=b,k.resolve=w;var _={true:!0,false:!0,e:!0,i:!0,Infinity:!0,LN2:!0,LN10:!0,LOG2E:!0,LOG10E:!0,NaN:!0,phi:!0,pi:!0,SQRT1_2:!0,SQRT2:!0,tau:!0};k.rules=[b,{l:"log(e)",r:"1"},{l:"n-n1",r:"n+-n1"},{l:"-(c*v)",r:"(-c) * v"},{l:"-v",r:"(-1) * v"},{l:"n/n1^n2",r:"n*n1^-n2"},{l:"n/n1",r:"n*n1^-1"},{l:"(n ^ n1) ^ n2",r:"n ^ (n1 * n2)"},{l:"n*n",r:"n^2"},{l:"n * n^n1",r:"n^(n1+1)"},{l:"n^n1 * n^n2",r:"n^(n1+n2)"},{l:"n+n",r:"2*n"},{l:"n+-n",r:"0"},{l:"n1*n2 + n2",r:"(n1+1)*n2"},{l:"n1*n3 + n2*n3",r:"(n1+n2)*n3"},{l:"n1 + -1 * (n2 + n3)",r:"n1 + -1 * n2 + -1 * n3"},x,{l:"(-n)*n1",r:"-(n*n1)"},{l:"c+v",r:"v+c",context:{add:{commutative:!1}}},{l:"v*c",r:"c*v",context:{multiply:{commutative:!1}}},{l:"n+-n1",r:"n-n1"},{l:"n*(n1^-1)",r:"n/n1"},{l:"n*n1^-n2",r:"n/n1^n2"},{l:"n1^-1",r:"1/n1"},{l:"n*(n1/n2)",r:"(n*n1)/n2"},{l:"n-(n1+n2)",r:"n-n1-n2"},{l:"1*n",r:"n"},{l:"n1/(n2/n3)",r:"(n1*n3)/n2"}];var R=0;function D(){return new v("_p"+R++)}var I=n("applyRule",{"Node, Object":function(e,t){var n=e;if(n instanceof g||n instanceof m){if(n.args)for(var r=0;r<n.args.length;r++)n.args[r]=I(n.args[r],t)}else n instanceof y&&n.content&&(n.content=I(n.content,t));var i=t.r,a=z(t.l,n)[0];if(!a&&t.expanded&&(i=t.expanded.r,a=z(t.expanded.l,n)[0]),a){var o=n.implicit;n=i.clone(),o&&"implicit"in i&&(n.implicit=!0),n=n.transform(function(e){return e.isSymbolNode&&bt(a.placeholders,e.name)?a.placeholders[e.name].clone():e})}return n}});function P(e,t){var n={placeholders:{}};if(!e.placeholders&&!t.placeholders)return n;if(!e.placeholders)return t;if(!t.placeholders)return e;for(var r in e.placeholders)if(bt(e.placeholders,r)&&(n.placeholders[r]=e.placeholders[r],bt(t.placeholders,r)&&!B(e.placeholders[r],t.placeholders[r])))return null;for(var i in t.placeholders)bt(t.placeholders,i)&&(n.placeholders[i]=t.placeholders[i]);return n}function q(e,t){var n,r=[];if(0===e.length||0===t.length)return r;for(var i=0;i<e.length;i++)for(var a=0;a<t.length;a++)(n=P(e[i],t[a]))&&r.push(n);return r}function z(e,t,n){var r=[{placeholders:{}}];if(e instanceof g&&t instanceof g||e instanceof m&&t instanceof m){if(e instanceof g){if(e.op!==t.op||e.fn!==t.fn)return[]}else if(e instanceof m&&e.name!==t.name)return[];if((1!==t.args.length||1!==e.args.length)&&S(t)&&!n){if(t.args.length>=2&&2===e.args.length){for(var i=function(e,t){var n,r,i=[],a=O(e);if(E(e,t))for(var o=0;o<e.args.length;o++)(r=e.args.slice(0)).splice(o,1),n=1===r.length?r[0]:a(r),i.push(a([e.args[o],n]));else n=1===(r=e.args.slice(1)).length?r[0]:a(r),i.push(a([e.args[0],n]));return i}(t,e.context),a=[],o=0;o<i.length;o++){var s=z(e,i[o],!0);a=a.concat(s)}return a}if(e.args.length>2)throw Error("Unexpected non-binary associative function: "+e.toString());return[]}for(var u=[],l=0;l<e.args.length;l++){var f=z(e.args[l],t.args[l]);if(0===f.length)return[];u.push(f)}r=function(e){if(0===e.length)return e;for(var t=e.reduce(q),n=[],r={},i=0;i<t.length;i++){var a=JSON.stringify(t[i]);r[a]||(r[a]=!0,n.push(t[i]))}return n}(u)}else if(e instanceof v){if(0===e.name.length)throw new Error("Symbol in rule has 0 length...!?");if(_[e.name]){if(e.name!==t.name)return[]}else if("n"===e.name[0]||"_p"===e.name.substring(0,2))r[0].placeholders[e.name]=t;else if("v"===e.name[0]){if(it(t))return[];r[0].placeholders[e.name]=t}else{if("c"!==e.name[0])throw new Error("Invalid symbol in rule: "+e.name);if(!(t instanceof d))return[];r[0].placeholders[e.name]=t}}else{if(!(e instanceof d))return[];if(!c(e.value,t.value))return[]}return r}function B(e,t){if(e instanceof d&&t instanceof d){if(!c(e.value,t.value))return!1}else if(e instanceof v&&t instanceof v){if(e.name!==t.name)return!1}else{if(!(e instanceof g&&t instanceof g||e instanceof m&&t instanceof m))return!1;if(e instanceof g){if(e.op!==t.op||e.fn!==t.fn)return!1}else if(e instanceof m&&e.name!==t.name)return!1;if(e.args.length!==t.args.length)return!1;for(var n=0;n<e.args.length;n++)if(!B(e.args[n],t.args[n]))return!1}return!0}return k}),Rm=Sn("derivative",["typed","config","parse","simplify","equal","isZero","numeric","ConstantNode","FunctionNode","OperatorNode","ParenthesisNode","SymbolNode"],function(e){var t=e.typed,n=e.config,r=e.parse,i=e.simplify,a=e.equal,o=e.isZero,s=e.numeric,u=e.ConstantNode,l=e.FunctionNode,c=e.OperatorNode,f=e.ParenthesisNode,p=e.SymbolNode,h=t("derivative",{"Node, SymbolNode, Object":function(e,t,n){var r={};m(r,e,t.name);var a=g(e,r);return n.simplify?i(a):a},"Node, SymbolNode":function(e,t){return this(e,t,{simplify:!0})},"string, SymbolNode":function(e,t){return this(r(e),t)},"string, SymbolNode, Object":function(e,t,n){return this(r(e),t,n)},"string, string":function(e,t){return this(r(e),r(t))},"string, string, Object":function(e,t,n){return this(r(e),r(t),n)},"Node, string":function(e,t){return this(e,r(t))},"Node, string, Object":function(e,t,n){return this(e,r(t),n)}});h._simplify=!0,h.toTex=function(e){return d.apply(null,e.args)};var d=t("_derivTex",{"Node, SymbolNode":function(e,t){return it(e)&&"string"===mt(e.value)?d(r(e.value).toString(),t.toString(),1):d(e.toString(),t.toString(),1)},"Node, ConstantNode":function(e,t){if("string"===mt(t.value))return d(e,r(t.value));throw new Error("The second parameter to 'derivative' is a non-string constant")},"Node, SymbolNode, ConstantNode":function(e,t,n){return d(e.toString(),t.name,n.value)},"string, string, number":function(e,t,n){return(1===n?"{d\\over d"+t+"}":"{d^{"+n+"}\\over d"+t+"^{"+n+"}}")+"\\left[".concat(e,"\\right]")}}),m=t("constTag",{"Object, ConstantNode, string":function(e,t){return e[t]=!0,!0},"Object, SymbolNode, string":function(e,t,n){return t.name!==n&&(e[t]=!0,!0)},"Object, ParenthesisNode, string":function(e,t,n){return m(e,t.content,n)},"Object, FunctionAssignmentNode, string":function(e,t,n){return-1===t.params.indexOf(n)?(e[t]=!0,!0):m(e,t.expr,n)},"Object, FunctionNode | OperatorNode, string":function(e,t,n){if(t.args.length>0){for(var r=m(e,t.args[0],n),i=1;i<t.args.length;++i)r=m(e,t.args[i],n)&&r;if(r)return e[t]=!0,!0}return!1}}),g=t("_derivative",{"ConstantNode, Object":function(e){return y(0)},"SymbolNode, Object":function(e,t){return void 0!==t[e]?y(0):y(1)},"ParenthesisNode, Object":function(e,t){return new f(g(e.content,t))},"FunctionAssignmentNode, Object":function(e,t){return void 0!==t[e]?y(0):g(e.expr,t)},"FunctionNode, Object":function(e,t){if(1!==e.args.length&&function(e){if("log"!==e.name&&"nthRoot"!==e.name&&"pow"!==e.name||2!==e.args.length){for(var t=0;t<e.args.length;++t)e.args[t]=y(0);throw e.compile().evaluate(),new Error("Expected TypeError, but none found")}}(e),void 0!==t[e])return y(0);var n,r,i,a,o=e.args[0],s=!1,u=!1;switch(e.name){case"cbrt":s=!0,r=new c("*","multiply",[y(3),new c("^","pow",[o,new c("/","divide",[y(2),y(3)])])]);break;case"sqrt":case"nthRoot":if(1===e.args.length)s=!0,r=new c("*","multiply",[y(2),new l("sqrt",[o])]);else if(2===e.args.length)return t[n=new c("/","divide",[y(1),e.args[1]])]=t[e.args[1]],g(new c("^","pow",[o,n]),t);break;case"log10":n=y(10);case"log":if(n||1!==e.args.length){if(1===e.args.length&&n||2===e.args.length&&void 0!==t[e.args[1]])r=new c("*","multiply",[o.clone(),new l("log",[n||e.args[1]])]),s=!0;else if(2===e.args.length)return g(new c("/","divide",[new l("log",[o]),new l("log",[e.args[1]])]),t)}else r=o.clone(),s=!0;break;case"pow":return t[n]=t[e.args[1]],g(new c("^","pow",[o,e.args[1]]),t);case"exp":r=new l("exp",[o.clone()]);break;case"sin":r=new l("cos",[o.clone()]);break;case"cos":r=new c("-","unaryMinus",[new l("sin",[o.clone()])]);break;case"tan":r=new c("^","pow",[new l("sec",[o.clone()]),y(2)]);break;case"sec":r=new c("*","multiply",[e,new l("tan",[o.clone()])]);break;case"csc":u=!0,r=new c("*","multiply",[e,new l("cot",[o.clone()])]);break;case"cot":u=!0,r=new c("^","pow",[new l("csc",[o.clone()]),y(2)]);break;case"asin":s=!0,r=new l("sqrt",[new c("-","subtract",[y(1),new c("^","pow",[o.clone(),y(2)])])]);break;case"acos":s=!0,u=!0,r=new l("sqrt",[new c("-","subtract",[y(1),new c("^","pow",[o.clone(),y(2)])])]);break;case"atan":s=!0,r=new c("+","add",[new c("^","pow",[o.clone(),y(2)]),y(1)]);break;case"asec":s=!0,r=new c("*","multiply",[new l("abs",[o.clone()]),new l("sqrt",[new c("-","subtract",[new c("^","pow",[o.clone(),y(2)]),y(1)])])]);break;case"acsc":s=!0,u=!0,r=new c("*","multiply",[new l("abs",[o.clone()]),new l("sqrt",[new c("-","subtract",[new c("^","pow",[o.clone(),y(2)]),y(1)])])]);break;case"acot":s=!0,u=!0,r=new c("+","add",[new c("^","pow",[o.clone(),y(2)]),y(1)]);break;case"sinh":r=new l("cosh",[o.clone()]);break;case"cosh":r=new l("sinh",[o.clone()]);break;case"tanh":r=new c("^","pow",[new l("sech",[o.clone()]),y(2)]);break;case"sech":u=!0,r=new c("*","multiply",[e,new l("tanh",[o.clone()])]);break;case"csch":u=!0,r=new c("*","multiply",[e,new l("coth",[o.clone()])]);break;case"coth":u=!0,r=new c("^","pow",[new l("csch",[o.clone()]),y(2)]);break;case"asinh":s=!0,r=new l("sqrt",[new c("+","add",[new c("^","pow",[o.clone(),y(2)]),y(1)])]);break;case"acosh":s=!0,r=new l("sqrt",[new c("-","subtract",[new c("^","pow",[o.clone(),y(2)]),y(1)])]);break;case"atanh":s=!0,r=new c("-","subtract",[y(1),new c("^","pow",[o.clone(),y(2)])]);break;case"asech":s=!0,u=!0,r=new c("*","multiply",[o.clone(),new l("sqrt",[new c("-","subtract",[y(1),new c("^","pow",[o.clone(),y(2)])])])]);break;case"acsch":s=!0,u=!0,r=new c("*","multiply",[new l("abs",[o.clone()]),new l("sqrt",[new c("+","add",[new c("^","pow",[o.clone(),y(2)]),y(1)])])]);break;case"acoth":s=!0,u=!0,r=new c("-","subtract",[y(1),new c("^","pow",[o.clone(),y(2)])]);break;case"abs":r=new c("/","divide",[new l(new p("abs"),[o.clone()]),o.clone()]);break;default:throw new Error('Function "'+e.name+'" is not supported by derivative, or a wrong number of arguments is passed')}s?(i="/",a="divide"):(i="*",a="multiply");var f=g(o,t);return u&&(f=new c("-","unaryMinus",[f])),new c(i,a,[f,r])},"OperatorNode, Object":function(e,t){if(void 0!==t[e])return y(0);if("+"===e.op)return new c(e.op,e.fn,e.args.map(function(e){return g(e,t)}));if("-"===e.op){if(e.isUnary())return new c(e.op,e.fn,[g(e.args[0],t)]);if(e.isBinary())return new c(e.op,e.fn,[g(e.args[0],t),g(e.args[1],t)])}if("*"===e.op){var n=e.args.filter(function(e){return void 0!==t[e]});if(n.length>0){var r=e.args.filter(function(e){return void 0===t[e]}),i=1===r.length?r[0]:new c("*","multiply",r),s=n.concat(g(i,t));return new c("*","multiply",s)}return new c("+","add",e.args.map(function(n){return new c("*","multiply",e.args.map(function(e){return e===n?g(e,t):e.clone()}))}))}if("/"===e.op&&e.isBinary()){var u=e.args[0],f=e.args[1];return void 0!==t[f]?new c("/","divide",[g(u,t),f]):void 0!==t[u]?new c("*","multiply",[new c("-","unaryMinus",[u]),new c("/","divide",[g(f,t),new c("^","pow",[f.clone(),y(2)])])]):new c("/","divide",[new c("-","subtract",[new c("*","multiply",[g(u,t),f.clone()]),new c("*","multiply",[u.clone(),g(f,t)])]),new c("^","pow",[f.clone(),y(2)])])}if("^"===e.op&&e.isBinary()){var p=e.args[0],h=e.args[1];if(void 0!==t[p])return it(p)&&(o(p.value)||a(p.value,1))?y(0):new c("*","multiply",[e,new c("*","multiply",[new l("log",[p.clone()]),g(h.clone(),t)])]);if(void 0!==t[h]){if(it(h)){if(o(h.value))return y(0);if(a(h.value,1))return g(p,t)}var d=new c("^","pow",[p.clone(),new c("-","subtract",[h,y(1)])]);return new c("*","multiply",[h.clone(),new c("*","multiply",[g(p,t),d])])}return new c("*","multiply",[new c("^","pow",[p.clone(),h.clone()]),new c("+","add",[new c("*","multiply",[g(p,t),new c("/","divide",[h.clone(),p.clone()])]),new c("*","multiply",[g(h,t),new l("log",[p.clone()])])])])}throw new Error('Operator "'+e.op+'" is not supported by derivative, or a wrong number of arguments is passed')}});function y(e,t){return new u(s(e,t||n.number))}return h}),Dm="rationalize",Im=Sn(Dm,["config","typed","equal","isZero","add","subtract","multiply","divide","pow","parse","simplify","?bignumber","?fraction","mathWithTransform","ConstantNode","OperatorNode","FunctionNode","SymbolNode","ParenthesisNode"],function(e){var t=e.config,n=e.typed,r=e.equal,i=e.isZero,a=e.add,o=e.subtract,s=e.multiply,u=e.divide,l=e.pow,c=e.parse,f=e.simplify,p=e.fraction,h=e.bignumber,d=e.mathWithTransform,m=e.ConstantNode,g=e.OperatorNode,y=e.FunctionNode,v=e.SymbolNode,x=e.ParenthesisNode,b=Om({typed:n,config:t,mathWithTransform:d,fraction:p,bignumber:h,ConstantNode:m,OperatorNode:g,FunctionNode:y,SymbolNode:v}),w=Cm({equal:r,isZero:i,add:a,subtract:o,multiply:s,divide:u,pow:l,ConstantNode:m,OperatorNode:g,FunctionNode:y,ParenthesisNode:x});return n(Dm,{string:function(e){return this(c(e),{},!1)},"string, boolean":function(e,t){return this(c(e),{},t)},"string, Object":function(e,t){return this(c(e),t,!1)},"string, Object, boolean":function(e,t,n){return this(c(e),t,n)},Node:function(e){return this(e,{},!1)},"Node, boolean":function(e,t){return this(e,{},t)},"Node, Object":function(e,t){return this(e,t,!1)},"Node, Object, boolean":function(e,t,n){var r=function(){var e=[w,{l:"n+n",r:"2*n"},{l:"n+-n",r:"0"},b,{l:"n*(n1^-1)",r:"n/n1"},{l:"n*n1^-n2",r:"n/n1^n2"},{l:"n1^-1",r:"1/n1"},{l:"n*(n1/n2)",r:"(n*n1)/n2"},{l:"1*n",r:"n"}],t=[{l:"(-n1)/(-n2)",r:"n1/n2"},{l:"(-n1)*(-n2)",r:"n1*n2"},{l:"n1--n2",r:"n1+n2"},{l:"n1-n2",r:"n1+(-n2)"},{l:"(n1+n2)*n3",r:"(n1*n3 + n2*n3)"},{l:"n1*(n2+n3)",r:"(n1*n2+n1*n3)"},{l:"c1*n + c2*n",r:"(c1+c2)*n"},{l:"c1*n + n",r:"(c1+1)*n"},{l:"c1*n - c2*n",r:"(c1-c2)*n"},{l:"c1*n - n",r:"(c1-1)*n"},{l:"v/c",r:"(1/c)*v"},{l:"v/-c",r:"-(1/c)*v"},{l:"-v*-c",r:"c*v"},{l:"-v*c",r:"-c*v"},{l:"v*-c",r:"-c*v"},{l:"v*c",r:"c*v"},{l:"-(-n1*n2)",r:"(n1*n2)"},{l:"-(n1*n2)",r:"(-n1*n2)"},{l:"-(-n1+n2)",r:"(n1-n2)"},{l:"-(n1+n2)",r:"(-n1-n2)"},{l:"(n1^n2)^n3",r:"(n1^(n2*n3))"},{l:"-(-n1/n2)",r:"(n1/n2)"},{l:"-(n1/n2)",r:"(-n1/n2)"}],n=[{l:"(n1/(n2/n3))",r:"((n1*n3)/n2)"},{l:"(n1/n2/n3)",r:"(n1/(n2*n3))"}],r={};return r.firstRules=e.concat(t,n),r.distrDivRules=[{l:"(n1/n2 + n3/n4)",r:"((n1*n4 + n3*n2)/(n2*n4))"},{l:"(n1/n2 + n3)",r:"((n1 + n3*n2)/n2)"},{l:"(n1 + n2/n3)",r:"((n1*n3 + n2)/n3)"}],r.sucDivRules=n,r.firstRulesAgain=e.concat(t),r.finalRules=[w,{l:"n*-n",r:"-n^2"},{l:"n*n",r:"n^2"},b,{l:"n*-n^n1",r:"-n^(n1+1)"},{l:"n*n^n1",r:"n^(n1+1)"},{l:"n^n1*-n^n2",r:"-n^(n1+n2)"},{l:"n^n1*n^n2",r:"n^(n1+n2)"},{l:"n^n1*-n",r:"-n^(n1+1)"},{l:"n^n1*n",r:"n^(n1+1)"},{l:"n^n1/-n",r:"-n^(n1-1)"},{l:"n^n1/n",r:"n^(n1-1)"},{l:"n/-n^n1",r:"-n^(1-n1)"},{l:"n/n^n1",r:"n^(1-n1)"},{l:"n^n1/-n^n2",r:"n^(n1-n2)"},{l:"n^n1/n^n2",r:"n^(n1-n2)"},{l:"n1+(-n2*n3)",r:"n1-n2*n3"},{l:"v*(-c)",r:"-c*v"},{l:"n1+-n2",r:"n1-n2"},{l:"v*c",r:"c*v"},{l:"(n1^n2)^n3",r:"(n1^(n2*n3))"}],r}(),i=function(e,t,n,r){var i=[],a=f(e,r,t,{exactFractions:!1}),o="+-*"+((n=!!n)?"/":"");!function e(t){var n=t.type;if("FunctionNode"===n)throw new Error("There is an unsolved function call");if("OperatorNode"===n)if("^"===t.op){if("ConstantNode"!==t.args[1].type||!At(parseFloat(t.args[1].value)))throw new Error("There is a non-integer exponent");e(t.args[0])}else{if(-1===o.indexOf(t.op))throw new Error("Operator "+t.op+" invalid in polynomial expression");for(var r=0;r<t.args.length;r++)e(t.args[r])}else if("SymbolNode"===n){var a=t.name;-1===i.indexOf(a)&&i.push(a)}else if("ParenthesisNode"===n)e(t.content);else if("ConstantNode"!==n)throw new Error("type "+n+" is not allowed in polynomial expression")}(a);var s={};return s.expression=a,s.variables=i,s}(e,t,!0,r.firstRules),a=i.variables.length;if(e=i.expression,a>=1){var o,s;e=N(e);var u,l=!0,c=!1;for(e=f(e,r.firstRules,{},{exactFractions:!1});s=l?r.distrDivRules:r.sucDivRules,l=!l,(u=(e=f(e,s)).toString())!==o;)c=!0,o=u;c&&(e=f(e,r.firstRulesAgain,{},{exactFractions:!1})),e=f(e,r.finalRules,{},{exactFractions:!1})}var p=[],h={};return"OperatorNode"===e.type&&e.isBinary()&&"/"===e.op?(1===a&&(e.args[0]=E(e.args[0],p),e.args[1]=E(e.args[1])),n&&(h.numerator=e.args[0],h.denominator=e.args[1])):(1===a&&(e=E(e,p)),n&&(h.numerator=e,h.denominator=null)),n?(h.coefficients=p,h.variables=i.variables,h.expression=e,h):e}});function N(e,t,n){var r=e.type,i=arguments.length>1;if("OperatorNode"===r&&e.isBinary()){var a,o=!1;if("^"===e.op&&("ParenthesisNode"!==e.args[0].type&&"OperatorNode"!==e.args[0].type||"ConstantNode"!==e.args[1].type||(o=(a=parseFloat(e.args[1].value))>=2&&At(a))),o){if(a>2){var s=e.args[0],u=new g("^","pow",[e.args[0].cloneDeep(),new m(a-1)]);e=new g("*","multiply",[s,u])}else e=new g("*","multiply",[e.args[0],e.args[0].cloneDeep()]);i&&("content"===n?t.content=e:t.args[n]=e)}}if("ParenthesisNode"===r)N(e.content,e,"content");else if("ConstantNode"!==r&&"SymbolNode"!==r)for(var l=0;l<e.args.length;l++)N(e.args[l],e,l);if(!i)return e}function E(e,t){void 0===t&&(t=[]),t[0]=0;var n=0,r="";!function e(i,a,o){var s=i.type;if("FunctionNode"===s)throw new Error("There is an unsolved function call");if("OperatorNode"===s){if(-1==="+-*^".indexOf(i.op))throw new Error("Operator "+i.op+" invalid");if(null!==a){if(("unaryMinus"===i.fn||"pow"===i.fn)&&"add"!==a.fn&&"subtract"!==a.fn&&"multiply"!==a.fn)throw new Error("Invalid "+i.op+" placing");if(("subtract"===i.fn||"add"===i.fn||"multiply"===i.fn)&&"add"!==a.fn&&"subtract"!==a.fn)throw new Error("Invalid "+i.op+" placing");if(("subtract"===i.fn||"add"===i.fn||"unaryMinus"===i.fn)&&0!==o.noFil)throw new Error("Invalid "+i.op+" placing")}"^"!==i.op&&"*"!==i.op||(o.fire=i.op);for(var u=0;u<i.args.length;u++)"unaryMinus"===i.fn&&(o.oper="-"),"+"!==i.op&&"subtract"!==i.fn||(o.fire="",o.cte=1,o.oper=0===u?"+":i.op),o.noFil=u,e(i.args[u],i,o)}else if("SymbolNode"===s){if(i.name!==r&&""!==r)throw new Error("There is more than one variable");if(r=i.name,null===a)return void(t[1]=1);if("^"===a.op&&0!==o.noFil)throw new Error("In power the variable should be the first parameter");if("*"===a.op&&1!==o.noFil)throw new Error("In multiply the variable should be the second parameter");""!==o.fire&&"*"!==o.fire||(n<1&&(t[1]=0),t[1]+=o.cte*("+"===o.oper?1:-1),n=Math.max(1,n))}else{if("ConstantNode"!==s)throw new Error("Type "+s+" is not allowed");var l=parseFloat(i.value);if(null===a)return void(t[0]=l);if("^"===a.op){if(1!==o.noFil)throw new Error("Constant cannot be powered");if(!At(l)||l<=0)throw new Error("Non-integer exponent is not allowed");for(var c=n+1;c<l;c++)t[c]=0;return l>n&&(t[l]=0),t[l]+=o.cte*("+"===o.oper?1:-1),void(n=Math.max(l,n))}o.cte=l,""===o.fire&&(t[0]+=o.cte*("+"===o.oper?1:-1))}}(e,null,{cte:1,oper:"+",fire:""});for(var i,a=!0,o=n=t.length-1;o>=0;o--)if(0!==t[o]){var s=new m(a?t[o]:Math.abs(t[o])),u=t[o]<0?"-":"+";if(o>0){var l=new v(r);if(o>1){var c=new m(o);l=new g("^","pow",[l,c])}s=-1===t[o]&&a?new g("-","unaryMinus",[l]):1===Math.abs(t[o])?l:new g("*","multiply",[s,l])}i=a?s:"+"===u?new g("+","add",[i,s]):new g("-","subtract",[i,s]),a=!1}return a?new m(0):i}}),Pm=Sn("reviver",["classes"],function(e){var t=e.classes;return function(e,n){var r=t[n&&n.mathjs];return r&&"function"==typeof r.fromJSON?r.fromJSON(n):n}}),qm=Sn("replacer",[],function(){return function(e,t){return"number"!=typeof t||isFinite(t)&&!isNaN(t)?t:{mathjs:"number",value:String(t)}}}),zm=Sn("true",[],function(){return!0}),Bm=Sn("false",[],function(){return!1}),jm=Sn("null",[],function(){return null}),Lm=eg("Infinity",["config","?BigNumber"],function(e){var t=e.config,n=e.BigNumber;return"BigNumber"===t.number?new n(1/0):1/0}),Fm=eg("NaN",["config","?BigNumber"],function(e){var t=e.config,n=e.BigNumber;return"BigNumber"===t.number?new n(NaN):NaN}),Um=eg("pi",["config","?BigNumber"],function(e){var t=e.config,n=e.BigNumber;return"BigNumber"===t.number?Nf(n):Oa}),$m=eg("tau",["config","?BigNumber"],function(e){var t=e.config,n=e.BigNumber;return"BigNumber"===t.number?Ef(n):ka}),Vm=eg("e",["config","?BigNumber"],function(e){var t=e.config,n=e.BigNumber;return"BigNumber"===t.number?bf(n):Ta}),Hm=eg("phi",["config","?BigNumber"],function(e){var t=e.config,n=e.BigNumber;return"BigNumber"===t.number?wf(n):1.618033988749895}),Wm=eg("LN2",["config","?BigNumber"],function(e){var t=e.config,n=e.BigNumber;return"BigNumber"===t.number?new n(2).ln():Math.LN2}),Gm=eg("LN10",["config","?BigNumber"],function(e){var t=e.config,n=e.BigNumber;return"BigNumber"===t.number?new n(10).ln():Math.LN10}),Ym=eg("LOG2E",["config","?BigNumber"],function(e){var t=e.config,n=e.BigNumber;return"BigNumber"===t.number?new n(1).div(new n(2).ln()):Math.LOG2E}),Zm=eg("LOG10E",["config","?BigNumber"],function(e){var t=e.config,n=e.BigNumber;return"BigNumber"===t.number?new n(1).div(new n(10).ln()):Math.LOG10E}),Jm=eg("SQRT1_2",["config","?BigNumber"],function(e){var t=e.config,n=e.BigNumber;return"BigNumber"===t.number?new n("0.5").sqrt():Math.SQRT1_2}),Xm=eg("SQRT2",["config","?BigNumber"],function(e){var t=e.config,n=e.BigNumber;return"BigNumber"===t.number?new n(2).sqrt():Math.SQRT2}),Km=eg("i",["Complex"],function(e){return e.Complex.I});Sn("PI",["pi"],function(e){return e.pi}),Sn("E",["e"],function(e){return e.e});var Qm=Sn("version",[],function(){return"7.6.0"});function eg(e,t,n){return Sn(e,t,n,{recreateOnConfigChange:!0})}var tg=Xg("speedOfLight","299792458","m s^-1"),ng=Xg("gravitationConstant","6.67430e-11","m^3 kg^-1 s^-2"),rg=Xg("planckConstant","6.62607015e-34","J s"),ig=Xg("reducedPlanckConstant","1.0545718176461565e-34","J s"),ag=Xg("magneticConstant","1.25663706212e-6","N A^-2"),og=Xg("electricConstant","8.8541878128e-12","F m^-1"),sg=Xg("vacuumImpedance","376.730313667","ohm"),ug=Xg("coulomb","8.987551792261171e9","N m^2 C^-2"),lg=Xg("elementaryCharge","1.602176634e-19","C"),cg=Xg("bohrMagneton","9.2740100783e-24","J T^-1"),fg=Xg("conductanceQuantum","7.748091729863649e-5","S"),pg=Xg("inverseConductanceQuantum","12906.403729652257","ohm"),hg=Xg("magneticFluxQuantum","2.0678338484619295e-15","Wb"),dg=Xg("nuclearMagneton","5.0507837461e-27","J T^-1"),mg=Xg("klitzing","25812.807459304513","ohm");Xg("josephson","4.835978484169836e14 Hz V","Hz V^-1");var gg=Xg("bohrRadius","5.29177210903e-11","m"),yg=Xg("classicalElectronRadius","2.8179403262e-15","m"),vg=Xg("electronMass","9.1093837015e-31","kg"),xg=Xg("fermiCoupling","1.1663787e-5","GeV^-2"),bg=Kg("fineStructure",.0072973525693),wg=Xg("hartreeEnergy","4.3597447222071e-18","J"),Ng=Xg("protonMass","1.67262192369e-27","kg"),Eg=Xg("deuteronMass","3.3435830926e-27","kg"),Sg=Xg("neutronMass","1.6749271613e-27","kg"),Mg=Xg("quantumOfCirculation","3.6369475516e-4","m^2 s^-1"),Ag=Xg("rydberg","10973731.568160","m^-1"),Cg=Xg("thomsonCrossSection","6.6524587321e-29","m^2"),Og=Kg("weakMixingAngle",.2229),kg=Kg("efimovFactor",22.7),Tg=Xg("atomicMass","1.66053906660e-27","kg"),_g=Xg("avogadro","6.02214076e23","mol^-1"),Rg=Xg("boltzmann","1.380649e-23","J K^-1"),Dg=Xg("faraday","96485.33212331001","C mol^-1"),Ig=Xg("firstRadiation","3.7417718521927573e-16","W m^2"),Pg=Xg("loschmidt","2.686780111798444e25","m^-3"),qg=Xg("gasConstant","8.31446261815324","J K^-1 mol^-1"),zg=Xg("molarPlanckConstant","3.990312712893431e-10","J s mol^-1"),Bg=Xg("molarVolume","0.022413969545014137","m^3 mol^-1"),jg=Kg("sackurTetrode",-1.16487052358),Lg=Xg("secondRadiation","0.014387768775039337","m K"),Fg=Xg("stefanBoltzmann","5.67037441918443e-8","W m^-2 K^-4"),Ug=Xg("wienDisplacement","2.897771955e-3","m K"),$g=Xg("molarMass","0.99999999965e-3","kg mol^-1"),Vg=Xg("molarMassC12","11.9999999958e-3","kg mol^-1"),Hg=Xg("gravity","9.80665","m s^-2"),Wg=Xg("planckLength","1.616255e-35","m"),Gg=Xg("planckMass","2.176435e-8","kg"),Yg=Xg("planckTime","5.391245e-44","s"),Zg=Xg("planckCharge","1.87554603778e-18","C"),Jg=Xg("planckTemperature","1.416785e+32","K");function Xg(e,t,n){return Sn(e,["config","Unit","BigNumber"],function(e){var r=e.config,i=e.Unit,a=e.BigNumber,o=new i("BigNumber"===r.number?new a(t):parseFloat(t),n);return o.fixPrefix=!0,o})}function Kg(e,t){return Sn(e,["config","BigNumber"],function(e){var n=e.config,r=e.BigNumber;return"BigNumber"===n.number?new r(t):t})}var Qg=Sn("apply",["typed","isInteger"],function(e){var t=e.typed,n=e.isInteger,r=Vo({typed:t,isInteger:n});return t("apply",{"...any":function(e){var t=e[1];_e(t)?e[1]=t-1:Re(t)&&(e[1]=t.minus(1));try{return r.apply(null,e)}catch(e){throw nh(e)}}})},{isTransformFunction:!0}),ey=Sn("column",["typed","Index","matrix","range"],function(e){var t=e.typed,n=e.Index,r=e.matrix,i=e.range,a=xu({typed:t,Index:n,matrix:r,range:i});return t("column",{"...any":function(e){var t=e.length-1,n=e[t];_e(n)&&(e[t]=n-1);try{return a.apply(null,e)}catch(e){throw nh(e)}}})},{isTransformFunction:!0});function ty(e,t,n){var r=e.filter(function(e){return ht(e)&&!(e.name in t)&&!(e.name in n)})[0];if(!r)throw new Error('No undefined variable found in inline expression "'+e+'"');var i=r.name,a=Object.create(n),o=e.compile();return function(e){return a[i]=e,o.evaluate(a)}}var ny=Sn("filter",["typed"],function(e){var t=e.typed;function n(e,t,n){var i,a;return e[0]&&(i=e[0].compile().evaluate(n)),e[1]&&(a=ht(e[1])||at(e[1])?e[1].compile().evaluate(n):ty(e[1],t,n)),r(i,a)}n.rawArgs=!0;var r=t("filter",{"Array, function":ry,"Matrix, function":function(e,t){return e.create(ry(e.toArray(),t))},"Array, RegExp":xn,"Matrix, RegExp":function(e,t){return e.create(xn(e.toArray(),t))}});return n},{isTransformFunction:!0});function ry(e,t){var n=Au(t);return vn(e,function(e,r,i){return 1===n?t(e):2===n?t(e,[r+1]):t(e,[r+1],i)})}var iy=Sn("forEach",["typed"],function(e){var t=e.typed;function n(e,t,n){var i,a;return e[0]&&(i=e[0].compile().evaluate(n)),e[1]&&(a=ht(e[1])||at(e[1])?e[1].compile().evaluate(n):ty(e[1],t,n)),r(i,a)}n.rawArgs=!0;var r=t("forEach",{"Array | Matrix, function":function(e,t){var n=Au(t);!function r(i,a){Array.isArray(i)?yn(i,function(e,t){r(e,a.concat(t+1))}):1===n?t(i):2===n?t(i,a):t(i,a,e)}(e.valueOf(),[])}});return n},{isTransformFunction:!0}),ay=Sn("index",["Index"],function(e){var t=e.Index;return function(){for(var e=[],n=0,r=arguments.length;n<r;n++){var i=arguments[n];if(Ue(i))i.start--,i.end-=i.step>0?0:2;else if(i&&!0===i.isSet)i=i.map(function(e){return e-1});else if(ze(i)||Be(i))i=i.map(function(e){return e-1});else if(_e(i))i--;else if(Re(i))i=i.toNumber()-1;else if("string"!=typeof i)throw new TypeError("Dimension must be an Array, Matrix, number, string, or Range");e[n]=i}var a=new t;return t.apply(a,e),a}},{isTransformFunction:!0}),oy=Sn("map",["typed"],function(e){var t=e.typed;function n(e,t,n){var i,a;return e[0]&&(i=e[0].compile().evaluate(n)),e[1]&&(a=ht(e[1])||at(e[1])?e[1].compile().evaluate(n):ty(e[1],t,n)),r(i,a)}n.rawArgs=!0;var r=t("map",{"Array, function":function(e,t){return sy(e,t,e)},"Matrix, function":function(e,t){return e.create(sy(e.valueOf(),t,e))}});return n},{isTransformFunction:!0});function sy(e,t,n){var r=Au(t);return function e(i,a){return Array.isArray(i)?gn(i,function(t,n){return e(t,a.concat(n+1))}):1===r?t(i):2===r?t(i,a):t(i,a,n)}(e,[])}var uy=Sn("max",["typed","config","numeric","larger"],function(e){var t=e.typed,n=e.config,r=e.numeric,i=e.larger,a=df({typed:t,config:n,numeric:r,larger:i});return t("max",{"...any":function(e){if(2===e.length&&je(e[0])){var t=e[1];_e(t)?e[1]=t-1:Re(t)&&(e[1]=t.minus(1))}try{return a.apply(null,e)}catch(e){throw nh(e)}}})},{isTransformFunction:!0}),ly=Sn("mean",["typed","add","divide"],function(e){var t=e.typed,n=e.add,r=e.divide,i=qd({typed:t,add:n,divide:r});return t("mean",{"...any":function(e){if(2===e.length&&je(e[0])){var t=e[1];_e(t)?e[1]=t-1:Re(t)&&(e[1]=t.minus(1))}try{return i.apply(null,e)}catch(e){throw nh(e)}}})},{isTransformFunction:!0}),cy=Sn("min",["typed","config","numeric","smaller"],function(e){var t=e.typed,n=e.config,r=e.numeric,i=e.smaller,a=mf({typed:t,config:n,numeric:r,smaller:i});return t("min",{"...any":function(e){if(2===e.length&&je(e[0])){var t=e[1];_e(t)?e[1]=t-1:Re(t)&&(e[1]=t.minus(1))}try{return a.apply(null,e)}catch(e){throw nh(e)}}})},{isTransformFunction:!0}),fy=Sn("range",["typed","config","?matrix","?bignumber","smaller","smallerEq","larger","largerEq"],function(e){var t=e.typed,n=e.config,r=e.matrix,i=e.bignumber,a=e.smaller,o=e.smallerEq,s=e.larger,u=e.largerEq,l=Zu({typed:t,config:n,matrix:r,bignumber:i,smaller:a,smallerEq:o,larger:s,largerEq:u});return t("range",{"...any":function(e){return"boolean"!=typeof e[e.length-1]&&e.push(!0),l.apply(null,e)}})},{isTransformFunction:!0}),py=Sn("row",["typed","Index","matrix","range"],function(e){var t=e.typed,n=e.Index,r=e.matrix,i=e.range,a=il({typed:t,Index:n,matrix:r,range:i});return t("row",{"...any":function(e){var t=e.length-1,n=e[t];_e(n)&&(e[t]=n-1);try{return a.apply(null,e)}catch(e){throw nh(e)}}})},{isTransformFunction:!0}),hy=Sn("subset",["typed","matrix"],function(e){var t=e.typed,n=e.matrix,r=vl({typed:t,matrix:n});return t("subset",{"...any":function(e){try{return r.apply(null,e)}catch(e){throw nh(e)}}})},{isTransformFunction:!0}),dy=Sn("concat",["typed","matrix","isInteger"],function(e){var t=e.typed,n=e.matrix,r=e.isInteger,i=gu({typed:t,matrix:n,isInteger:r});return t("concat",{"...any":function(e){var t=e.length-1,n=e[t];_e(n)?e[t]=n-1:Re(n)&&(e[t]=n.minus(1));try{return i.apply(null,e)}catch(e){throw nh(e)}}})},{isTransformFunction:!0}),my="diff",gy=Sn(my,["typed","matrix","subtract","number","bignumber"],function(e){var t=e.typed,n=e.matrix,r=e.subtract,i=e.number,a=e.bignumber,o=$u({typed:t,matrix:n,subtract:r,number:i,bignumber:a});return t(my,{"...any":function(e){if(2===e.length&&je(e[0])){var t=e[1];_e(t)?e[1]=t-1:Re(t)&&(e[1]=t.minus(1))}try{return o.apply(null,e)}catch(e){throw nh(e)}}})},{isTransformFunction:!0}),yy=Sn("std",["typed","sqrt","variance"],function(e){var t=e.typed,n=e.sqrt,r=e.variance,i=Vd({typed:t,sqrt:n,variance:r});return t("std",{"...any":function(e){if(e.length>=2&&je(e[0])){var t=e[1];_e(t)?e[1]=t-1:Re(t)&&(e[1]=t.minus(1))}try{return i.apply(null,e)}catch(e){throw nh(e)}}})},{isTransformFunction:!0}),vy=Sn("sum",["typed","config","add","numeric"],function(e){var t=e.typed,n=e.config,r=e.add,i=e.numeric,a=Id({typed:t,config:n,add:r,numeric:i});return t("sum",{"...any":function(e){if(2===e.length&&je(e[0])){var t=e[1];_e(t)?e[1]=t-1:Re(t)&&(e[1]=t.minus(1))}try{return a.apply(null,e)}catch(e){throw nh(e)}}})},{isTransformFunction:!0}),xy="variance",by=Sn(xy,["typed","add","subtract","multiply","divide","apply","isNaN"],function(e){var t=e.typed,n=e.add,r=e.subtract,i=e.multiply,a=e.divide,o=e.apply,s=e.isNaN,u=Ud({typed:t,add:n,subtract:r,multiply:i,divide:a,apply:o,isNaN:s});return t(xy,{"...any":function(e){if(e.length>=2&&je(e[0])){var t=e[1];_e(t)?e[1]=t-1:Re(t)&&(e[1]=t.minus(1))}try{return u.apply(null,e)}catch(e){throw nh(e)}}})},{isTransformFunction:!0}),wy=Dn({}),Ny=Ei({}),Ey=Pi({}),Sy=Bm({}),My=jm({}),Ay=zm({}),Cy=hi({config:Nt}),Oy=qi({}),ky=qm({}),Ty=Km({Complex:Ny}),_y=Gm({BigNumber:Cy,config:Nt}),Ry=Zm({BigNumber:Cy,config:Nt}),Dy=Fm({BigNumber:Cy,config:Nt}),Iy=Um({BigNumber:Cy,config:Nt}),Py=Jm({BigNumber:Cy,config:Nt}),qy=$m({BigNumber:Cy,config:Nt}),zy=kg({BigNumber:Cy,config:Nt}),By=bg({BigNumber:Cy,config:Nt}),jy=jg({BigNumber:Cy,config:Nt}),Ly=Og({BigNumber:Cy,config:Nt}),Fy=Ii({}),Uy=Vm({BigNumber:Cy,config:Nt}),$y=Lm({BigNumber:Cy,config:Nt}),Vy=Ym({BigNumber:Cy,config:Nt}),Hy=Qm({}),Wy=zi({Matrix:Oy}),Gy=Hm({BigNumber:Cy,config:Nt}),Yy=Cn({BigNumber:Cy,Complex:Ny,DenseMatrix:Wy,Fraction:Fy}),Zy=Gi({typed:Yy}),Jy=co({typed:Yy}),Xy=mo({typed:Yy}),Ky=xo({typed:Yy}),Qy=So({config:Nt,typed:Yy}),ev=Ao({typed:Yy}),tv=To({typed:Yy}),nv=Ro({Complex:Ny,typed:Yy}),rv=zo({typed:Yy}),iv=Fo({BigNumber:Cy,config:Nt,typed:Yy}),av=Vo({isInteger:Zy,typed:Yy}),ov=ns({typed:Yy}),sv=as({Complex:Ny,typed:Yy}),uv=xs({Complex:Ny,config:Nt,typed:Yy}),lv=As({typed:Yy}),cv=Rs({BigNumber:Cy,Fraction:Fy,complex:nv,typed:Yy}),fv=Ps({typed:Yy}),pv=tu({typed:Yy}),hv=su({typed:Yy}),dv=cu({typed:Yy}),mv=pu({typed:Yy}),gv=Cu({typed:Yy}),yv=Ru({typed:Yy}),vv=Lu({typed:Yy}),xv=Ol({typed:Yy}),bv=Ll({typed:Yy}),wv=Hl({typed:Yy}),Nv=Yl({typed:Yy}),Ev=Kl({typed:Yy}),Sv=Bf({Complex:Ny,config:Nt,typed:Yy}),Mv=Uf({BigNumber:Cy,typed:Yy}),Av=Wf({BigNumber:Cy,Complex:Ny,config:Nt,typed:Yy}),Cv=Jf({BigNumber:Cy,Complex:Ny,config:Nt,typed:Yy}),Ov=ep({Complex:Ny,config:Nt,typed:Yy}),kv=np({typed:Yy}),Tv=op({Complex:Ny,config:Nt,typed:Yy}),_v=lp({typed:Yy}),Rv=pp({BigNumber:Cy,typed:Yy}),Dv=mp({BigNumber:Cy,typed:Yy}),Iv=vp({BigNumber:Cy,typed:Yy}),Pv=wp({typed:Yy}),qv=Ep({typed:Yy}),zv=Wd({typed:Yy}),Bv=pm({config:Nt,typed:Yy}),jv=ym({config:Nt,typed:Yy}),Lv=Wm({BigNumber:Cy,config:Nt}),Fv=ji({typed:Yy}),Uv=po({isNumeric:Jy,typed:Yy}),$v=wo({typed:Yy}),Vv=Oo({typed:Yy}),Hv=Do({Fraction:Fy,typed:Yy}),Wv=jo({typed:Yy}),Gv=Go({typed:Yy}),Yv=rs({typed:Yy}),Zv=ws({Complex:Ny,config:Nt,typed:Yy}),Jv=Ds({Complex:Ny,config:Nt,typed:Yy}),Xv=lu({typed:Yy}),Kv=Pu({typed:Yy}),Qv=Pl({isNaN:Ky,isNumeric:Jy,typed:Yy}),ex=Vl({typed:Yy}),tx=Lf({Complex:Ny,config:Nt,typed:Yy}),nx=Yf({BigNumber:Cy,typed:Yy}),rx=tp({typed:Yy}),ix=sp({typed:Yy}),ax=hp({BigNumber:Cy,typed:Yy}),ox=xp({typed:Yy}),sx=Zd({typed:Yy}),ux=mm({config:Nt,typed:Yy}),lx=Xm({BigNumber:Cy,config:Nt}),cx=uo({typed:Yy}),fx=Mo({Matrix:Oy,equalScalar:Qy,typed:Yy}),px=Po({DenseMatrix:Wy,Matrix:Oy,SparseMatrix:fx,typed:Yy}),hx=Zo({BigNumber:Cy,Complex:Ny,Fraction:Fy,config:Nt,isNegative:cx,matrix:px,typed:Yy,unaryMinus:Wv}),dx=ds({BigNumber:Cy,DenseMatrix:Wy,equalScalar:Qy,matrix:px,typed:Yy}),mx=Ms({DenseMatrix:Wy,equalScalar:Qy,matrix:px,typed:Yy}),gx=Ts({BigNumber:Cy,equalScalar:Qy,matrix:px,typed:Yy}),yx=Ls({BigNumber:Cy,config:Nt,matrix:px,typed:Yy}),vx=Qs({equalScalar:Qy,matrix:px,typed:Yy}),xx=ou({DenseMatrix:Wy,matrix:px,typed:Yy}),bx=hu({DenseMatrix:Wy,equalScalar:Qy,matrix:px,typed:Yy}),wx=gu({isInteger:Zy,matrix:px,typed:Yy}),Nx=Eu({DenseMatrix:Wy,SparseMatrix:fx,matrix:px,typed:Yy}),Ex=zu({BigNumber:Cy,DenseMatrix:Wy,SparseMatrix:fx,config:Nt,matrix:px,typed:Yy}),Sx=Vu({BigNumber:Cy,config:Nt,matrix:px,typed:Yy}),Mx=Xu({isInteger:Zy,matrix:px,typed:Yy}),Ax=ol({matrix:px,config:Nt,typed:Yy}),Cx=vl({matrix:px,typed:Yy}),Ox=Cl({BigNumber:Cy,config:Nt,matrix:px,typed:Yy}),kx=Wl({typed:Yy}),Tx=uc({BigNumber:Cy,DenseMatrix:Wy,equalScalar:Qy,matrix:px,typed:Yy,zeros:Ox}),_x=Ic({DenseMatrix:Wy,equalScalar:Qy,matrix:px,typed:Yy,zeros:Ox}),Rx=Bc({DenseMatrix:Wy,equalScalar:Qy,matrix:px,typed:Yy,zeros:Ox}),Dx=Fc({BigNumber:Cy,DenseMatrix:Wy,Fraction:Fy,config:Nt,equalScalar:Qy,matrix:px,typed:Yy}),Ix=Wc({matrix:px,typed:Yy}),Px=Kc({DenseMatrix:Wy,config:Nt,matrix:px,typed:Yy}),qx=nf({DenseMatrix:Wy,config:Nt,matrix:px,typed:Yy}),zx=lf({DenseMatrix:Wy,config:Nt,equalScalar:Qy,matrix:px,typed:Yy}),Bx=gf({DenseMatrix:Wy,smaller:Px}),jx=vf({larger:qx,smaller:Px}),Lx=If({SparseMatrix:fx,typed:Yy}),Fx=Vf({BigNumber:Cy,Complex:Ny,config:Nt,typed:Yy}),Ux=ip({BigNumber:Cy,DenseMatrix:Wy,equalScalar:Qy,matrix:px,typed:Yy}),$x=gp({BigNumber:Cy,typed:Yy}),Vx=Vp({DenseMatrix:Wy,SparseMatrix:fx,addScalar:Gv,equalScalar:Qy,matrix:px,typed:Yy}),Hx=Zp({addScalar:Gv,conj:Xv,multiplyScalar:lv,size:Ax,typed:Yy}),Wx=Mm({addScalar:Gv,combinations:zv,isInteger:Zy,isNegative:cx,isPositive:Xy,larger:qx,typed:Yy}),Gx=yo({typed:Yy}),Yx=Uo({typed:Yy}),Zx=ls({config:Nt,equalScalar:Qy,matrix:px,round:Tx,typed:Yy}),Jx=Os({addScalar:Gv,dot:Hx,equalScalar:Qy,matrix:px,multiplyScalar:lv,typed:Yy}),Xx=$s({equalScalar:Qy,matrix:px,multiplyScalar:lv,typed:Yy}),Kx=fu({typed:Yy}),Qx=Tu({matrix:px,typed:Yy}),eb=Qu({config:Nt,matrix:px}),tb=ul({matrix:px,typed:Yy}),nb=Jl({matrix:px,typed:Yy}),rb=nc({Complex:Ny,config:Nt,fraction:Hv,identity:Ex,matrix:px,multiply:Jx,number:ev,typed:Yy}),ib=gc({DenseMatrix:Wy,equalScalar:Qy,matrix:px,pow:rb,typed:Yy}),ab=qc({DenseMatrix:Wy,equalScalar:Qy,matrix:px,typed:Yy,zeros:Ox}),ob=Vc({compare:Dx,typed:Yy}),sb=Jc({compareText:Ix,isZero:Gx,typed:Yy}),ub=af({DenseMatrix:Wy,config:Nt,matrix:px,typed:Yy}),lb=ff({compare:Dx,isNaN:Ky,isNumeric:Jy,typed:Yy}),cb=yf({ImmutableDenseMatrix:Bx}),fb=Kf({BigNumber:Cy,Complex:Ny,config:Nt,typed:Yy}),pb=Np({typed:Yy}),hb=Cp({DenseMatrix:Wy,Index:cb,compareNatural:ob,size:Ax,subset:Cx,typed:Yy}),db=_p({DenseMatrix:Wy,Index:cb,compareNatural:ob,size:Ax,subset:Cx,typed:Yy}),mb=Pp({Index:cb,compareNatural:ob,size:Ax,subset:Cx,typed:Yy}),gb=jp({compareNatural:ob,typed:Yy}),yb=Jp({add:Vx,matrix:px,typed:Yy}),vb=$d({add:Vx,compare:Dx,multiply:Jx,partitionSelect:lb,typed:Yy}),xb=Kd({BigNumber:Cy,Complex:Ny,config:Nt,multiplyScalar:lv,pow:rb,typed:Yy}),bb=_o({BigNumber:Cy,typed:Yy}),wb=ys({equalScalar:Qy,matrix:px,typed:Yy}),Nb=ru({DenseMatrix:Wy,equalScalar:Qy,matrix:px,typed:Yy}),Eb=ju({matrix:px,multiplyScalar:lv,typed:Yy}),Sb=El({matrix:px,typed:Yy}),Mb=Ql({bignumber:bb,fraction:Hv,number:ev}),Ab=jc({equalScalar:Qy,matrix:px,not:mv,typed:Yy,zeros:Ox}),Cb=ef({DenseMatrix:Wy,config:Nt,matrix:px,typed:Yy}),Ob=hf({compare:Dx,compareNatural:ob,matrix:px,typed:Yy}),kb=mf({config:Nt,numeric:Mb,smaller:Px,typed:Yy}),Tb=cp({BigNumber:Cy,typed:Yy}),_b=kp({DenseMatrix:Wy,Index:cb,compareNatural:ob,size:Ax,subset:Cx,typed:Yy}),Rb=zp({Index:cb,compareNatural:ob,size:Ax,subset:Cx,typed:Yy}),Db=Kp({Index:cb,typed:Yy}),Ib=Id({add:Vx,config:Nt,numeric:Mb,typed:Yy}),Pb=em({gamma:xb,typed:Yy}),qb=om({factorial:Pb,typed:Yy}),zb=es({config:Nt,equalScalar:Qy,matrix:px,round:Tx,typed:Yy}),Bb=zs({DenseMatrix:Wy,addScalar:Gv,equalScalar:Qy,matrix:px,typed:Yy,unaryMinus:Wv}),jb=wu({matrix:px,multiply:Jx,subtract:Bb,typed:Yy}),Lb=Zu({bignumber:bb,matrix:px,config:Nt,larger:qx,largerEq:ub,smaller:Px,smallerEq:Cb,typed:Yy}),Fb=il({Index:cb,matrix:px,range:Lb,typed:Yy}),Ub=Bl({config:Nt,multiplyScalar:lv,numeric:Mb,typed:Yy}),$b=Yc({DenseMatrix:Wy,equalScalar:Qy,matrix:px,typed:Yy}),Vb=df({config:Nt,larger:qx,numeric:Mb,typed:Yy}),Hb=Mp({DenseMatrix:Wy,Index:cb,compareNatural:ob,size:Ax,subset:Cx,typed:Yy}),Wb=Fp({Index:cb,concat:wx,setDifference:hb,size:Ax,subset:Cx,typed:Yy}),Gb=os({Complex:Ny,ceil:zb,floor:Zx,matrix:px,typed:Yy}),Yb=xu({Index:cb,matrix:px,range:Lb,typed:Yy}),Zb=Ml({conj:Xv,transpose:Sb,typed:Yy}),Jb=sf({equal:$b,typed:Yy}),Xb=Dp({Index:cb,compareNatural:ob,size:Ax,subset:Cx,typed:Yy}),Kb=du({DenseMatrix:Wy,matrix:px,typed:Yy}),Qb=tc({numeric:Mb,typed:Yy}),ew=dc({Complex:Ny,config:Nt,divideScalar:Qb,typed:Yy}),tw=wc({DenseMatrix:Wy,divideScalar:Qb,equalScalar:Qy,matrix:px,multiplyScalar:lv,subtract:Bb,typed:Yy}),nw=Cc({DenseMatrix:Wy,divideScalar:Qb,equalScalar:Qy,matrix:px,multiplyScalar:lv,subtract:Bb,typed:Yy}),rw=xf({FibonacciHeap:jx,addScalar:Gv,equalScalar:Qy}),iw=$p({Index:cb,concat:wx,setIntersect:db,setSymDifference:Wb,size:Ax,subset:Cx,typed:Yy}),aw=Zh({DenseMatrix:Wy,Spa:rw,SparseMatrix:fx,abs:Yx,addScalar:Gv,divideScalar:Qb,equalScalar:Qy,larger:qx,matrix:px,multiplyScalar:lv,subtract:Bb,typed:Yy,unaryMinus:Wv}),ow=cd({SparseMatrix:fx,abs:Yx,add:Vx,divideScalar:Qb,larger:qx,largerEq:ub,multiply:Jx,subtract:Bb,transpose:Sb,typed:Yy}),sw=Ed({lup:aw,matrix:px,multiply:Jx,subtract:Bb,typed:Yy,unaryMinus:Wv}),uw=Rd({abs:Yx,addScalar:Gv,divideScalar:Qb,multiplyScalar:lv,sqrt:Jv,subtract:Bb,typed:Yy,unaryMinus:Wv}),lw=xm({addScalar:Gv,combinations:zv,divideScalar:Qb,factorial:Pb,isInteger:Zy,isNegative:cx,larger:qx,multiplyScalar:lv,pow:rb,subtract:Bb,typed:Yy}),cw=Em({addScalar:Gv,combinations:zv,divideScalar:Qb,isInteger:Zy,isNegative:cx,multiplyScalar:lv,typed:Yy}),fw=$u({matrix:px,number:ev,subtract:Bb,typed:Yy}),pw=cc({Complex:Ny,config:Nt,divideScalar:Qb,typed:Yy}),hw=vc({DenseMatrix:Wy,divideScalar:Qb,equalScalar:Qy,matrix:px,typed:Yy}),dw=_c({DenseMatrix:Wy,divideScalar:Qb,equalScalar:Qy,matrix:px,multiplyScalar:lv,subtract:Bb,typed:Yy}),mw=Wp({abs:Yx,addScalar:Gv,divideScalar:Qb,isPositive:Xy,multiplyScalar:lv,smaller:Px,sqrt:Jv,typed:Yy}),gw=Xh({addScalar:Gv,complex:nv,conj:Xv,divideScalar:Qb,equal:$b,identity:Ex,isZero:Gx,matrix:px,multiplyScalar:lv,sign:cv,sqrt:Jv,subtract:Bb,typed:Yy,unaryMinus:Wv,zeros:Ox}),yw=Sd({abs:Yx,addScalar:Gv,det:sw,divideScalar:Qb,identity:Ex,matrix:px,multiply:Jx,typed:Yy,unaryMinus:Wv}),vw=Cd({abs:Yx,add:Vx,identity:Ex,inv:yw,multiply:Jx,typed:Yy}),xw=Td({divideScalar:Qb,equalScalar:Qy,inv:yw,matrix:px,multiply:Jx,typed:Yy}),bw=qd({add:Vx,divide:xw,typed:Yy}),ww=Ud({add:Vx,apply:av,divide:xw,isNaN:Ky,multiply:Jx,subtract:Bb,typed:Yy}),Nw=nm({divide:xw,dotDivide:hw,isNumeric:Jy,log:pw,matrix:px,multiply:Jx,sum:Ib,typed:Yy}),Ew=wm({addScalar:Gv,isInteger:Zy,isNegative:cx,stirlingS2:lw,typed:Yy}),Sw=pc({Complex:Ny,config:Nt,divideScalar:Qb,log:pw,typed:Yy}),Mw=Tf({BigNumber:Cy,Complex:Ny,Fraction:Fy,abs:Yx,addScalar:Gv,config:Nt,divideScalar:Qb,equal:$b,fix:Gb,format:bv,isNumeric:Jy,multiplyScalar:lv,number:ev,pow:rb,round:Tx,subtract:Bb}),Aw=qf({Unit:Mw,typed:Yy}),Cw=Md({abs:Yx,add:Vx,addScalar:Gv,atan:kv,bignumber:bb,config:Nt,cos:ix,equal:$b,inv:yw,matrix:px,multiply:Jx,multiplyScalar:lv,sin:ox,subtract:Bb,typed:Yy}),Ow=Dd({abs:Yx,add:Vx,addScalar:Gv,config:Nt,divideScalar:Qb,equalScalar:Qy,matrix:px,multiply:Jx,multiplyScalar:lv,smaller:Px,subtract:Bb,typed:Yy}),kw=Vd({sqrt:Jv,typed:Yy,variance:ww}),Tw=Tg({BigNumber:Cy,Unit:Mw,config:Nt}),_w=cg({BigNumber:Cy,Unit:Mw,config:Nt}),Rw=Rg({BigNumber:Cy,Unit:Mw,config:Nt}),Dw=fg({BigNumber:Cy,Unit:Mw,config:Nt}),Iw=Eg({BigNumber:Cy,Unit:Mw,config:Nt}),Pw=vg({BigNumber:Cy,Unit:Mw,config:Nt}),qw=Dg({BigNumber:Cy,Unit:Mw,config:Nt}),zw=Ig({BigNumber:Cy,Unit:Mw,config:Nt}),Bw=ng({BigNumber:Cy,Unit:Mw,config:Nt}),jw=wg({BigNumber:Cy,Unit:Mw,config:Nt}),Lw=mg({BigNumber:Cy,Unit:Mw,config:Nt}),Fw=ag({BigNumber:Cy,Unit:Mw,config:Nt}),Uw=$g({BigNumber:Cy,Unit:Mw,config:Nt}),$w=zg({BigNumber:Cy,Unit:Mw,config:Nt}),Vw=Sg({BigNumber:Cy,Unit:Mw,config:Nt}),Hw=Zg({BigNumber:Cy,Unit:Mw,config:Nt}),Ww=Wg({BigNumber:Cy,Unit:Mw,config:Nt}),Gw=Jg({BigNumber:Cy,Unit:Mw,config:Nt}),Yw=Ng({BigNumber:Cy,Unit:Mw,config:Nt}),Zw=ig({BigNumber:Cy,Unit:Mw,config:Nt}),Jw=Lg({BigNumber:Cy,Unit:Mw,config:Nt}),Xw=Fg({BigNumber:Cy,Unit:Mw,config:Nt}),Kw=sg({BigNumber:Cy,Unit:Mw,config:Nt}),Qw=Ec({DenseMatrix:Wy,divideScalar:Qb,equalScalar:Qy,matrix:px,multiplyScalar:lv,subtract:Bb,typed:Yy}),eN=Yp({abs:Yx,add:Vx,conj:Xv,ctranspose:Zb,eigs:Cw,equalScalar:Qy,larger:qx,matrix:px,multiply:Jx,pow:rb,smaller:Px,sqrt:Jv,typed:Yy}),tN=hd({DenseMatrix:Wy,lsolve:tw,lup:aw,matrix:px,slu:ow,typed:Yy,usolve:Qw}),nN=kd({abs:Yx,add:Vx,identity:Ex,inv:yw,max:Vb,multiply:Jx,size:Ax,sqrt:Jv,subtract:Bb,typed:Yy}),rN=im({add:Vx,divide:xw,factorial:Pb,isInteger:Zy,isPositive:Xy,multiply:Jx,typed:Yy}),iN=_g({BigNumber:Cy,Unit:Mw,config:Nt}),aN=yg({BigNumber:Cy,Unit:Mw,config:Nt}),oN=og({BigNumber:Cy,Unit:Mw,config:Nt}),sN=xg({BigNumber:Cy,Unit:Mw,config:Nt}),uN=Hg({BigNumber:Cy,Unit:Mw,config:Nt}),lN=Pg({BigNumber:Cy,Unit:Mw,config:Nt}),cN=Vg({BigNumber:Cy,Unit:Mw,config:Nt}),fN=dg({BigNumber:Cy,Unit:Mw,config:Nt}),pN=Gg({BigNumber:Cy,Unit:Mw,config:Nt}),hN=Mg({BigNumber:Cy,Unit:Mw,config:Nt}),dN=tg({BigNumber:Cy,Unit:Mw,config:Nt}),mN=Ug({BigNumber:Cy,Unit:Mw,config:Nt}),gN=rl({BigNumber:Cy,DenseMatrix:Wy,SparseMatrix:fx,addScalar:Gv,config:Nt,cos:ix,matrix:px,multiplyScalar:lv,norm:eN,sin:ox,typed:Yy,unaryMinus:Wv}),yN=Bd({add:Vx,compare:Dx,divide:xw,partitionSelect:lb,typed:Yy}),vN=gg({BigNumber:Cy,Unit:Mw,config:Nt}),xN=lg({BigNumber:Cy,Unit:Mw,config:Nt}),bN=pg({BigNumber:Cy,Unit:Mw,config:Nt}),wN=Bg({BigNumber:Cy,Unit:Mw,config:Nt}),NN=Yg({BigNumber:Cy,Unit:Mw,config:Nt}),EN=Cg({BigNumber:Cy,Unit:Mw,config:Nt}),SN=tl({multiply:Jx,rotationMatrix:gN,typed:Yy}),MN=jd({abs:Yx,map:vv,median:yN,subtract:Bb,typed:Yy}),AN=ug({BigNumber:Cy,Unit:Mw,config:Nt}),CN=hg({BigNumber:Cy,Unit:Mw,config:Nt}),ON=Ag({BigNumber:Cy,Unit:Mw,config:Nt}),kN=Rf({Unit:Mw,typed:Yy}),TN=qg({BigNumber:Cy,Unit:Mw,config:Nt}),_N=rg({BigNumber:Cy,Unit:Mw,config:Nt});function RN(){return RN=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},RN.apply(this,arguments)}var DN={},IN={},PN={},qN=th({mathWithTransform:IN}),zN=oh({Node:qN}),BN=hh({Node:qN,ResultSet:wy}),jN=Mh({Node:qN}),LN=Th({Node:qN}),FN=Rh({Node:qN}),UN=Ih({Node:qN}),$N=md({math:DN}),VN=Pm({classes:PN}),HN=dh({Node:qN}),WN=_h({Node:qN}),GN=Dh({Node:qN}),YN=Ah({Node:qN,typed:Yy}),ZN=Nd({Chain:$N,typed:Yy}),JN=ah({Node:qN,subset:Cx}),XN=Oh({Node:qN,Range:Ey,size:Ax}),KN=ph({matrix:px,Node:qN,subset:Cx}),QN=Ph({Unit:Mw,Node:qN,math:DN}),eE=Bh({Node:qN,SymbolNode:QN,math:DN}),tE=Fh({AccessorNode:JN,ArrayNode:zN,AssignmentNode:KN,BlockNode:BN,ConditionalNode:HN,ConstantNode:jN,FunctionAssignmentNode:YN,FunctionNode:eE,IndexNode:XN,ObjectNode:LN,OperatorNode:WN,ParenthesisNode:FN,RangeNode:GN,RelationalNode:UN,SymbolNode:QN,config:Nt,numeric:Mb,typed:Yy}),nE=Hh({parse:tE,typed:Yy}),rE=dd({parse:tE}),iE=Wh({parse:tE}),aE=bd({Help:rE,mathWithTransform:IN,typed:Yy}),oE=$h({parse:tE,typed:Yy}),sE=_m({bignumber:bb,fraction:Hv,ConstantNode:jN,FunctionNode:eE,OperatorNode:WN,ParenthesisNode:FN,SymbolNode:QN,add:Vx,config:Nt,divide:xw,equal:$b,isZero:Gx,mathWithTransform:IN,multiply:Jx,parse:tE,pow:rb,subtract:Bb,typed:Yy}),uE=Im({bignumber:bb,fraction:Hv,ConstantNode:jN,FunctionNode:eE,OperatorNode:WN,ParenthesisNode:FN,SymbolNode:QN,add:Vx,config:Nt,divide:xw,equal:$b,isZero:Gx,mathWithTransform:IN,multiply:Jx,parse:tE,pow:rb,simplify:sE,subtract:Bb,typed:Yy}),lE=Yh({Parser:iE,typed:Yy}),cE=Rm({ConstantNode:jN,FunctionNode:eE,OperatorNode:WN,ParenthesisNode:FN,SymbolNode:QN,config:Nt,equal:$b,isZero:Gx,numeric:Mb,parse:tE,simplify:sE,typed:Yy});RN(DN,{reviver:VN,false:Sy,null:My,true:Ay,replacer:ky,i:Ty,LN10:_y,LOG10E:Ry,NaN:Dy,pi:Iy,SQRT1_2:Py,tau:qy,efimovFactor:zy,fineStructure:By,sackurTetrode:jy,weakMixingAngle:Ly,e:Uy,Infinity:$y,LOG2E:Vy,PI:Iy,version:Hy,E:Uy,phi:Gy,typed:Yy,isInteger:Zy,isNumeric:Jy,isPositive:Xy,isNaN:Ky,equalScalar:Qy,number:ev,boolean:tv,complex:nv,splitUnit:rv,unaryPlus:iv,apply:av,cube:ov,expm1:sv,log10:uv,multiplyScalar:lv,sign:cv,square:fv,bitNot:pv,arg:hv,im:dv,not:mv,filter:gv,forEach:yv,map:vv,erf:xv,format:bv,oct:wv,print:Nv,isPrime:Ev,acos:Sv,acot:Mv,acsc:Av,asec:Cv,asin:Ov,atan:kv,atanh:Tv,cosh:_v,coth:Rv,csch:Dv,sech:Iv,sinh:Pv,tanh:qv,chain:ZN,combinations:zv,pickRandom:Bv,randomInt:jv,LN2:Lv,clone:Fv,hasNumericValue:Uv,typeOf:$v,string:Vv,fraction:Hv,unaryMinus:Wv,addScalar:Gv,exp:Yv,log2:Zv,sqrt:Jv,conj:Xv,getMatrixDataType:Kv,mode:Qv,bin:ex,acosh:tx,acsch:nx,asinh:rx,cos:ix,csc:ax,sin:ox,combinationsWithRep:sx,random:ux,SQRT2:lx,isNegative:cx,matrix:px,cbrt:hx,gcd:dx,mod:mx,nthRoot:gx,xgcd:yx,bitAnd:vx,bitXor:xx,or:bx,concat:wx,diag:Nx,identity:Ex,ones:Sx,reshape:Mx,size:Ax,subset:Cx,zeros:Ox,hex:kx,round:Tx,leftShift:_x,rightLogShift:Rx,compare:Dx,compareText:Ix,smaller:Px,larger:qx,unequal:zx,sparse:Lx,acoth:Fx,atan2:Ux,sec:$x,add:Vx,dot:Hx,composition:Wx,isZero:Gx,abs:Yx,floor:Zx,multiply:Jx,dotMultiply:Xx,re:Kx,flatten:Qx,resize:eb,squeeze:tb,to:nb,pow:rb,dotPow:ib,rightArithShift:ab,compareNatural:ob,equalText:sb,largerEq:ub,partitionSelect:lb,asech:fb,tan:pb,setDifference:hb,setIntersect:db,setMultiplicity:mb,setSize:gb,trace:yb,quantileSeq:vb,gamma:xb,bignumber:bb,lcm:wb,bitOr:Nb,kron:Eb,transpose:Sb,numeric:Mb,and:Ab,smallerEq:Cb,sort:Ob,min:kb,cot:Tb,setDistinct:_b,setPowerset:Rb,index:Db,sum:Ib,factorial:Pb,permutations:qb,ceil:zb,subtract:Bb,cross:jb,range:Lb,row:Fb,prod:Ub,equal:$b,max:Vb,setCartesian:Hb,setSymDifference:Wb,fix:Gb,column:Yb,ctranspose:Zb,deepEqual:Jb,setIsSubset:Xb,xor:Kb,divideScalar:Qb,nthRoots:ew,lsolve:tw,lsolveAll:nw,setUnion:iw,lup:aw,slu:ow,det:sw,distance:uw,stirlingS2:lw,catalan:cw,diff:fw,log:pw,dotDivide:hw,usolveAll:dw,hypot:mw,qr:gw,inv:yw,expm:vw,divide:xw,mean:bw,variance:ww,kldivergence:Nw,bellNumbers:Ew,log1p:Sw,createUnit:Aw,eigs:Cw,intersect:Ow,std:kw,atomicMass:Tw,bohrMagneton:_w,boltzmann:Rw,conductanceQuantum:Dw,deuteronMass:Iw,electronMass:Pw,faraday:qw,firstRadiation:zw,gravitationConstant:Bw,hartreeEnergy:jw,klitzing:Lw,magneticConstant:Fw,molarMass:Uw,molarPlanckConstant:$w,neutronMass:Vw,planckCharge:Hw,planckLength:Ww,planckTemperature:Gw,protonMass:Yw,reducedPlanckConstant:Zw,secondRadiation:Jw,stefanBoltzmann:Xw,vacuumImpedance:Kw,usolve:Qw,norm:eN,lusolve:tN,sqrtm:nN,multinomial:rN,avogadro:iN,classicalElectronRadius:aN,electricConstant:oN,fermiCoupling:sN,gravity:uN,loschmidt:lN,molarMassC12:cN,nuclearMagneton:fN,planckMass:pN,quantumOfCirculation:hN,speedOfLight:dN,wienDisplacement:mN,rotationMatrix:gN,median:yN,bohrRadius:vN,elementaryCharge:xN,inverseConductanceQuantum:bN,molarVolume:wN,planckTime:NN,thomsonCrossSection:EN,rotate:SN,parse:tE,evaluate:nE,mad:MN,coulomb:AN,magneticFluxQuantum:CN,rydberg:ON,unit:kN,help:aE,gasConstant:TN,compile:oE,simplify:sE,rationalize:uE,parser:lE,planckConstant:_N,derivative:cE,config:Nt}),RN(IN,DN,{apply:Qg({isInteger:Zy,typed:Yy}),filter:ny({typed:Yy}),map:oy({typed:Yy}),forEach:iy({typed:Yy}),subset:hy({matrix:px,typed:Yy}),index:ay({Index:cb}),concat:dy({isInteger:Zy,matrix:px,typed:Yy}),max:uy({config:Nt,larger:qx,numeric:Mb,typed:Yy}),min:cy({config:Nt,numeric:Mb,smaller:Px,typed:Yy}),sum:vy({add:Vx,config:Nt,numeric:Mb,typed:Yy}),column:ey({Index:cb,matrix:px,range:Lb,typed:Yy}),range:fy({bignumber:bb,matrix:px,config:Nt,larger:qx,largerEq:ub,smaller:Px,smallerEq:Cb,typed:Yy}),diff:gy({bignumber:bb,matrix:px,number:ev,subtract:Bb,typed:Yy}),row:py({Index:cb,matrix:px,range:Lb,typed:Yy}),mean:ly({add:Vx,divide:xw,typed:Yy}),variance:by({add:Vx,apply:av,divide:xw,isNaN:Ky,multiply:Jx,subtract:Bb,typed:Yy}),std:yy({sqrt:Jv,typed:Yy,variance:ww})}),RN(PN,{ResultSet:wy,Complex:Ny,Range:Ey,Node:qN,ArrayNode:zN,BlockNode:BN,ConstantNode:jN,ObjectNode:LN,ParenthesisNode:FN,RelationalNode:UN,Chain:$N,BigNumber:Cy,Matrix:Oy,ConditionalNode:HN,OperatorNode:WN,Fraction:Fy,RangeNode:GN,DenseMatrix:Wy,FunctionAssignmentNode:YN,SparseMatrix:fx,ImmutableDenseMatrix:Bx,FibonacciHeap:jx,AccessorNode:JN,IndexNode:XN,Index:cb,AssignmentNode:KN,Spa:rw,Unit:Mw,SymbolNode:QN,FunctionNode:eE,Help:rE,Parser:iE}),$N.createProxy(DN);const{uniqWith:fE}=i,{isObject:pE}=i,{isNumber:hE}=i,dE=[.001,.01,.02,.04,.05,.1,.125,.2,.25,.5],mE=["1/1000","1/100","1/64","1/50","1/32","1/25","1/20","1/16","1/15","1/12","1/10","1/9","1/8","1/7","1/6","1/5","1/4","1/3","1/2"],gE={1:[1,2,3,4,5,6,7,8,9,10],2:[1,2,4,6,8,10],3:[1,3,6,9],4:[1,2,4,8],5:[1,5,10],6:[1,2,3,6],7:[1,7],8:[1,2,4,8],9:[1,3,9],10:[1,2,5,10],12:[1,2,3,4,6],15:[1,3,5],16:[1,2,4,8],20:[1,2,4,5,10],25:[1,5],32:[1,2,4,8],50:[1,2,5,10],64:[1,2,4,8],100:[1,2,4,5,10],1e3:[1,2,4,5,8,10]},yE=(e,t,n)=>{e=Hv(e),t=Hv(t),n=Hv(n);const r=Yx(Bb(t,e));if(qx(r,Yx(t)))throw new Error(((e,t)=>`Can only do a positive or negative range, but got: start: ${e} and end:${t}`)(e,t));const i={start:Yx(e),end:Yx(t),interval:Yx(n),multiplier:Px(n,0)?-1:1},a=mx(i.start,i.interval),o=((e,t,n)=>{const r=mx(Yx(e),Yx(n));if(!$b(r,0))throw new Error("start point must be divisible by interval");if($b(e,t))return[];const i=Bb(t,mx(t,Yx(n))),a=qx(n,0)?"positive":"negative";if("negative"===a&&ub(t,e))throw new Error("start must be > than end when doing a negative decrement");if("positive"===a&&Cb(t,e))throw new Error("start must be < end when doing increments");let o;o="positive"===a?Cb:$b(i,t)?ub:qx;const s=[];let u=e;for(;o(u,i);)s.push(u),u=Vx(u,n);return s})(qx(a,0)?Vx(Bb(i.start,a),i.interval):i.start,i.end,i.interval),s=-1===i.multiplier?o.map(e=>Jx(e,-1)):o;return Px(n,0)&&s.reverse(),s},vE=(e,t)=>(e=Hv(e),t=Hv(t),Px(e,t)?e:t),xE=(e,t)=>(e=Hv(e),t=Hv(t),qx(e,t)?e:t),bE=(e,t,n)=>Px(NE(e),NE(t))?t:qx(NE(e),NE(n))?n:e,wE=(e,t)=>{const n=e.max-e.min,r=ev(Jx(10,xw(Hv(n),t)));return{min:r,max:ev(Jx(20,r))}},NE=e=>pE(e)?Hv(e.n*e.s,e.d):hE(e)?Hv(e):void 0,EE=(e,t,n,r)=>{n=((e,t,n,r)=>{const i=!r||!1!==r.limit,a=wE(e,t),o=i?bE(NE(n.minor),a.min,a.max):NE(n.minor),s=i?bE(NE(n.major),o,Jx(o,20)):NE(n.major),u=((e,t)=>{const n=mx(e,t);return $b(n,0)})(s,o);if(!u){const e=xw(s,o),t=e<=2?2:Math.round(e);return{minor:o,major:Jx(o,t)}}return{major:s,minor:o}})(e,t,n,r);const i=((e,t,n)=>{e=Hv(e),t=Hv(t),n=Hv(n);const r=qx(t,0)?yE(xE(0,e),t,n):[];let i=(Px(e,0)?yE(vE(0,t),e,Jx(n,-1)):[]).concat(r);return fE(i,$b)})(e.min,e.max,n.minor).filter(t=>Cb(t,Hv(e.max))).map(e=>{let t="minor";const r=mx(e,n.major);return((e,t,n)=>{n=n||2;const r=Math.pow(10,-n)/2;return Math.abs(e-0)<r})(ev(r))&&(t="major"),{x:e,type:t}});return i},SE=e=>{let t={fraction:[],decimal:[]};return dE.forEach(n=>{n>=e.min&&n<=e.max&&t.decimal.push(n)}),mE.forEach(n=>{let r=ev(Hv(n));r>=e.min&&r<=e.max&&t.fraction.push(n)}),t},ME=(e,t,n,r)=>EE(e,t,n,r).map(e=>r.fraction?e:{...e,x:ev(e.x)||0}),AE=(e,t,n,r)=>{const i=((e,t,n,r)=>{const i=(r=xE(vE(r,t),e)).mod(n);let a;const o=n.div(2);if(ub(Yx(i),o)){const e=n.sub(Yx(i));a=r[ub(r,0)?"add":"sub"](e)}else a=r[ub(r,0)?"sub":"add"](Yx(i));return a})(Hv(e),Hv(t),Hv(n),Hv(r));return ev(i)},CE=(e,t,n)=>n.map(n=>{const r=Number.isFinite(n.size)?AE(0,n.size,t.minor,n.size):void 0,i=AE(e.min,e.max,t.minor,n.domainPosition),a={...n,domainPosition:i};return Number.isFinite(r)&&(a.size=r),a});function OE(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function kE(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function TE(e){let t,n,r;function i(e,r,i=0,a=e.length){if(i<a){if(0!==t(r,r))return a;do{const t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}return 2!==e.length?(t=OE,n=(t,n)=>OE(e(t),n),r=(t,n)=>e(t)-n):(t=e===OE||e===kE?e:_E,n=e,r=e),{left:i,center:function(e,t,n=0,a=e.length){const o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o},right:function(e,r,i=0,a=e.length){if(i<a){if(0!==t(r,r))return a;do{const t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}}}function _E(){return 0}const RE=TE(OE).right;TE(function(e){return null===e?NaN:+e}).center;var DE=RE;const IE=Math.sqrt(50),PE=Math.sqrt(10),qE=Math.sqrt(2);function zE(e,t,n){const r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),o=a>=IE?10:a>=PE?5:a>=qE?2:1;let s,u,l;return i<0?(l=Math.pow(10,-i)/o,s=Math.round(e*l),u=Math.round(t*l),s/l<e&&++s,u/l>t&&--u,l=-l):(l=Math.pow(10,i)*o,s=Math.round(e/l),u=Math.round(t/l),s*l<e&&++s,u*l>t&&--u),u<s&&.5<=n&&n<2?zE(e,t,2*n):[s,u,l]}function BE(e,t,n){return zE(e=+e,t=+t,n=+n)[2]}function jE(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function LE(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function FE(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function UE(){}var $E=.7,VE=1/$E,HE="\\s*([+-]?\\d+)\\s*",WE="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",GE="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",YE=/^#([0-9a-f]{3,8})$/,ZE=new RegExp(`^rgb\\(${HE},${HE},${HE}\\)$`),JE=new RegExp(`^rgb\\(${GE},${GE},${GE}\\)$`),XE=new RegExp(`^rgba\\(${HE},${HE},${HE},${WE}\\)$`),KE=new RegExp(`^rgba\\(${GE},${GE},${GE},${WE}\\)$`),QE=new RegExp(`^hsl\\(${WE},${GE},${GE}\\)$`),eS=new RegExp(`^hsla\\(${WE},${GE},${GE},${WE}\\)$`),tS={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function nS(){return this.rgb().formatHex()}function rS(){return this.rgb().formatRgb()}function iS(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=YE.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?aS(t):3===n?new uS(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?oS(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?oS(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=ZE.exec(e))?new uS(t[1],t[2],t[3],1):(t=JE.exec(e))?new uS(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=XE.exec(e))?oS(t[1],t[2],t[3],t[4]):(t=KE.exec(e))?oS(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=QE.exec(e))?dS(t[1],t[2]/100,t[3]/100,1):(t=eS.exec(e))?dS(t[1],t[2]/100,t[3]/100,t[4]):tS.hasOwnProperty(e)?aS(tS[e]):"transparent"===e?new uS(NaN,NaN,NaN,0):null}function aS(e){return new uS(e>>16&255,e>>8&255,255&e,1)}function oS(e,t,n,r){return r<=0&&(e=t=n=NaN),new uS(e,t,n,r)}function sS(e,t,n,r){return 1===arguments.length?((i=e)instanceof UE||(i=iS(i)),i?new uS((i=i.rgb()).r,i.g,i.b,i.opacity):new uS):new uS(e,t,n,null==r?1:r);var i}function uS(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function lS(){return`#${hS(this.r)}${hS(this.g)}${hS(this.b)}`}function cS(){const e=fS(this.opacity);return`${1===e?"rgb(":"rgba("}${pS(this.r)}, ${pS(this.g)}, ${pS(this.b)}${1===e?")":`, ${e})`}`}function fS(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function pS(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function hS(e){return((e=pS(e))<16?"0":"")+e.toString(16)}function dS(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new gS(e,t,n,r)}function mS(e){if(e instanceof gS)return new gS(e.h,e.s,e.l,e.opacity);if(e instanceof UE||(e=iS(e)),!e)return new gS;if(e instanceof gS)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,u=(a+i)/2;return s?(o=t===a?(n-r)/s+6*(n<r):n===a?(r-t)/s+2:(t-n)/s+4,s/=u<.5?a+i:2-a-i,o*=60):s=u>0&&u<1?0:o,new gS(o,s,u,e.opacity)}function gS(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function yS(e){return(e=(e||0)%360)<0?e+360:e}function vS(e){return Math.max(0,Math.min(1,e||0))}function xS(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}LE(UE,iS,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:nS,formatHex:nS,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return mS(this).formatHsl()},formatRgb:rS,toString:rS}),LE(uS,sS,FE(UE,{brighter(e){return e=null==e?VE:Math.pow(VE,e),new uS(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?$E:Math.pow($E,e),new uS(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new uS(pS(this.r),pS(this.g),pS(this.b),fS(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:lS,formatHex:lS,formatHex8:function(){return`#${hS(this.r)}${hS(this.g)}${hS(this.b)}${hS(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:cS,toString:cS})),LE(gS,function(e,t,n,r){return 1===arguments.length?mS(e):new gS(e,t,n,null==r?1:r)},FE(UE,{brighter(e){return e=null==e?VE:Math.pow(VE,e),new gS(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?$E:Math.pow($E,e),new gS(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new uS(xS(e>=240?e-240:e+120,i,r),xS(e,i,r),xS(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new gS(yS(this.h),vS(this.s),vS(this.l),fS(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=fS(this.opacity);return`${1===e?"hsl(":"hsla("}${yS(this.h)}, ${100*vS(this.s)}%, ${100*vS(this.l)}%${1===e?")":`, ${e})`}`}}));var bS=e=>()=>e;function wS(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):bS(isNaN(e)?t:e)}var NS=function e(t){var n=function(e){return 1===(e=+e)?wS:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):bS(isNaN(t)?n:t)}}(t);function r(e,t){var r=n((e=sS(e)).r,(t=sS(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=wS(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+""}}return r.gamma=e,r}(1);function ES(e,t){t||(t=[]);var n,r=e?Math.min(t.length,e.length):0,i=t.slice();return function(a){for(n=0;n<r;++n)i[n]=e[n]*(1-a)+t[n]*a;return i}}function SS(e,t){var n,r=t?t.length:0,i=e?Math.min(r,e.length):0,a=new Array(i),o=new Array(r);for(n=0;n<i;++n)a[n]=_S(e[n],t[n]);for(;n<r;++n)o[n]=t[n];return function(e){for(n=0;n<i;++n)o[n]=a[n](e);return o}}function MS(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function AS(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function CS(e,t){var n,r={},i={};for(n in null!==e&&"object"==typeof e||(e={}),null!==t&&"object"==typeof t||(t={}),t)n in e?r[n]=_S(e[n],t[n]):i[n]=t[n];return function(e){for(n in r)i[n]=r[n](e);return i}}var OS=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,kS=new RegExp(OS.source,"g");function TS(e,t){var n,r,i,a=OS.lastIndex=kS.lastIndex=0,o=-1,s=[],u=[];for(e+="",t+="";(n=OS.exec(e))&&(r=kS.exec(t));)(i=r.index)>a&&(i=t.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(n=n[0])===(r=r[0])?s[o]?s[o]+=r:s[++o]=r:(s[++o]=null,u.push({i:o,x:AS(n,r)})),a=kS.lastIndex;return a<t.length&&(i=t.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?u[0]?function(e){return function(t){return e(t)+""}}(u[0].x):function(e){return function(){return e}}(t):(t=u.length,function(e){for(var n,r=0;r<t;++r)s[(n=u[r]).i]=n.x(e);return s.join("")})}function _S(e,t){var n,r=typeof t;return null==t||"boolean"===r?bS(t):("number"===r?AS:"string"===r?(n=iS(t))?(t=n,NS):TS:t instanceof iS?NS:t instanceof Date?MS:function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}(t)?ES:Array.isArray(t)?SS:"function"!=typeof t.valueOf&&"function"!=typeof t.toString||isNaN(t)?CS:AS)(e,t)}function RS(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function DS(e){return+e}var IS=[0,1];function PS(e){return e}function qS(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:function(e){return function(){return e}}(isNaN(t)?NaN:.5)}function zS(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=qS(i,r),a=n(o,a)):(r=qS(r,i),a=n(a,o)),function(e){return a(r(e))}}function BS(e,t,n){var r=Math.min(e.length,t.length)-1,i=new Array(r),a=new Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=qS(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=DE(e,t,1,r)-1;return a[n](i[n](t))}}function jS(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function LS(e){return(e=jS(Math.abs(e)))?e[1]:NaN}var FS,US=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function $S(e){if(!(t=US.exec(e)))throw new Error("invalid format: "+e);var t;return new VS({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function VS(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function HS(e,t){var n=jS(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}$S.prototype=VS.prototype,VS.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var WS={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>HS(100*e,t),r:HS,s:function(e,t){var n=jS(e,t);if(!n)return e+"";var r=n[0],i=n[1],a=i-(FS=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+jS(e,Math.max(0,t+a-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function GS(e){return e}var YS,ZS,JS,XS=Array.prototype.map,KS=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function QS(e){var t=e.domain;return e.ticks=function(e){var n=t();return function(e,t,n){if(!((n=+n)>0))return[];if((e=+e)===(t=+t))return[e];const r=t<e,[i,a,o]=r?zE(t,e,n):zE(e,t,n);if(!(a>=i))return[];const s=a-i+1,u=new Array(s);if(r)if(o<0)for(let e=0;e<s;++e)u[e]=(a-e)/-o;else for(let e=0;e<s;++e)u[e]=(a-e)*o;else if(o<0)for(let e=0;e<s;++e)u[e]=(i+e)/-o;else for(let e=0;e<s;++e)u[e]=(i+e)*o;return u}(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){var r=t();return function(e,t,n,r){var i,a=function(e,t,n){n=+n;const r=(t=+t)<(e=+e),i=r?BE(t,e,n):BE(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}(e,t,n);switch((r=$S(null==r?",f":r)).type){case"s":var o=Math.max(Math.abs(e),Math.abs(t));return null!=r.precision||isNaN(i=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(LS(t)/3)))-LS(Math.abs(e)))}(a,o))||(r.precision=i),JS(r,o);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,LS(t)-LS(e))+1}(a,Math.max(Math.abs(e),Math.abs(t))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(e){return Math.max(0,-LS(Math.abs(e)))}(a))||(r.precision=i-2*("%"===r.type))}return ZS(r)}(r[0],r[r.length-1],null==e?10:e,n)},e.nice=function(n){null==n&&(n=10);var r,i,a=t(),o=0,s=a.length-1,u=a[o],l=a[s],c=10;for(l<u&&(i=u,u=l,l=i,i=o,o=s,s=i);c-- >0;){if((i=BE(u,l,n))===r)return a[o]=u,a[s]=l,t(a);if(i>0)u=Math.floor(u/i)*i,l=Math.ceil(l/i)*i;else{if(!(i<0))break;u=Math.ceil(u*i)/i,l=Math.floor(l*i)/i}r=i}return e},e}function eM(){var e=function(){var e,t,n,r,i,a,o=IS,s=IS,u=_S,l=PS;function c(){var e=Math.min(o.length,s.length);return l!==PS&&(l=function(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}(o[0],o[e-1])),r=e>2?BS:zS,i=a=null,f}function f(t){return null==t||isNaN(t=+t)?n:(i||(i=r(o.map(e),s,u)))(e(l(t)))}return f.invert=function(n){return l(t((a||(a=r(s,o.map(e),AS)))(n)))},f.domain=function(e){return arguments.length?(o=Array.from(e,DS),c()):o.slice()},f.range=function(e){return arguments.length?(s=Array.from(e),c()):s.slice()},f.rangeRound=function(e){return s=Array.from(e),u=RS,c()},f.clamp=function(e){return arguments.length?(l=!!e||PS,c()):l!==PS},f.interpolate=function(e){return arguments.length?(u=e,c()):u},f.unknown=function(e){return arguments.length?(n=e,f):n},function(n,r){return e=n,t=r,c()}}()(PS,PS);return e.copy=function(){return t=e,eM().domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown());var t},jE.apply(e,arguments),QS(e)}YS=function(e){var t,n,r=void 0===e.grouping||void 0===e.thousands?GS:(t=XS.call(e.grouping,Number),n=e.thousands+"",function(e,r){for(var i=e.length,a=[],o=0,s=t[0],u=0;i>0&&s>0&&(u+s+1>r&&(s=Math.max(1,r-u)),a.push(e.substring(i-=s,i+s)),!((u+=s+1)>r));)s=t[o=(o+1)%t.length];return a.reverse().join(n)}),i=void 0===e.currency?"":e.currency[0]+"",a=void 0===e.currency?"":e.currency[1]+"",o=void 0===e.decimal?".":e.decimal+"",s=void 0===e.numerals?GS:function(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}(XS.call(e.numerals,String)),u=void 0===e.percent?"%":e.percent+"",l=void 0===e.minus?"−":e.minus+"",c=void 0===e.nan?"NaN":e.nan+"";function f(e){var t=(e=$S(e)).fill,n=e.align,f=e.sign,p=e.symbol,h=e.zero,d=e.width,m=e.comma,g=e.precision,y=e.trim,v=e.type;"n"===v?(m=!0,v="g"):WS[v]||(void 0===g&&(g=12),y=!0,v="g"),(h||"0"===t&&"="===n)&&(h=!0,t="0",n="=");var x="$"===p?i:"#"===p&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",b="$"===p?a:/[%p]/.test(v)?u:"",w=WS[v],N=/[defgprs%]/.test(v);function E(e){var i,a,u,p=x,E=b;if("c"===v)E=w(e)+E,e="";else{var S=(e=+e)<0||1/e<0;if(e=isNaN(e)?c:w(Math.abs(e),g),y&&(e=function(e){e:for(var t,n=e.length,r=1,i=-1;r<n;++r)switch(e[r]){case".":i=t=r;break;case"0":0===i&&(i=r),t=r;break;default:if(!+e[r])break e;i>0&&(i=0)}return i>0?e.slice(0,i)+e.slice(t+1):e}(e)),S&&0===+e&&"+"!==f&&(S=!1),p=(S?"("===f?f:l:"-"===f||"("===f?"":f)+p,E=("s"===v?KS[8+FS/3]:"")+E+(S&&"("===f?")":""),N)for(i=-1,a=e.length;++i<a;)if(48>(u=e.charCodeAt(i))||u>57){E=(46===u?o+e.slice(i+1):e.slice(i))+E,e=e.slice(0,i);break}}m&&!h&&(e=r(e,1/0));var M=p.length+e.length+E.length,A=M<d?new Array(d-M+1).join(t):"";switch(m&&h&&(e=r(A+e,A.length?d-E.length:1/0),A=""),n){case"<":e=p+e+E+A;break;case"=":e=p+A+e+E;break;case"^":e=A.slice(0,M=A.length>>1)+p+e+E+A.slice(M);break;default:e=A+p+e+E}return s(e)}return g=void 0===g?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),E.toString=function(){return e+""},E}return{format:f,formatPrefix:function(e,t){var n=f(((e=$S(e)).type="f",e)),r=3*Math.max(-8,Math.min(8,Math.floor(LS(t)/3))),i=Math.pow(10,-r),a=KS[8+r/3];return function(e){return n(i*e)+a}}}}({thousands:",",grouping:[3],currency:["$",""]}),ZS=YS.format,JS=YS.formatPrefix;var tM="http://www.w3.org/1999/xhtml",nM={svg:"http://www.w3.org/2000/svg",xhtml:tM,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function rM(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),nM.hasOwnProperty(t)?{space:nM[t],local:e}:e}function iM(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===tM&&t.documentElement.namespaceURI===tM?t.createElement(e):t.createElementNS(n,e)}}function aM(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function oM(e){var t=rM(e);return(t.local?aM:iM)(t)}function sM(){}function uM(e){return null==e?sM:function(){return this.querySelector(e)}}function lM(){return[]}function cM(e){return function(t){return t.matches(e)}}var fM=Array.prototype.find;function pM(){return this.firstElementChild}var hM=Array.prototype.filter;function dM(){return Array.from(this.children)}function mM(e){return new Array(e.length)}function gM(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function yM(e,t,n,r,i,a){for(var o,s=0,u=t.length,l=a.length;s<l;++s)(o=t[s])?(o.__data__=a[s],r[s]=o):n[s]=new gM(e,a[s]);for(;s<u;++s)(o=t[s])&&(i[s]=o)}function vM(e,t,n,r,i,a,o){var s,u,l,c=new Map,f=t.length,p=a.length,h=new Array(f);for(s=0;s<f;++s)(u=t[s])&&(h[s]=l=o.call(u,u.__data__,s,t)+"",c.has(l)?i[s]=u:c.set(l,u));for(s=0;s<p;++s)l=o.call(e,a[s],s,a)+"",(u=c.get(l))?(r[s]=u,u.__data__=a[s],c.delete(l)):n[s]=new gM(e,a[s]);for(s=0;s<f;++s)(u=t[s])&&c.get(h[s])===u&&(i[s]=u)}function xM(e){return e.__data__}function bM(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function wM(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function NM(e){return function(){this.removeAttribute(e)}}function EM(e){return function(){this.removeAttributeNS(e.space,e.local)}}function SM(e,t){return function(){this.setAttribute(e,t)}}function MM(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function AM(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function CM(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function OM(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function kM(e){return function(){this.style.removeProperty(e)}}function TM(e,t,n){return function(){this.style.setProperty(e,t,n)}}function _M(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function RM(e){return function(){delete this[e]}}function DM(e,t){return function(){this[e]=t}}function IM(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function PM(e){return e.trim().split(/^|\s+/)}function qM(e){return e.classList||new zM(e)}function zM(e){this._node=e,this._names=PM(e.getAttribute("class")||"")}function BM(e,t){for(var n=qM(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function jM(e,t){for(var n=qM(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function LM(e){return function(){BM(this,e)}}function FM(e){return function(){jM(this,e)}}function UM(e,t){return function(){(t.apply(this,arguments)?BM:jM)(this,e)}}function $M(){this.textContent=""}function VM(e){return function(){this.textContent=e}}function HM(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function WM(){this.innerHTML=""}function GM(e){return function(){this.innerHTML=e}}function YM(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function ZM(){this.nextSibling&&this.parentNode.appendChild(this)}function JM(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function XM(){return null}function KM(){var e=this.parentNode;e&&e.removeChild(this)}function QM(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function eA(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function tA(e){return function(){var t=this.__on;if(t){for(var n,r=0,i=-1,a=t.length;r<a;++r)n=t[r],e.type&&n.type!==e.type||n.name!==e.name?t[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?t.length=i:delete this.__on}}}function nA(e,t,n){return function(){var r,i=this.__on,a=function(e){return function(t){e.call(this,t,this.__data__)}}(t);if(i)for(var o=0,s=i.length;o<s;++o)if((r=i[o]).type===e.type&&r.name===e.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=a,r.options=n),void(r.value=t);this.addEventListener(e.type,a,n),r={type:e.type,name:e.name,value:t,listener:a,options:n},i?i.push(r):this.__on=[r]}}function rA(e,t,n){var r=OM(e),i=r.CustomEvent;"function"==typeof i?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function iA(e,t){return function(){return rA(this,e,t)}}function aA(e,t){return function(){return rA(this,e,t.apply(this,arguments))}}gM.prototype={constructor:gM,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}},zM.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var oA=[null];function sA(e,t){this._groups=e,this._parents=t}sA.prototype={constructor:sA,select:function(e){"function"!=typeof e&&(e=uM(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var a,o,s=t[i],u=s.length,l=r[i]=new Array(u),c=0;c<u;++c)(a=s[c])&&(o=e.call(a,a.__data__,c,s))&&("__data__"in a&&(o.__data__=a.__data__),l[c]=o);return new sA(r,this._parents)},selectAll:function(e){e="function"==typeof e?function(e){return function(){return function(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}(e.apply(this,arguments))}}(e):function(e){return null==e?lM:function(){return this.querySelectorAll(e)}}(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o,s=t[a],u=s.length,l=0;l<u;++l)(o=s[l])&&(r.push(e.call(o,o.__data__,l,s)),i.push(o));return new sA(r,i)},selectChild:function(e){return this.select(null==e?pM:function(e){return function(){return fM.call(this.children,e)}}("function"==typeof e?e:cM(e)))},selectChildren:function(e){return this.selectAll(null==e?dM:function(e){return function(){return hM.call(this.children,e)}}("function"==typeof e?e:cM(e)))},filter:function(e){"function"!=typeof e&&(e=function(e){return function(){return this.matches(e)}}(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var a,o=t[i],s=o.length,u=r[i]=[],l=0;l<s;++l)(a=o[l])&&e.call(a,a.__data__,l,o)&&u.push(a);return new sA(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,xM);var n=t?vM:yM,r=this._parents,i=this._groups;"function"!=typeof e&&(e=function(e){return function(){return e}}(e));for(var a=i.length,o=new Array(a),s=new Array(a),u=new Array(a),l=0;l<a;++l){var c=r[l],f=i[l],p=f.length,h=bM(e.call(c,c&&c.__data__,l,r)),d=h.length,m=s[l]=new Array(d),g=o[l]=new Array(d);n(c,f,m,g,u[l]=new Array(p),h,t);for(var y,v,x=0,b=0;x<d;++x)if(y=m[x]){for(x>=b&&(b=x+1);!(v=g[b])&&++b<d;);y._next=v||null}}return(o=new sA(o,r))._enter=s,o._exit=u,o},enter:function(){return new sA(this._enter||this._groups.map(mM),this._parents)},exit:function(){return new sA(this._exit||this._groups.map(mM),this._parents)},join:function(e,t,n){var r=this.enter(),i=this,a=this.exit();return"function"==typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+""),null!=t&&(i=t(i))&&(i=i.selection()),null==n?a.remove():n(a),r&&i?r.merge(i).order():i},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=new Array(i),u=0;u<o;++u)for(var l,c=n[u],f=r[u],p=c.length,h=s[u]=new Array(p),d=0;d<p;++d)(l=c[d]||f[d])&&(h[d]=l);for(;u<i;++u)s[u]=n[u];return new sA(s,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,i=e[t],a=i.length-1,o=i[a];--a>=0;)(r=i[a])&&(o&&4^r.compareDocumentPosition(o)&&o.parentNode.insertBefore(r,o),o=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=wM);for(var n=this._groups,r=n.length,i=new Array(r),a=0;a<r;++a){for(var o,s=n[a],u=s.length,l=i[a]=new Array(u),c=0;c<u;++c)(o=s[c])&&(l[c]=o);l.sort(t)}return new sA(i,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null},size:function(){let e=0;for(const t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i,a=t[n],o=0,s=a.length;o<s;++o)(i=a[o])&&e.call(i,i.__data__,o,a);return this},attr:function(e,t){var n=rM(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?EM:NM:"function"==typeof t?n.local?CM:AM:n.local?MM:SM)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?kM:"function"==typeof t?_M:TM)(e,t,null==n?"":n)):function(e,t){return e.style.getPropertyValue(t)||OM(e).getComputedStyle(e,null).getPropertyValue(t)}(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?RM:"function"==typeof t?IM:DM)(e,t)):this.node()[e]},classed:function(e,t){var n=PM(e+"");if(arguments.length<2){for(var r=qM(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof t?UM:t?LM:FM)(n,t))},text:function(e){return arguments.length?this.each(null==e?$M:("function"==typeof e?HM:VM)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?WM:("function"==typeof e?YM:GM)(e)):this.node().innerHTML},raise:function(){return this.each(ZM)},lower:function(){return this.each(JM)},append:function(e){var t="function"==typeof e?e:oM(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"==typeof e?e:oM(e),r=null==t?XM:"function"==typeof t?t:uM(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(KM)},clone:function(e){return this.select(e?eA:QM)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,i,a=function(e){return e.trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}(e+""),o=a.length;if(!(arguments.length<2)){for(s=t?nA:tA,r=0;r<o;++r)this.each(s(a[r],t,n));return this}var s=this.node().__on;if(s)for(var u,l=0,c=s.length;l<c;++l)for(r=0,u=s[l];r<o;++r)if((i=a[r]).type===u.type&&i.name===u.name)return u.value},dispatch:function(e,t){return this.each(("function"==typeof t?aA:iA)(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r,i=e[t],a=0,o=i.length;a<o;++a)(r=i[a])&&(yield r)}};const{useMemo:uA}=r,{useLayoutEffect:lA}=r,{useEffect:cA}=r,{useRef:fA}=r,{useCallback:pA}=r,hA="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function dA(e){const t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function mA(e){return"nodeType"in e}function gA(e){var t,n;return e?dA(e)?e:mA(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function yA(e){const{Document:t}=gA(e);return e instanceof t}function vA(e){return!dA(e)&&e instanceof gA(e).HTMLElement}function xA(e){return e instanceof gA(e).SVGElement}function bA(e){return e?dA(e)?e.document:mA(e)?yA(e)?e:vA(e)||xA(e)?e.ownerDocument:document:document:document}const wA=hA?lA:cA;function NA(e){const t=fA(e);return wA(()=>{t.current=e}),pA(function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return null==t.current?void 0:t.current(...n)},[])}function EA(e,t){void 0===t&&(t=[e]);const n=fA(e);return wA(()=>{n.current!==e&&(n.current=e)},t),n}function SA(e,t){const n=fA();return uA(()=>{const t=e(n.current);return n.current=t,t},[...t])}function MA(e){const t=NA(e),n=fA(null),r=pA(e=>{e!==n.current&&(null==t||t(e,n.current)),n.current=e},[]);return[n,r]}function AA(e){const t=fA();return cA(()=>{t.current=e},[e]),t.current}let CA={};function OA(e,t){return uA(()=>{if(t)return t;const n=null==CA[e]?0:CA[e]+1;return CA[e]=n,e+"-"+n},[e,t])}function kA(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return r.reduce((t,n)=>{const r=Object.entries(n);for(const[n,i]of r){const r=t[n];null!=r&&(t[n]=r+e*i)}return t},{...t})}}const TA=kA(1),_A=kA(-1);function RA(e){if(!e)return!1;const{KeyboardEvent:t}=gA(e.target);return t&&e instanceof t}function DA(e){if(function(e){if(!e)return!1;const{TouchEvent:t}=gA(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return function(e){return"clientX"in e&&"clientY"in e}(e)?{x:e.clientX,y:e.clientY}:null}const IA=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[IA.Translate.toString(e),IA.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),PA="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function qA(e){return e.matches(PA)?e:e.querySelector(PA)}const zA=r,{useState:BA}=r,{useCallback:jA}=r,LA={display:"none"};function FA(e){let{id:t,value:n}=e;return zA.createElement("div",{id:t,style:LA},n)}function UA(e){let{id:t,announcement:n,ariaLiveType:r="assertive"}=e;return zA.createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":r,"aria-atomic":!0},n)}const $A=r,{createContext:VA}=r,{useContext:HA}=r,{useEffect:WA}=r,{useState:GA}=r,{useCallback:YA}=r,{useMemo:ZA}=r,{useRef:JA}=r,{memo:XA}=r,{useReducer:KA}=r,{cloneElement:QA}=r,{forwardRef:eC}=r,{createPortal:tC}=a,{unstable_batchedUpdates:nC}=a,rC=VA(null);function iC(e){const t=HA(rC);WA(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}const aC={draggable:"\n To pick up a draggable item, press the space bar.\n While dragging, use the arrow keys to move the item.\n Press space again to drop the item in its new position, or press escape to cancel.\n "},oC={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function sC(e){let{announcements:t=oC,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=aC}=e;const{announce:a,announcement:o}=function(){const[e,t]=BA("");return{announce:jA(e=>{null!=e&&t(e)},[]),announcement:e}}(),s=OA("DndLiveRegion"),[u,l]=GA(!1);if(WA(()=>{l(!0)},[]),iC(ZA(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!u)return null;const c=$A.createElement($A.Fragment,null,$A.createElement(FA,{id:r,value:i.draggable}),$A.createElement(UA,{id:s,announcement:o}));return n?tC(c,n):c}var uC;function lC(){}!function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"}(uC||(uC={}));const cC=Object.freeze({x:0,y:0});function fC(e,t){const n=DA(e);return n?(n.x-t.left)/t.width*100+"% "+(n.y-t.top)/t.height*100+"%":"0 0"}function pC(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function hC(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){const n=t.width*t.height,r=e.width*e.height,i=o*s;return Number((i/(n+r-i)).toFixed(4))}return 0}const dC=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const e of r){const{id:r}=e,a=n.get(r);if(a){const n=hC(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(pC)};function mC(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:cC}const gC=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reduce((e,t)=>({...e,top:e.top+1*t.y,bottom:e.bottom+1*t.y,left:e.left+1*t.x,right:e.right+1*t.x}),{...e})};function yC(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}const vC={ignoreTransform:!1};function xC(e,t){void 0===t&&(t=vC);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:t,transformOrigin:r}=gA(e).getComputedStyle(e);t&&(n=function(e,t,n){const r=yC(t);if(!r)return e;const{scaleX:i,scaleY:a,x:o,y:s}=r,u=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(" ")+1)),c=i?e.width/i:e.width,f=a?e.height/a:e.height;return{width:c,height:f,top:l,right:u+c,bottom:l+f,left:u}}(n,t,r))}const{top:r,left:i,width:a,height:o,bottom:s,right:u}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:u}}function bC(e){return xC(e,{ignoreTransform:!0})}function wC(e,t){const n=[];return e?function r(i){if(null!=t&&n.length>=t)return n;if(!i)return n;if(yA(i)&&null!=i.scrollingElement&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!vA(i)||xA(i))return n;if(n.includes(i))return n;const a=gA(e).getComputedStyle(i);return i!==e&&function(e,t){void 0===t&&(t=gA(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(e=>{const r=t[e];return"string"==typeof r&&n.test(r)})}(i,a)&&n.push(i),function(e,t){return void 0===t&&(t=gA(e).getComputedStyle(e)),"fixed"===t.position}(i,a)?n:r(i.parentNode)}(e):n}function NC(e){const[t]=wC(e,1);return null!=t?t:null}function EC(e){return hA&&e?dA(e)?e:mA(e)?yA(e)||e===bA(e).scrollingElement?window:vA(e)?e:null:null:null}function SC(e){return dA(e)?e.scrollX:e.scrollLeft}function MC(e){return dA(e)?e.scrollY:e.scrollTop}function AC(e){return{x:SC(e),y:MC(e)}}var CC;function OC(e){return!(!hA||!e)&&e===document.scrollingElement}function kC(e){const t={x:0,y:0},n=OC(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}!function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"}(CC||(CC={}));const TC={x:.2,y:.2};function _C(e,t,n,r,i){let{top:a,left:o,right:s,bottom:u}=n;void 0===r&&(r=10),void 0===i&&(i=TC);const{isTop:l,isBottom:c,isLeft:f,isRight:p}=kC(e),h={x:0,y:0},d={x:0,y:0},m=t.height*i.y,g=t.width*i.x;return!l&&a<=t.top+m?(h.y=CC.Backward,d.y=r*Math.abs((t.top+m-a)/m)):!c&&u>=t.bottom-m&&(h.y=CC.Forward,d.y=r*Math.abs((t.bottom-m-u)/m)),!p&&s>=t.right-g?(h.x=CC.Forward,d.x=r*Math.abs((t.right-g-s)/g)):!f&&o<=t.left+g&&(h.x=CC.Backward,d.x=r*Math.abs((t.left+g-o)/g)),{direction:h,speed:d}}function RC(e){if(e===document.scrollingElement){const{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function DC(e){return e.reduce((e,t)=>TA(e,AC(t)),cC)}function IC(e,t){if(void 0===t&&(t=xC),!e)return;const{top:n,left:r,bottom:i,right:a}=t(e);NC(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const PC=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+SC(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+MC(t),0)}]];class qC{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=wC(t),r=DC(n);this.rect={...e},this.width=e.width,this.height=e.height;for(const[e,t,i]of PC)for(const a of t)Object.defineProperty(this,a,{get:()=>{const t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class zC{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var r;null==(r=this.target)||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function BC(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t&&r>t.y}var jC,LC;function FC(e){e.preventDefault()}function UC(e){e.stopPropagation()}!function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"}(jC||(jC={})),function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"}(LC||(LC={}));const $C={start:[LC.Space,LC.Enter],cancel:[LC.Esc],end:[LC.Space,LC.Enter,LC.Tab]},VC=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case LC.Right:return{...n,x:n.x+25};case LC.Left:return{...n,x:n.x-25};case LC.Down:return{...n,y:n.y+25};case LC.Up:return{...n,y:n.y-25}}};class HC{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:t}}=e;this.props=e,this.listeners=new zC(bA(t)),this.windowListeners=new zC(gA(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(jC.Resize,this.handleCancel),this.windowListeners.add(jC.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(jC.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&IC(n),t(cC)}handleKeyDown(e){if(RA(e)){const{active:t,context:n,options:r}=this.props,{keyboardCodes:i=$C,coordinateGetter:a=VC,scrollBehavior:o="smooth"}=r,{code:s}=e;if(i.end.includes(s))return void this.handleEnd(e);if(i.cancel.includes(s))return void this.handleCancel(e);const{collisionRect:u}=n.current,l=u?{x:u.left,y:u.top}:cC;this.referenceCoordinates||(this.referenceCoordinates=l);const c=a(e,{active:t,context:n.current,currentCoordinates:l});if(c){const t=_A(c,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(const n of i){const i=e.code,{isTop:a,isRight:s,isLeft:u,isBottom:l,maxScroll:f,minScroll:p}=kC(n),h=RC(n),d={x:Math.min(i===LC.Right?h.right-h.width/2:h.right,Math.max(i===LC.Right?h.left:h.left+h.width/2,c.x)),y:Math.min(i===LC.Down?h.bottom-h.height/2:h.bottom,Math.max(i===LC.Down?h.top:h.top+h.height/2,c.y))},m=i===LC.Right&&!s||i===LC.Left&&!u,g=i===LC.Down&&!l||i===LC.Up&&!a;if(m&&d.x!==c.x){const e=n.scrollLeft+t.x,a=i===LC.Right&&e<=f.x||i===LC.Left&&e>=p.x;if(a&&!t.y)return void n.scrollTo({left:e,behavior:o});r.x=a?n.scrollLeft-e:i===LC.Right?n.scrollLeft-f.x:n.scrollLeft-p.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}if(g&&d.y!==c.y){const e=n.scrollTop+t.y,a=i===LC.Down&&e<=f.y||i===LC.Up&&e>=p.y;if(a&&!t.x)return void n.scrollTo({top:e,behavior:o});r.y=a?n.scrollTop-e:i===LC.Down?n.scrollTop-f.y:n.scrollTop-p.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,TA(_A(c,this.referenceCoordinates),r))}}}handleMove(e,t){const{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){const{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){const{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function WC(e){return Boolean(e&&"distance"in e)}function GC(e){return Boolean(e&&"delay"in e)}HC.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=$C,onActivation:i}=t,{active:a}=n;const{code:o}=e.nativeEvent;if(r.start.includes(o)){const t=a.activatorNode.current;return!(t&&e.target!==t||(e.preventDefault(),null==i||i({event:e.nativeEvent}),0))}return!1}}];class YC{constructor(e,t,n){var r;void 0===n&&(n=function(e){const{EventTarget:t}=gA(e);return e instanceof t?e:bA(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;const{event:i}=e,{target:a}=i;this.props=e,this.events=t,this.document=bA(a),this.documentListeners=new zC(this.document),this.listeners=new zC(n),this.windowListeners=new zC(gA(a)),this.initialCoordinates=null!=(r=DA(i))?r:cC,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(jC.Resize,this.handleCancel),this.windowListeners.add(jC.DragStart,FC),this.windowListeners.add(jC.VisibilityChange,this.handleCancel),this.windowListeners.add(jC.ContextMenu,FC),this.documentListeners.add(jC.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(GC(t))return this.timeoutId=setTimeout(this.handleStart,t.delay),void this.handlePending(t);if(WC(t))return void this.handlePending(t)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){const{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){const{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(jC.Click,UC,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(jC.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;const{activated:n,initialCoordinates:r,props:i}=this,{onMove:a,options:{activationConstraint:o}}=i;if(!r)return;const s=null!=(t=DA(e))?t:cC,u=_A(r,s);if(!n&&o){if(WC(o)){if(null!=o.tolerance&&BC(u,o.tolerance))return this.handleCancel();if(BC(u,o.distance))return this.handleStart()}return GC(o)&&BC(u,o.tolerance)?this.handleCancel():void this.handlePending(o,u)}e.cancelable&&e.preventDefault(),a(s)}handleEnd(){const{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){const{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===LC.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}const ZC={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class JC extends YC{constructor(e){const{event:t}=e,n=bA(t.target);super(e,ZC,n)}}JC.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!(!n.isPrimary||0!==n.button||(null==r||r({event:n}),0))}}];const XC={move:{name:"mousemove"},end:{name:"mouseup"}};var KC;!function(e){e[e.RightClick=2]="RightClick"}(KC||(KC={})),class extends YC{constructor(e){super(e,XC,bA(e.event.target))}}.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==KC.RightClick&&(null==r||r({event:n}),!0)}}];const QC={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};var eO,tO;(class extends YC{constructor(e){super(e,QC)}static setup(){return window.addEventListener(QC.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(QC.move.name,e)};function e(){}}}).activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return!(i.length>1||(null==r||r({event:n}),0))}}],function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"}(eO||(eO={})),function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"}(tO||(tO={}));const nO={x:{[CC.Backward]:!1,[CC.Forward]:!1},y:{[CC.Backward]:!1,[CC.Forward]:!1}};var rO,iO;!function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"}(rO||(rO={})),(iO||(iO={})).Optimized="optimized";const aO=new Map;function oO(e,t){return SA(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function sO(e){let{callback:t,disabled:n}=e;const r=NA(t),i=ZA(()=>{if(n||"undefined"==typeof window||void 0===window.ResizeObserver)return;const{ResizeObserver:e}=window;return new e(r)},[n]);return WA(()=>()=>null==i?void 0:i.disconnect(),[i]),i}function uO(e){return new qC(xC(e),e)}function lO(e,t,n){void 0===t&&(t=uO);const[r,i]=GA(null);function a(){i(r=>{if(!e)return null;var i;if(!1===e.isConnected)return null!=(i=null!=r?r:n)?i:null;const a=t(e);return JSON.stringify(r)===JSON.stringify(a)?r:a})}const o=function(e){let{callback:t,disabled:n}=e;const r=NA(t),i=ZA(()=>{if(n||"undefined"==typeof window||void 0===window.MutationObserver)return;const{MutationObserver:e}=window;return new e(r)},[r,n]);return WA(()=>()=>null==i?void 0:i.disconnect(),[i]),i}({callback(t){if(e)for(const n of t){const{type:t,target:r}=n;if("childList"===t&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=sO({callback:a});return wA(()=>{a(),e?(null==s||s.observe(e),null==o||o.observe(document.body,{childList:!0,subtree:!0})):(null==s||s.disconnect(),null==o||o.disconnect())},[e]),r}const cO=[];function fO(e,t){void 0===t&&(t=[]);const n=JA(null);return WA(()=>{n.current=null},t),WA(()=>{const t=e!==cC;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?_A(e,n.current):cC}function pO(e){return ZA(()=>e?function(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}(e):null,[e])}const hO=[];function dO(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return vA(t)?t:e}const mO=[{sensor:JC,options:{}},{sensor:HC,options:{}}],gO={current:{}},yO={draggable:{measure:bC},droppable:{measure:bC,strategy:rO.WhileDragging,frequency:iO.Optimized},dragOverlay:{measure:xC}};class vO extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}const xO={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new vO,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:lC},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:yO,measureDroppableContainers:lC,windowRect:null,measuringScheduled:!1},bO={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:lC,draggableNodes:new Map,over:null,measureDroppableContainers:lC},wO=VA(bO),NO=VA(xO);function EO(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new vO}}}function SO(e,t){switch(t.type){case uC.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case uC.DragMove:return null==e.draggable.active?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case uC.DragEnd:case uC.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case uC.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new vO(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case uC.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;const o=new vO(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case uC.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const a=new vO(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function MO(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=HA(wO),a=AA(r),o=AA(null==n?void 0:n.id);return WA(()=>{if(!t&&!r&&a&&null!=o){if(!RA(a))return;if(document.activeElement===a.target)return;const e=i.get(o);if(!e)return;const{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(const e of[t.current,n.current]){if(!e)continue;const t=qA(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function AO(e,t){let{transform:n,...r}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}const CO=VA({...cC,scaleX:1,scaleY:1});var OO;!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"}(OO||(OO={}));const kO=XA(function(e){var t,n,r,i;let{id:a,accessibility:o,autoScroll:s=!0,children:u,sensors:l=mO,collisionDetection:c=dC,measuring:f,modifiers:p,...h}=e;const d=KA(SO,void 0,EO),[m,g]=d,[y,v]=function(){const[e]=GA(()=>new Set),t=YA(t=>(e.add(t),()=>e.delete(t)),[e]);return[YA(t=>{let{type:n,event:r}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,r)})},[e]),t]}(),[x,b]=GA(OO.Uninitialized),w=x===OO.Initialized,{draggable:{active:N,nodes:E,translate:S},droppable:{containers:M}}=m,A=null!=N?E.get(N):null,C=JA({initial:null,translated:null}),O=ZA(()=>{var e;return null!=N?{id:N,data:null!=(e=null==A?void 0:A.data)?e:gO,rect:C}:null},[N,A]),k=JA(null),[T,_]=GA(null),[R,D]=GA(null),I=EA(h,Object.values(h)),P=OA("DndDescribedBy",a),q=ZA(()=>M.getEnabled(),[M]),z=function(e){return ZA(()=>({draggable:{...yO.draggable,...null==e?void 0:e.draggable},droppable:{...yO.droppable,...null==e?void 0:e.droppable},dragOverlay:{...yO.dragOverlay,...null==e?void 0:e.dragOverlay}}),[null==e?void 0:e.draggable,null==e?void 0:e.droppable,null==e?void 0:e.dragOverlay])}(f),{droppableRects:B,measureDroppableContainers:j,measuringScheduled:L}=function(e,t){let{dragging:n,dependencies:r,config:i}=t;const[a,o]=GA(null),{frequency:s,measure:u,strategy:l}=i,c=JA(e),f=function(){switch(l){case rO.Always:return!1;case rO.BeforeDragging:return n;default:return!n}}(),p=EA(f),h=YA(function(e){void 0===e&&(e=[]),p.current||o(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[p]),d=JA(null),m=SA(t=>{if(f&&!n)return aO;if(!t||t===aO||c.current!==e||null!=a){const t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}const e=n.node.current,r=e?new qC(u(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,f,u]);return WA(()=>{c.current=e},[e]),WA(()=>{f||h()},[n,f]),WA(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),WA(()=>{f||"number"!=typeof s||null!==d.current||(d.current=setTimeout(()=>{h(),d.current=null},s))},[s,f,h,...r]),{droppableRects:m,measureDroppableContainers:h,measuringScheduled:null!=a}}(q,{dragging:w,dependencies:[S.x,S.y],config:z.droppable}),F=function(e,t){const n=null!=t?e.get(t):void 0,r=n?n.node.current:null;return SA(e=>{var n;return null==t?null:null!=(n=null!=r?r:e)?n:null},[r,t])}(E,N),U=ZA(()=>R?DA(R):null,[R]),$=function(){const e=!1===(null==T?void 0:T.autoScrollEnabled),t="object"==typeof s?!1===s.enabled:!1===s,n=w&&!e&&!t;return"object"==typeof s?{...s,enabled:n}:{enabled:n}}(),V=function(e,t){return oO(e,t)}(F,z.draggable.measure);!function(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const a=JA(!1),{x:o,y:s}="boolean"==typeof i?{x:i,y:i}:i;wA(()=>{if(!o&&!s||!t)return void(a.current=!1);if(a.current||!r)return;const e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;const i=mC(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){const t=NC(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}({activeNode:null!=N?E.get(N):null,config:$.layoutShiftCompensation,initialRect:V,measure:z.draggable.measure});const H=lO(F,z.draggable.measure,V),W=lO(F?F.parentElement:null),G=JA({activatorEvent:null,active:null,activeNode:F,collisionRect:null,collisions:null,droppableRects:B,draggableNodes:E,draggingNode:null,draggingNodeRect:null,droppableContainers:M,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Y=M.getNodeFor(null==(t=G.current.over)?void 0:t.id),Z=function(e){let{measure:t}=e;const[n,r]=GA(null),i=sO({callback:YA(e=>{for(const{target:n}of e)if(vA(n)){r(e=>{const r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),a=YA(e=>{const n=dO(e);null==i||i.disconnect(),n&&(null==i||i.observe(n)),r(n?t(n):null)},[t,i]),[o,s]=MA(a);return ZA(()=>({nodeRef:o,rect:n,setRef:s}),[n,o,s])}({measure:z.dragOverlay.measure}),J=null!=(n=Z.nodeRef.current)?n:F,X=w?null!=(r=Z.rect)?r:H:null,K=Boolean(Z.nodeRef.current&&Z.rect),Q=mC(ee=K?null:H,oO(ee));var ee;const te=pO(J?gA(J):null),ne=function(e){const t=JA(e),n=SA(n=>e?n&&n!==cO&&e&&t.current&&e.parentNode===t.current.parentNode?n:wC(e):cO,[e]);return WA(()=>{t.current=e},[e]),n}(w?null!=Y?Y:F:null),re=function(e,t){void 0===t&&(t=xC);const[n]=e,r=pO(n?gA(n):null),[i,a]=GA(hO);function o(){a(()=>e.length?e.map(e=>OC(e)?r:new qC(t(e),e)):hO)}const s=sO({callback:o});return wA(()=>{null==s||s.disconnect(),o(),e.forEach(e=>null==s?void 0:s.observe(e))},[e]),i}(ne),ie=AO(p,{transform:{x:S.x-Q.x,y:S.y-Q.y,scaleX:1,scaleY:1},activatorEvent:R,active:O,activeNodeRect:H,containerNodeRect:W,draggingNodeRect:X,over:G.current.over,overlayNodeRect:Z.rect,scrollableAncestors:ne,scrollableAncestorRects:re,windowRect:te}),ae=U?TA(U,S):null,oe=function(e){const[t,n]=GA(null),r=JA(e),i=YA(e=>{const t=EC(e.target);t&&n(e=>e?(e.set(t,AC(t)),new Map(e)):null)},[]);return WA(()=>{const t=r.current;if(e!==t){a(t);const o=e.map(e=>{const t=EC(e);return t?(t.addEventListener("scroll",i,{passive:!0}),[t,AC(t)]):null}).filter(e=>null!=e);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{const t=EC(e);null==t||t.removeEventListener("scroll",i)})}},[i,e]),ZA(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>TA(e,t),cC):DC(e):cC,[e,t])}(ne),se=fO(oe),ue=fO(oe,[H]),le=TA(ie,se),ce=X?gC(X,ie):null,fe=O&&ce?c({active:O,collisionRect:ce,droppableRects:B,droppableContainers:q,pointerCoordinates:ae}):null,pe=function(e){if(!e||0===e.length)return null;const[t]=e;return t.id}(fe),[he,de]=GA(null),me=function(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}(K?ie:TA(ie,ue),null!=(i=null==he?void 0:he.rect)?i:null,H),ge=JA(null),ye=YA((e,t)=>{let{sensor:n,options:r}=t;if(null==k.current)return;const i=E.get(k.current);if(!i)return;const a=e.nativeEvent,o=new n({active:k.current,activeNode:i,event:a,options:r,context:G,onAbort(e){if(!E.get(e))return;const{onDragAbort:t}=I.current,n={id:e};null==t||t(n),y({type:"onDragAbort",event:n})},onPending(e,t,n,r){if(!E.get(e))return;const{onDragPending:i}=I.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};null==i||i(a),y({type:"onDragPending",event:a})},onStart(e){const t=k.current;if(null==t)return;const n=E.get(t);if(!n)return;const{onDragStart:r}=I.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:C}};nC(()=>{null==r||r(i),b(OO.Initializing),g({type:uC.DragStart,initialCoordinates:e,active:t}),y({type:"onDragStart",event:i}),_(ge.current),D(a)})},onMove(e){g({type:uC.DragMove,coordinates:e})},onEnd:s(uC.DragEnd),onCancel:s(uC.DragCancel)});function s(e){return async function(){const{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=G.current;let o=null;if(t&&i){const{cancelDrop:s}=I.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===uC.DragEnd&&"function"==typeof s&&await Promise.resolve(s(o))&&(e=uC.DragCancel)}k.current=null,nC(()=>{g({type:e}),b(OO.Uninitialized),de(null),_(null),D(null),ge.current=null;const t=e===uC.DragEnd?"onDragEnd":"onDragCancel";if(o){const e=I.current[t];null==e||e(o),y({type:t,event:o})}})}}ge.current=o},[E]),ve=YA((e,t)=>(n,r)=>{const i=n.nativeEvent,a=E.get(r);if(null!==k.current||!a||i.dndKit||i.defaultPrevented)return;const o={active:a};!0===e(n,t.options,o)&&(i.dndKit={capturedBy:t.sensor},k.current=r,ye(n,t))},[E,ye]),xe=function(e,t){return ZA(()=>e.reduce((e,n)=>{const{sensor:r}=n;return[...e,...r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}))]},[]),[e,t])}(l,ve);!function(e){WA(()=>{if(!hA)return;const t=e.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(const e of t)null==e||e()}},e.map(e=>{let{sensor:t}=e;return t}))}(l),wA(()=>{H&&x===OO.Initializing&&b(OO.Initialized)},[H,x]),WA(()=>{const{onDragMove:e}=I.current,{active:t,activatorEvent:n,collisions:r,over:i}=G.current;if(!t||!n)return;const a={active:t,activatorEvent:n,collisions:r,delta:{x:le.x,y:le.y},over:i};nC(()=>{null==e||e(a),y({type:"onDragMove",event:a})})},[le.x,le.y]),WA(()=>{const{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=G.current;if(!e||null==k.current||!t||!i)return;const{onDragOver:a}=I.current,o=r.get(pe),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,u={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};nC(()=>{de(s),null==a||a(u),y({type:"onDragOver",event:u})})},[pe]),wA(()=>{G.current={activatorEvent:R,active:O,activeNode:F,collisionRect:ce,collisions:fe,droppableRects:B,draggableNodes:E,draggingNode:J,draggingNodeRect:X,droppableContainers:M,over:he,scrollableAncestors:ne,scrollAdjustedTranslate:le},C.current={initial:X,translated:ce}},[O,F,fe,ce,E,J,X,B,M,he,ne,le]),function(e){let{acceleration:t,activator:n=eO.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=tO.TreeOrder,pointerCoordinates:u,scrollableAncestors:l,scrollableAncestorRects:c,delta:f,threshold:p}=e;const h=function(e){let{delta:t,disabled:n}=e;const r=AA(t);return SA(e=>{if(n||!r||!e)return nO;const i=Math.sign(t.x-r.x),a=Math.sign(t.y-r.y);return{x:{[CC.Backward]:e.x[CC.Backward]||-1===i,[CC.Forward]:e.x[CC.Forward]||1===i},y:{[CC.Backward]:e.y[CC.Backward]||-1===a,[CC.Forward]:e.y[CC.Forward]||1===a}}},[n,t,r])}({delta:f,disabled:!a}),[d,m]=function(){const e=fA(null),t=pA((t,n)=>{e.current=setInterval(t,n)},[]);return[t,pA(()=>{null!==e.current&&(clearInterval(e.current),e.current=null)},[])]}(),g=JA({x:0,y:0}),y=JA({x:0,y:0}),v=ZA(()=>{switch(n){case eO.Pointer:return u?{top:u.y,bottom:u.y,left:u.x,right:u.x}:null;case eO.DraggableRect:return i}},[n,i,u]),x=JA(null),b=YA(()=>{const e=x.current;if(!e)return;const t=g.current.x*y.current.x,n=g.current.y*y.current.y;e.scrollBy(t,n)},[]),w=ZA(()=>s===tO.TreeOrder?[...l].reverse():l,[s,l]);WA(()=>{if(a&&l.length&&v){for(const e of w){if(!1===(null==r?void 0:r(e)))continue;const n=l.indexOf(e),i=c[n];if(!i)continue;const{direction:a,speed:s}=_C(e,i,v,t,p);for(const e of["x","y"])h[e][a[e]]||(s[e]=0,a[e]=0);if(s.x>0||s.y>0)return m(),x.current=e,d(b,o),g.current=s,void(y.current=a)}g.current={x:0,y:0},y.current={x:0,y:0},m()}else m()},[t,b,r,m,a,o,JSON.stringify(v),JSON.stringify(h),d,l,w,c,JSON.stringify(p)])}({...$,delta:S,draggingRect:ce,pointerCoordinates:ae,scrollableAncestors:ne,scrollableAncestorRects:re});const be=ZA(()=>({active:O,activeNode:F,activeNodeRect:H,activatorEvent:R,collisions:fe,containerNodeRect:W,dragOverlay:Z,draggableNodes:E,droppableContainers:M,droppableRects:B,over:he,measureDroppableContainers:j,scrollableAncestors:ne,scrollableAncestorRects:re,measuringConfiguration:z,measuringScheduled:L,windowRect:te}),[O,F,H,R,fe,W,Z,E,M,B,he,j,ne,re,z,L,te]),we=ZA(()=>({activatorEvent:R,activators:xe,active:O,activeNodeRect:H,ariaDescribedById:{draggable:P},dispatch:g,draggableNodes:E,over:he,measureDroppableContainers:j}),[R,xe,O,H,g,P,E,he,j]);return $A.createElement(rC.Provider,{value:v},$A.createElement(wO.Provider,{value:we},$A.createElement(NO.Provider,{value:be},$A.createElement(CO.Provider,{value:me},u)),$A.createElement(MO,{disabled:!1===(null==o?void 0:o.restoreFocus)})),$A.createElement(sC,{...o,hiddenTextDescribedById:P}))}),TO=VA(null),_O="button";function RO(e){let{animation:t,children:n}=e;const[r,i]=GA(null),[a,o]=GA(null),s=AA(n);return n||r||!s||i(s),wA(()=>{if(!a)return;const e=null==r?void 0:r.key,n=null==r?void 0:r.props.id;null!=e&&null!=n?Promise.resolve(t(n,a)).then(()=>{i(null)}):i(null)},[t,r,a]),$A.createElement($A.Fragment,null,n,r?QA(r,{ref:o}):null)}const DO={x:0,y:0,scaleX:1,scaleY:1};function IO(e){let{children:t}=e;return $A.createElement(wO.Provider,{value:bO},$A.createElement(CO.Provider,{value:DO},t))}const PO={position:"fixed",touchAction:"none"},qO=e=>RA(e)?"transform 250ms ease":void 0,zO=eC((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:a,className:o,rect:s,style:u,transform:l,transition:c=qO}=e;if(!s)return null;const f=i?l:{...l,scaleX:1,scaleY:1},p={...PO,width:s.width,height:s.height,top:s.top,left:s.left,transform:IA.Transform.toString(f),transformOrigin:i&&r?fC(r,s):void 0,transition:"function"==typeof c?c(r):c,...u};return $A.createElement(n,{className:o,style:p,ref:t},a)}),BO={duration:250,easing:"ease",keyframes:e=>{let{transform:{initial:t,final:n}}=e;return[{transform:IA.Transform.toString(t)},{transform:IA.Transform.toString(n)}]},sideEffects:(jO={styles:{active:{opacity:"0"}}},e=>{let{active:t,dragOverlay:n}=e;const r={},{styles:i,className:a}=jO;if(null!=i&&i.active)for(const[e,n]of Object.entries(i.active))void 0!==n&&(r[e]=t.node.style.getPropertyValue(e),t.node.style.setProperty(e,n));if(null!=i&&i.dragOverlay)for(const[e,t]of Object.entries(i.dragOverlay))void 0!==t&&n.node.style.setProperty(e,t);return null!=a&&a.active&&t.node.classList.add(a.active),null!=a&&a.dragOverlay&&n.node.classList.add(a.dragOverlay),function(){for(const[e,n]of Object.entries(r))t.node.style.setProperty(e,n);null!=a&&a.active&&t.node.classList.remove(a.active)}})};var jO;let LO=0;function FO(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],a=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=a(n)):"call"!==i&&"optionalCall"!==i||(n=a((...e)=>n.call(t,...e)),t=void 0)}return n}function UO({id:e,disabled:t,grid:n,bounds:r,onMouseDown:i,onDragStart:a,onDragMove:o,onDragEnd:s,children:u}){const{attributes:l,listeners:c,setNodeRef:f,transform:p}=function(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const a=OA("Draggable"),{activators:o,activatorEvent:s,active:u,activeNodeRect:l,ariaDescribedById:c,draggableNodes:f,over:p}=HA(wO),{role:h=_O,roleDescription:d="draggable",tabIndex:m=0}=null!=i?i:{},g=(null==u?void 0:u.id)===t,y=HA(g?CO:TO),[v,x]=MA(),[b,w]=MA(),N=function(e,t){return ZA(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}(o,t),E=EA(n);return wA(()=>(f.set(t,{id:t,key:a,node:v,activatorNode:b,data:E}),()=>{const e=f.get(t);e&&e.key===a&&f.delete(t)}),[f,t]),{active:u,activatorEvent:s,activeNodeRect:l,attributes:ZA(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":!(!g||h!==_O)||void 0,"aria-roledescription":d,"aria-describedby":c.draggable}),[r,h,m,g,d,c.draggable]),isDragging:g,listeners:r?void 0:N,node:v,over:p,setNodeRef:x,setActivatorNodeRef:w,transform:y}}({id:e,disabled:t}),h=n&&n[0]?n[0]:null;let d=(m=FO([p,"optionalAccess",e=>e.x]),null!=m?m:0);var m;h&&(d=Math.round(d/h)*h),r&&("number"==typeof r.left&&(d=Math.max(r.left,d)),"number"==typeof r.right&&(d=Math.min(r.right,d)));const g=d,y=!!p,v=e=>{let t=e;return h&&(t=Math.round(t/h)*h),r&&("number"==typeof r.left&&(t=Math.max(r.left,t)),"number"==typeof r.right&&(t=Math.min(r.right,t))),t};return iC({onDragStart(n){n.active.id!==e||t||FO([a,"optionalCall",e=>e()])},onDragMove(n){if(n.active.id!==e||t)return;const r=n.delta.x||0;FO([o,"optionalCall",e=>e(v(r))])},onDragEnd(n){if(n.active.id!==e||t)return;const r=n.delta.x||0;FO([s,"optionalCall",e=>e(v(r))])}}),u({setNodeRef:f,attributes:l,listeners:c,translateX:g,isDragging:y,onMouseDown:e=>{e.nativeEvent.preventDefault(),FO([i,"optionalCall",t=>t(e)])}})}$A.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:a,modifiers:o,wrapperElement:s="div",className:u,zIndex:l=999}=e;const{activatorEvent:c,active:f,activeNodeRect:p,containerNodeRect:h,draggableNodes:d,droppableContainers:m,dragOverlay:g,over:y,measuringConfiguration:v,scrollableAncestors:x,scrollableAncestorRects:b,windowRect:w}=HA(NO),N=HA(CO),E=(S=null==f?void 0:f.id,ZA(()=>{if(null!=S)return LO++,LO},[S]));var S;const M=AO(o,{activatorEvent:c,active:f,activeNodeRect:p,containerNodeRect:h,draggingNodeRect:g.rect,over:y,overlayNodeRect:g.rect,scrollableAncestors:x,scrollableAncestorRects:b,transform:N,windowRect:w}),A=oO(p),C=function(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return NA((e,a)=>{if(null===t)return;const o=n.get(e);if(!o)return;const s=o.node.current;if(!s)return;const u=dO(a);if(!u)return;const{transform:l}=gA(a).getComputedStyle(a),c=yC(l);if(!c)return;const f="function"==typeof t?t:function(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...BO,...e};return e=>{let{active:a,dragOverlay:o,transform:s,...u}=e;if(!t)return;const l=o.rect.left-a.rect.left,c=o.rect.top-a.rect.top,f={scaleX:1!==s.scaleX?a.rect.width*s.scaleX/o.rect.width:1,scaleY:1!==s.scaleY?a.rect.height*s.scaleY/o.rect.height:1},p={x:s.x-l,y:s.y-c,...f},h=i({...u,active:a,dragOverlay:o,transform:{initial:s,final:p}}),[d]=h,m=h[h.length-1];if(JSON.stringify(d)===JSON.stringify(m))return;const g=null==r?void 0:r({active:a,dragOverlay:o,...u}),y=o.node.animate(h,{duration:t,easing:n,fill:"forwards"});return new Promise(e=>{y.onfinish=()=>{null==g||g(),e()}})}}(t);return IC(s,i.draggable.measure),f({active:{id:e,data:o.data,node:s,rect:i.draggable.measure(s)},draggableNodes:n,dragOverlay:{node:a,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:c})})}({config:r,draggableNodes:d,droppableContainers:m,measuringConfiguration:v}),O=A?g.setRef:void 0;return $A.createElement(IO,null,$A.createElement(RO,{animation:C},f&&E?$A.createElement(zO,{key:E,id:f.id,ref:O,as:s,activatorEvent:c,adjustScale:t,className:u,transition:a,rect:A,style:{zIndex:l,...i},transform:M},n):null))});const $O=r,VO=e,{styled:HO}=t,{color:WO}=o,GO="150ms",YO=HO("circle")(({$selected:e,$disabled:t,$correct:n,$empty:r})=>({cursor:"pointer",transition:`r ${GO} linear, \n opacity ${GO} linear, \n fill ${GO} linear,\n stroke ${GO} linear`,stroke:WO.primary(),fill:WO.primary(),"&.dnd-kit-dragging":{opacity:.25,r:"10px"},"&:hover":{stroke:WO.primaryDark()},...e&&{stroke:WO.primaryDark()},...t&&{cursor:"not-allowed",opacity:.8},...!0===n&&{cursor:"inherit",stroke:WO.correct(),fill:WO.correct()},...!1===n&&{cursor:"inherit",stroke:WO.incorrect(),fill:WO.incorrect()},...r&&{fill:"white"}}));class ZO extends $O.Component{static __initStatic(){this.defaultProps={y:0,selected:!1,empty:!1,disabled:!1,correct:void 0}}static __initStatic2(){this.propTypes={interval:VO.number.isRequired,position:VO.number.isRequired,bounds:VO.shape({left:VO.number.isRequired,right:VO.number.isRequired}),selected:VO.bool,disabled:VO.bool,correct:VO.bool,empty:VO.bool,y:VO.number,onMove:VO.func.isRequired,onClick:VO.func,onDrag:VO.func,onDragStop:VO.func,onDragStart:VO.func}}static __initStatic3(){this.contextTypes={xScale:VO.func.isRequired,snapValue:VO.func.isRequired}}render(){const{onDragStop:e,onDragStart:t,onDrag:n,onClick:r,onMove:i,interval:a,y:o,bounds:s,selected:u,position:l,disabled:c,correct:f,empty:p}=this.props,{snapValue:h,xScale:d}=this.context,m=d(a)-d(0),g=e=>{const t=e+d(0),n=d.invert(t);return h(l+n)},y=s?{left:s.left/a*m,right:s.right/a*m}:null,v=`point-${l}-${o}`;return $O.createElement(UO,{id:v,disabled:c,grid:[m],bounds:y,onMouseDown:e=>e.nativeEvent.preventDefault(),onDragStart:()=>{t&&t()},onDragMove:e=>{const t=g(e);n&&n(t)},onDragEnd:t=>{if(e&&e(),Math.abs(t)<m/10)return void(r&&r());const n=g(t);i(n)}},({setNodeRef:e,attributes:t,listeners:n,translateX:r,isDragging:i,onMouseDown:a})=>$O.createElement("g",{ref:e,onMouseDown:a,transform:`translate(${r}, 0)`,...t,...n},$O.createElement("circle",{r:"20",strokeWidth:"3",style:{fill:"transparent",pointerEvents:"visibleStroke"},cx:d(l),cy:o,stroke:u?WO.primaryDark():"none"}),$O.createElement(YO,{r:"5",strokeWidth:"3",cx:d(l),cy:o,$selected:u,$disabled:c,$correct:f,$empty:p,className:i?"dnd-kit-dragging":void 0})))}}ZO.__initStatic(),ZO.__initStatic2(),ZO.__initStatic3();const JO=e,XO=()=>({interval:JO.number.isRequired,domain:JO.shape({min:JO.number.isRequired,max:JO.number.isRequired})}),KO=r,QO=e,{styled:ek}=t,{isEqual:tk}=i,{isNumber:nk}=i,{color:rk}=o,ik="150ms",ak=ek("g")(({$disabled:e,$selected:t,$correct:n})=>({"& .line-handle":{stroke:rk.primary(),cursor:"pointer",strokeWidth:"5px",transition:`opacity ${ik} linear, \n stroke-width ${ik} linear,\n stroke ${ik} linear`},"&.dnd-kit-dragging":{opacity:.6,"& .line-handle":{opacity:1,strokeWidth:"12px"}},...e&&{cursor:"not-allowed",opacity:.8},...t&&{"& .line-handle":{stroke:rk.primaryDark()}},...!0===n&&{"& .line-handle":{cursor:"inherit",stroke:rk.correct()}},...!1===n&&{"& .line-handle":{cursor:"inherit",stroke:rk.incorrect()}}}));class ok extends KO.Component{static __initStatic(){this.propTypes={...XO(),empty:QO.shape({left:QO.bool.isRequired,right:QO.bool.isRequired}).isRequired,position:QO.shape({left:QO.number.isRequired,right:QO.number.isRequired}).isRequired,y:QO.number,selected:QO.bool,disabled:QO.bool,correct:QO.bool,onMoveLine:QO.func.isRequired,onToggleSelect:QO.func.isRequired,onDragStart:QO.func,onDragStop:QO.func}}static __initStatic2(){this.defaultProps={selected:!1,y:0,disabled:!1,correct:void 0}}static __initStatic3(){this.contextTypes={xScale:QO.func.isRequired,snapValue:QO.func.isRequired}}constructor(e){super(e),this.state={left:null,right:null}}UNSAFE_componentWillReceiveProps(e){if(e){const{position:t}=e;this.setState({left:t.left,right:t.right})}}onDrag(e,t){const{domain:n}=this.props;if(t>=n.min&&t<=n.max){const n={};n[e]=t,this.setState(n)}}onMove(e,t){const{position:n}=this.props,r={left:n.left,right:n.right};r[e]=t,this.props.onMoveLine(r)}render(){const{interval:e,empty:t,position:n,domain:r,y:i,selected:a,disabled:o,correct:s}=this.props,{xScale:u}=this.context,{onDrag:l,onMove:c}=this,f=c.bind(this,"left"),p=c.bind(this,"right"),h=l.bind(this,"left"),d=l.bind(this,"right"),m=nk(this.state.left)?this.state.left:n.left,g=nk(this.state.right)?this.state.right:n.right,y=u(e)-u(0),v=()=>{this.props.onToggleSelect()},x=()=>{this.props.onToggleSelect()},b={left:(r.min-n.left)/e*y,right:(r.max-n.right)/e*y},w={interval:e,selected:a,disabled:o,correct:s},N=`line-${n.left}-${n.right}-${i}`;return KO.createElement(UO,{id:N,disabled:o,grid:[y],bounds:b,onMouseDown:e=>e.nativeEvent.preventDefault(),onDragEnd:e=>{if(Math.abs(e)<y/10)return void this.props.onToggleSelect();const t=u.invert(e+u(0)),r={left:n.left+t,right:n.right+t};tk(r,this.props.position)||this.props.onMoveLine(r)}},({setNodeRef:e,attributes:l,listeners:c,translateX:y,isDragging:b,onMouseDown:N})=>KO.createElement(ak,{ref:e,$disabled:o,$selected:a,$correct:s,className:b?"dnd-kit-dragging":void 0,onMouseDown:N,...l},KO.createElement("g",{transform:`translate(${y}, ${i})`},KO.createElement("rect",{x:u(m),width:Math.abs(u(g)-u(m)),fill:"red",fillOpacity:"0.0",y:"-8",height:16,onClick:x}),KO.createElement("line",{className:"line-handle",x1:u(m),x2:u(g),onClick:v,...c}),KO.createElement(ZO,{...w,empty:t.left,bounds:{left:r.min-n.left,right:r.max-n.left},position:n.left,onDrag:h,onMove:f,onClick:x}),KO.createElement(ZO,{...w,empty:t.right,bounds:{left:r.min-n.right,right:r.max-n.right},position:n.right,onDrag:d,onMove:p,onClick:x}))))}}ok.__initStatic(),ok.__initStatic2(),ok.__initStatic3();const{color:sk}=o,uk=sk.primaryDark(),lk=sk.correct(),ck=sk.incorrect(),fk=r,pk=e,{styled:hk}=t,{color:dk}=o,mk=hk("path")({fill:dk.primary()});function gk({x:e,y:t,direction:n,className:r}){let i=`translate(${e||0},${t})`;return n&&"right"===n&&(i+=" rotate(180)"),fk.createElement(mk,{d:"m 0,0 8,-5 0,10 -8,-5",transform:i,className:r})}gk.propTypes={y:pk.number,x:pk.number,direction:pk.oneOf(["left","right"]),className:pk.string},gk.defaultProps={y:0,x:0,direction:"left"};const{color:yk}=o,vk=r,xk=e,{styled:bk}=t,{isNumber:wk}=i,Nk=bk("g")(({$selected:e,$correct:t})=>({"& line":{cursor:"pointer",strokeWidth:"5px",stroke:yk.primary()},"& line, & .arrow":{transition:"stroke 150ms linear, fill 150ms linear"},...e&&{"& line":{stroke:uk},"& .arrow":{fill:uk,strokeWidth:"1px",stroke:uk}},...!0===t&&{"& line":{stroke:lk},"& .arrow":{fill:lk,strokeWidth:"1px",stroke:lk}},...!1===t&&{"& line":{stroke:ck},"& .arrow":{fill:ck,strokeWidth:"1px",stroke:ck}}})),Ek=bk(gk)(({$correct:e,$selected:t})=>({fill:yk.primary(),...!0===e&&{fill:lk,"--arrow-color":lk},...!1===e&&{fill:ck,"--arrow-color":ck},...t&&{fill:uk,"--arrow-color":uk}}));class Sk extends vk.Component{static __initStatic(){this.propTypes={...XO(),width:xk.number.isRequired,selected:xk.bool,disabled:xk.bool,empty:xk.bool,direction:xk.oneOf(["positive","negative"]),y:xk.number,position:xk.number.isRequired,onMove:xk.func.isRequired,onToggleSelect:xk.func.isRequired}}static __initStatic2(){this.defaultProps={selected:!1,direction:"positive",y:0,disabled:!1}}static __initStatic3(){this.contextTypes={xScale:xk.func.isRequired,snapValue:xk.func.isRequired}}constructor(e){super(e),this.state={dragPosition:null}}drag(e){const{domain:t}=this.props;e>=t.min&&e<=t.max&&this.setState({dragPosition:e})}stopDrag(){this.setState({dragPosition:null})}render(){const{interval:e,empty:t,position:n,direction:r,domain:i,y:a,selected:o,disabled:s,width:u,correct:l}=this.props,{xScale:c}=this.context,f=this.drag.bind(this),p=this.stopDrag.bind(this),h=wk(this.state.dragPosition)?this.state.dragPosition:n,d="positive"===r,m=d?h:i.min,g=d?i.max:h,y=d?c(m):8,v=d?u-8:c(g),x=d?u:0,b=d?"right":"left";return vk.createElement(Nk,{$selected:o,$correct:l,transform:`translate(0, ${a})`},vk.createElement("line",{onClick:s?()=>{}:this.props.onToggleSelect,className:"line-handle",x1:y,x2:v}),vk.createElement(ZO,{disabled:s,correct:l,selected:o,empty:t,interval:e,bounds:{left:i.min-n,right:i.max-n},position:n,onDrag:f,onDragStop:p,onMove:this.props.onMove,onClick:this.props.onToggleSelect}),vk.createElement(Ek,{x:x,$correct:l,$selected:o,direction:b}))}}function Mk(){return Mk=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Mk.apply(null,arguments)}function Ak(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}Sk.__initStatic(),Sk.__initStatic2(),Sk.__initStatic3();var Ck={exports:{}},Ok={},kk="function"==typeof Symbol&&Symbol.for,Tk=kk?Symbol.for("react.element"):60103,_k=kk?Symbol.for("react.portal"):60106,Rk=kk?Symbol.for("react.fragment"):60107,Dk=kk?Symbol.for("react.strict_mode"):60108,Ik=kk?Symbol.for("react.profiler"):60114,Pk=kk?Symbol.for("react.provider"):60109,qk=kk?Symbol.for("react.context"):60110,zk=kk?Symbol.for("react.async_mode"):60111,Bk=kk?Symbol.for("react.concurrent_mode"):60111,jk=kk?Symbol.for("react.forward_ref"):60112,Lk=kk?Symbol.for("react.suspense"):60113,Fk=kk?Symbol.for("react.suspense_list"):60120,Uk=kk?Symbol.for("react.memo"):60115,$k=kk?Symbol.for("react.lazy"):60116,Vk=kk?Symbol.for("react.block"):60121,Hk=kk?Symbol.for("react.fundamental"):60117,Wk=kk?Symbol.for("react.responder"):60118,Gk=kk?Symbol.for("react.scope"):60119;function Yk(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case Tk:switch(e=e.type){case zk:case Bk:case Rk:case Ik:case Dk:case Lk:return e;default:switch(e=e&&e.$$typeof){case qk:case jk:case $k:case Uk:case Pk:return e;default:return t}}case _k:return t}}}function Zk(e){return Yk(e)===Bk}Ok.AsyncMode=zk,Ok.ConcurrentMode=Bk,Ok.ContextConsumer=qk,Ok.ContextProvider=Pk,Ok.Element=Tk,Ok.ForwardRef=jk,Ok.Fragment=Rk,Ok.Lazy=$k,Ok.Memo=Uk,Ok.Portal=_k,Ok.Profiler=Ik,Ok.StrictMode=Dk,Ok.Suspense=Lk,Ok.isAsyncMode=function(e){return Zk(e)||Yk(e)===zk},Ok.isConcurrentMode=Zk,Ok.isContextConsumer=function(e){return Yk(e)===qk},Ok.isContextProvider=function(e){return Yk(e)===Pk},Ok.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===Tk},Ok.isForwardRef=function(e){return Yk(e)===jk},Ok.isFragment=function(e){return Yk(e)===Rk},Ok.isLazy=function(e){return Yk(e)===$k},Ok.isMemo=function(e){return Yk(e)===Uk},Ok.isPortal=function(e){return Yk(e)===_k},Ok.isProfiler=function(e){return Yk(e)===Ik},Ok.isStrictMode=function(e){return Yk(e)===Dk},Ok.isSuspense=function(e){return Yk(e)===Lk},Ok.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===Rk||e===Bk||e===Ik||e===Dk||e===Lk||e===Fk||"object"==typeof e&&null!==e&&(e.$$typeof===$k||e.$$typeof===Uk||e.$$typeof===Pk||e.$$typeof===qk||e.$$typeof===jk||e.$$typeof===Hk||e.$$typeof===Wk||e.$$typeof===Gk||e.$$typeof===Vk)},Ok.typeOf=Yk,Ck.exports=Ok;var Jk=Ck.exports,Xk={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Kk={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Qk={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},eT={};function tT(e){return Jk.isMemo(e)?Qk:eT[e.$$typeof]||Xk}eT[Jk.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},eT[Jk.Memo]=Qk;var nT=Object.defineProperty,rT=Object.getOwnPropertyNames,iT=Object.getOwnPropertySymbols,aT=Object.getOwnPropertyDescriptor,oT=Object.getPrototypeOf,sT=Object.prototype,uT=function e(t,n,r){if("string"!=typeof n){if(sT){var i=oT(n);i&&i!==sT&&e(t,i,r)}var a=rT(n);iT&&(a=a.concat(iT(n)));for(var o=tT(t),s=tT(n),u=0;u<a.length;++u){var l=a[u];if(!(Kk[l]||r&&r[l]||s&&s[l]||o&&o[l])){var c=aT(n,l);try{nT(t,l,c)}catch(e){}}}}return t},lT={};Object.defineProperty(lT,"__esModule",{value:!0}),lT.default=function(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")};const cT=r,{createContext:fT}=r;function pT(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hT(){return hT=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hT.apply(this,arguments)}function dT(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var mT=fT();(function(e){var t=function(t){var n,r;function i(){for(var n,r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return pT(dT(dT(n=t.call.apply(t,[this].concat(i))||this)),"cachedTheme",void 0),pT(dT(dT(n)),"lastOuterTheme",void 0),pT(dT(dT(n)),"lastTheme",void 0),pT(dT(dT(n)),"renderProvider",function(t){var r=n.props.children;return cT.createElement(e.Provider,{value:n.getTheme(t)},r)}),n}r=t,(n=i).prototype=Object.create(r.prototype),n.prototype.constructor=n,n.__proto__=r;var a=i.prototype;return a.getTheme=function(e){if(this.props.theme!==this.lastTheme||e!==this.lastOuterTheme||!this.cachedTheme)if(this.lastOuterTheme=e,this.lastTheme=this.props.theme,"function"==typeof this.lastTheme){var t=this.props.theme;this.cachedTheme=t(e)}else{var n=this.props.theme;this.cachedTheme=e?hT({},e,n):n}return this.cachedTheme},a.render=function(){return this.props.children?cT.createElement(e.Consumer,null,this.renderProvider):null},i}(cT.Component)})(mT);var gT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},yT="object"===("undefined"==typeof window?"undefined":gT(window))&&"object"===("undefined"==typeof document?"undefined":gT(document))&&9===document.nodeType;function vT(e){return vT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vT(e)}function xT(e){var t=function(e){if("object"!=vT(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=vT(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==vT(t)?t:t+""}function bT(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,xT(r.key),r)}}function wT(e,t,n){return t&&bT(e.prototype,t),n&&bT(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function NT(e,t){return NT=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},NT(e,t)}function ET(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,NT(e,t)}function ST(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var MT={}.constructor;function AT(e){if(null==e||"object"!=typeof e)return e;if(Array.isArray(e))return e.map(AT);if(e.constructor!==MT)return e;var t={};for(var n in e)t[n]=AT(e[n]);return t}function CT(e,t,n){void 0===e&&(e="unnamed");var r=n.jss,i=AT(t);return r.plugins.onCreateRule(e,i,n)||(e[0],null)}var OT=function(e,t){for(var n="",r=0;r<e.length&&"!important"!==e[r];r++)n&&(n+=t),n+=e[r];return n},kT=function(e){if(!Array.isArray(e))return e;var t="";if(Array.isArray(e[0]))for(var n=0;n<e.length&&"!important"!==e[n];n++)t&&(t+=", "),t+=OT(e[n]," ");else t=OT(e,", ");return"!important"===e[e.length-1]&&(t+=" !important"),t};function TT(e){return e&&!1===e.format?{linebreak:"",space:""}:{linebreak:"\n",space:" "}}function _T(e,t){for(var n="",r=0;r<t;r++)n+=" ";return n+e}function RT(e,t,n){void 0===n&&(n={});var r="";if(!t)return r;var i=n.indent,a=void 0===i?0:i,o=t.fallbacks;!1===n.format&&(a=-1/0);var s=TT(n),u=s.linebreak,l=s.space;if(e&&a++,o)if(Array.isArray(o))for(var c=0;c<o.length;c++){var f=o[c];for(var p in f){var h=f[p];null!=h&&(r&&(r+=u),r+=_T(p+":"+l+kT(h)+";",a))}}else for(var d in o){var m=o[d];null!=m&&(r&&(r+=u),r+=_T(d+":"+l+kT(m)+";",a))}for(var g in t){var y=t[g];null!=y&&"fallbacks"!==g&&(r&&(r+=u),r+=_T(g+":"+l+kT(y)+";",a))}return(r||n.allowEmpty)&&e?(r&&(r=""+u+r+u),_T(""+e+l+"{"+r,--a)+_T("}",a)):r}var DT=/([[\].#*$><+~=|^:(),"'`\s])/g,IT="undefined"!=typeof CSS&&CSS.escape,PT=function(e){return IT?IT(e):e.replace(DT,"\\$1")},qT=function(){function e(e,t,n){this.type="style",this.isProcessed=!1;var r=n.sheet,i=n.Renderer;this.key=e,this.options=n,this.style=t,r?this.renderer=r.renderer:i&&(this.renderer=new i)}return e.prototype.prop=function(e,t,n){if(void 0===t)return this.style[e];var r=!!n&&n.force;if(!r&&this.style[e]===t)return this;var i=t;n&&!1===n.process||(i=this.options.jss.plugins.onChangeValue(t,e,this));var a=null==i||!1===i,o=e in this.style;if(a&&!o&&!r)return this;var s=a&&o;if(s?delete this.style[e]:this.style[e]=i,this.renderable&&this.renderer)return s?this.renderer.removeProperty(this.renderable,e):this.renderer.setProperty(this.renderable,e,i),this;var u=this.options.sheet;return u&&u.attached,this},e}(),zT=function(e){function t(t,n,r){var i;i=e.call(this,t,n,r)||this;var a=r.selector,o=r.scoped,s=r.sheet,u=r.generateId;return a?i.selectorText=a:!1!==o&&(i.id=u(ST(ST(i)),s),i.selectorText="."+PT(i.id)),i}ET(t,e);var n=t.prototype;return n.applyTo=function(e){var t=this.renderer;if(t){var n=this.toJSON();for(var r in n)t.setProperty(e,r,n[r])}return this},n.toJSON=function(){var e={};for(var t in this.style){var n=this.style[t];"object"!=typeof n?e[t]=n:Array.isArray(n)&&(e[t]=kT(n))}return e},n.toString=function(e){var t=this.options.sheet,n=t&&t.options.link?Mk({},e,{allowEmpty:!0}):e;return RT(this.selectorText,this.style,n)},wT(t,[{key:"selector",set:function(e){if(e!==this.selectorText){this.selectorText=e;var t=this.renderer,n=this.renderable;n&&t&&(t.setSelector(n,e)||t.replaceRule(n,this))}},get:function(){return this.selectorText}}]),t}(qT),BT={onCreateRule:function(e,t,n){return"@"===e[0]||n.parent&&"keyframes"===n.parent.type?null:new zT(e,t,n)}},jT={indent:1,children:!0},LT=/@([\w-]+)/,FT=function(){function e(e,t,n){this.type="conditional",this.isProcessed=!1,this.key=e;var r=e.match(LT);for(var i in this.at=r?r[1]:"unknown",this.query=n.name||"@"+this.at,this.options=n,this.rules=new f_(Mk({},n,{parent:this})),t)this.rules.add(i,t[i]);this.rules.process()}var t=e.prototype;return t.getRule=function(e){return this.rules.get(e)},t.indexOf=function(e){return this.rules.indexOf(e)},t.addRule=function(e,t,n){var r=this.rules.add(e,t,n);return r?(this.options.jss.plugins.onProcessRule(r),r):null},t.replaceRule=function(e,t,n){var r=this.rules.replace(e,t,n);return r&&this.options.jss.plugins.onProcessRule(r),r},t.toString=function(e){void 0===e&&(e=jT);var t=TT(e).linebreak;if(null==e.indent&&(e.indent=jT.indent),null==e.children&&(e.children=jT.children),!1===e.children)return this.query+" {}";var n=this.rules.toString(e);return n?this.query+" {"+t+n+t+"}":""},e}(),UT=/@container|@media|@supports\s+/,$T={onCreateRule:function(e,t,n){return UT.test(e)?new FT(e,t,n):null}},VT={indent:1,children:!0},HT=/@keyframes\s+([\w-]+)/,WT=function(){function e(e,t,n){this.type="keyframes",this.at="@keyframes",this.isProcessed=!1;var r=e.match(HT);r&&r[1]?this.name=r[1]:this.name="noname",this.key=this.type+"-"+this.name,this.options=n;var i=n.scoped,a=n.sheet,o=n.generateId;for(var s in this.id=!1===i?this.name:PT(o(this,a)),this.rules=new f_(Mk({},n,{parent:this})),t)this.rules.add(s,t[s],Mk({},n,{parent:this}));this.rules.process()}return e.prototype.toString=function(e){void 0===e&&(e=VT);var t=TT(e).linebreak;if(null==e.indent&&(e.indent=VT.indent),null==e.children&&(e.children=VT.children),!1===e.children)return this.at+" "+this.id+" {}";var n=this.rules.toString(e);return n&&(n=""+t+n+t),this.at+" "+this.id+" {"+n+"}"},e}(),GT=/@keyframes\s+/,YT=/\$([\w-]+)/g,ZT=function(e,t){return"string"==typeof e?e.replace(YT,function(e,n){return n in t?t[n]:e}):e},JT=function(e,t,n){var r=e[t],i=ZT(r,n);i!==r&&(e[t]=i)},XT={onCreateRule:function(e,t,n){return"string"==typeof e&&GT.test(e)?new WT(e,t,n):null},onProcessStyle:function(e,t,n){return"style"===t.type&&n?("animation-name"in e&&JT(e,"animation-name",n.keyframes),"animation"in e&&JT(e,"animation",n.keyframes),e):e},onChangeValue:function(e,t,n){var r=n.options.sheet;if(!r)return e;switch(t){case"animation":case"animation-name":return ZT(e,r.keyframes);default:return e}}},KT=function(e){function t(){return e.apply(this,arguments)||this}return ET(t,e),t.prototype.toString=function(e){var t=this.options.sheet,n=t&&t.options.link?Mk({},e,{allowEmpty:!0}):e;return RT(this.key,this.style,n)},t}(qT),QT={onCreateRule:function(e,t,n){return n.parent&&"keyframes"===n.parent.type?new KT(e,t,n):null}},e_=function(){function e(e,t,n){this.type="font-face",this.at="@font-face",this.isProcessed=!1,this.key=e,this.style=t,this.options=n}return e.prototype.toString=function(e){var t=TT(e).linebreak;if(Array.isArray(this.style)){for(var n="",r=0;r<this.style.length;r++)n+=RT(this.at,this.style[r]),this.style[r+1]&&(n+=t);return n}return RT(this.at,this.style,e)},e}(),t_=/@font-face/,n_={onCreateRule:function(e,t,n){return t_.test(e)?new e_(e,t,n):null}},r_=function(){function e(e,t,n){this.type="viewport",this.at="@viewport",this.isProcessed=!1,this.key=e,this.style=t,this.options=n}return e.prototype.toString=function(e){return RT(this.key,this.style,e)},e}(),i_={onCreateRule:function(e,t,n){return"@viewport"===e||"@-ms-viewport"===e?new r_(e,t,n):null}},a_=function(){function e(e,t,n){this.type="simple",this.isProcessed=!1,this.key=e,this.value=t,this.options=n}return e.prototype.toString=function(e){if(Array.isArray(this.value)){for(var t="",n=0;n<this.value.length;n++)t+=this.key+" "+this.value[n]+";",this.value[n+1]&&(t+="\n");return t}return this.key+" "+this.value+";"},e}(),o_={"@charset":!0,"@import":!0,"@namespace":!0},s_={onCreateRule:function(e,t,n){return e in o_?new a_(e,t,n):null}},u_=[BT,$T,XT,QT,n_,i_,s_],l_={process:!0},c_={force:!0,process:!0},f_=function(){function e(e){this.map={},this.raw={},this.index=[],this.counter=0,this.options=e,this.classes=e.classes,this.keyframes=e.keyframes}var t=e.prototype;return t.add=function(e,t,n){var r=this.options,i=r.parent,a=r.sheet,o=r.jss,s=r.Renderer,u=r.generateId,l=r.scoped,c=Mk({classes:this.classes,parent:i,sheet:a,jss:o,Renderer:s,generateId:u,scoped:l,name:e,keyframes:this.keyframes,selector:void 0},n),f=e;e in this.raw&&(f=e+"-d"+this.counter++),this.raw[f]=t,f in this.classes&&(c.selector="."+PT(this.classes[f]));var p=CT(f,t,c);if(!p)return null;this.register(p);var h=void 0===c.index?this.index.length:c.index;return this.index.splice(h,0,p),p},t.replace=function(e,t,n){var r=this.get(e),i=this.index.indexOf(r);r&&this.remove(r);var a=n;return-1!==i&&(a=Mk({},n,{index:i})),this.add(e,t,a)},t.get=function(e){return this.map[e]},t.remove=function(e){this.unregister(e),delete this.raw[e.key],this.index.splice(this.index.indexOf(e),1)},t.indexOf=function(e){return this.index.indexOf(e)},t.process=function(){var e=this.options.jss.plugins;this.index.slice(0).forEach(e.onProcessRule,e)},t.register=function(e){this.map[e.key]=e,e instanceof zT?(this.map[e.selector]=e,e.id&&(this.classes[e.key]=e.id)):e instanceof WT&&this.keyframes&&(this.keyframes[e.name]=e.id)},t.unregister=function(e){delete this.map[e.key],e instanceof zT?(delete this.map[e.selector],delete this.classes[e.key]):e instanceof WT&&delete this.keyframes[e.name]},t.update=function(){var e,t,n;if("string"==typeof(arguments.length<=0?void 0:arguments[0])?(e=arguments.length<=0?void 0:arguments[0],t=arguments.length<=1?void 0:arguments[1],n=arguments.length<=2?void 0:arguments[2]):(t=arguments.length<=0?void 0:arguments[0],n=arguments.length<=1?void 0:arguments[1],e=null),e)this.updateOne(this.get(e),t,n);else for(var r=0;r<this.index.length;r++)this.updateOne(this.index[r],t,n)},t.updateOne=function(t,n,r){void 0===r&&(r=l_);var i=this.options,a=i.jss.plugins,o=i.sheet;if(t.rules instanceof e)t.rules.update(n,r);else{var s=t.style;if(a.onUpdate(n,t,o,r),r.process&&s&&s!==t.style){for(var u in a.onProcessStyle(t.style,t,o),t.style){var l=t.style[u];l!==s[u]&&t.prop(u,l,c_)}for(var c in s){var f=t.style[c],p=s[c];null==f&&f!==p&&t.prop(c,null,c_)}}}},t.toString=function(e){for(var t="",n=this.options.sheet,r=!!n&&n.options.link,i=TT(e).linebreak,a=0;a<this.index.length;a++){var o=this.index[a].toString(e);(o||r)&&(t&&(t+=i),t+=o)}return t},e}(),p_=function(){function e(e,t){for(var n in this.attached=!1,this.deployed=!1,this.classes={},this.keyframes={},this.options=Mk({},t,{sheet:this,parent:this,classes:this.classes,keyframes:this.keyframes}),t.Renderer&&(this.renderer=new t.Renderer(this)),this.rules=new f_(this.options),e)this.rules.add(n,e[n]);this.rules.process()}var t=e.prototype;return t.attach=function(){return this.attached||(this.renderer&&this.renderer.attach(),this.attached=!0,this.deployed||this.deploy()),this},t.detach=function(){return this.attached?(this.renderer&&this.renderer.detach(),this.attached=!1,this):this},t.addRule=function(e,t,n){var r=this.queue;this.attached&&!r&&(this.queue=[]);var i=this.rules.add(e,t,n);return i?(this.options.jss.plugins.onProcessRule(i),this.attached?this.deployed?(r?r.push(i):(this.insertRule(i),this.queue&&(this.queue.forEach(this.insertRule,this),this.queue=void 0)),i):i:(this.deployed=!1,i)):null},t.replaceRule=function(e,t,n){var r=this.rules.get(e);if(!r)return this.addRule(e,t,n);var i=this.rules.replace(e,t,n);return i&&this.options.jss.plugins.onProcessRule(i),this.attached?this.deployed?(this.renderer&&(i?r.renderable&&this.renderer.replaceRule(r.renderable,i):this.renderer.deleteRule(r)),i):i:(this.deployed=!1,i)},t.insertRule=function(e){this.renderer&&this.renderer.insertRule(e)},t.addRules=function(e,t){var n=[];for(var r in e){var i=this.addRule(r,e[r],t);i&&n.push(i)}return n},t.getRule=function(e){return this.rules.get(e)},t.deleteRule=function(e){var t="object"==typeof e?e:this.rules.get(e);return!(!t||this.attached&&!t.renderable)&&(this.rules.remove(t),!(this.attached&&t.renderable&&this.renderer)||this.renderer.deleteRule(t.renderable))},t.indexOf=function(e){return this.rules.indexOf(e)},t.deploy=function(){return this.renderer&&this.renderer.deploy(),this.deployed=!0,this},t.update=function(){var e;return(e=this.rules).update.apply(e,arguments),this},t.updateOne=function(e,t,n){return this.rules.updateOne(e,t,n),this},t.toString=function(e){return this.rules.toString(e)},e}(),h_=function(){function e(){this.plugins={internal:[],external:[]},this.registry={}}var t=e.prototype;return t.onCreateRule=function(e,t,n){for(var r=0;r<this.registry.onCreateRule.length;r++){var i=this.registry.onCreateRule[r](e,t,n);if(i)return i}return null},t.onProcessRule=function(e){if(!e.isProcessed){for(var t=e.options.sheet,n=0;n<this.registry.onProcessRule.length;n++)this.registry.onProcessRule[n](e,t);e.style&&this.onProcessStyle(e.style,e,t),e.isProcessed=!0}},t.onProcessStyle=function(e,t,n){for(var r=0;r<this.registry.onProcessStyle.length;r++)t.style=this.registry.onProcessStyle[r](t.style,t,n)},t.onProcessSheet=function(e){for(var t=0;t<this.registry.onProcessSheet.length;t++)this.registry.onProcessSheet[t](e)},t.onUpdate=function(e,t,n,r){for(var i=0;i<this.registry.onUpdate.length;i++)this.registry.onUpdate[i](e,t,n,r)},t.onChangeValue=function(e,t,n){for(var r=e,i=0;i<this.registry.onChangeValue.length;i++)r=this.registry.onChangeValue[i](r,t,n);return r},t.use=function(e,t){void 0===t&&(t={queue:"external"});var n=this.plugins[t.queue];-1===n.indexOf(e)&&(n.push(e),this.registry=[].concat(this.plugins.external,this.plugins.internal).reduce(function(e,t){for(var n in t)n in e&&e[n].push(t[n]);return e},{onCreateRule:[],onProcessRule:[],onProcessStyle:[],onProcessSheet:[],onChangeValue:[],onUpdate:[]}))},e}(),d_=function(){function e(){this.registry=[]}var t=e.prototype;return t.add=function(e){var t=this.registry,n=e.options.index;if(-1===t.indexOf(e))if(0===t.length||n>=this.index)t.push(e);else for(var r=0;r<t.length;r++)if(t[r].options.index>n)return void t.splice(r,0,e)},t.reset=function(){this.registry=[]},t.remove=function(e){var t=this.registry.indexOf(e);this.registry.splice(t,1)},t.toString=function(e){for(var t=void 0===e?{}:e,n=t.attached,r=Ak(t,["attached"]),i=TT(r).linebreak,a="",o=0;o<this.registry.length;o++){var s=this.registry[o];null!=n&&s.attached!==n||(a&&(a+=i),a+=s.toString(r))}return a},wT(e,[{key:"index",get:function(){return 0===this.registry.length?0:this.registry[this.registry.length-1].options.index}}]),e}(),m_=new d_,g_="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window&&window.Math===Math?window:"undefined"!=typeof self&&self.Math===Math?self:Function("return this")(),y_="2f1acc6c3a606b082e5eef5e54414ffb";null==g_[y_]&&(g_[y_]=0);var v_=g_[y_]++,x_=function(e){void 0===e&&(e={});var t=0;return function(n,r){t+=1;var i="",a="";return r&&(r.options.classNamePrefix&&(a=r.options.classNamePrefix),null!=r.options.jss.id&&(i=String(r.options.jss.id))),e.minify?""+(a||"c")+v_+i+t:a+n.key+"-"+v_+(i?"-"+i:"")+"-"+t}},b_=function(e){var t;return function(){return t||(t=e()),t}},w_=function(e,t){try{return e.attributeStyleMap?e.attributeStyleMap.get(t):e.style.getPropertyValue(t)}catch(e){return""}},N_=function(e,t,n){try{var r=n;if(Array.isArray(n)&&(r=kT(n)),e.attributeStyleMap)e.attributeStyleMap.set(t,r);else{var i=r?r.indexOf("!important"):-1,a=i>-1?r.substr(0,i-1):r;e.style.setProperty(t,a,i>-1?"important":"")}}catch(e){return!1}return!0},E_=function(e,t){try{e.attributeStyleMap?e.attributeStyleMap.delete(t):e.style.removeProperty(t)}catch(e){}},S_=function(e,t){return e.selectorText=t,e.selectorText===t},M_=b_(function(){return document.querySelector("head")});var A_=b_(function(){var e=document.querySelector('meta[property="csp-nonce"]');return e?e.getAttribute("content"):null}),C_=function(e,t,n){try{"insertRule"in e?e.insertRule(t,n):"appendRule"in e&&e.appendRule(t)}catch(e){return!1}return e.cssRules[n]},O_=function(e,t){var n=e.cssRules.length;return void 0===t||t>n?n:t},k_=function(){function e(e){this.getPropertyValue=w_,this.setProperty=N_,this.removeProperty=E_,this.setSelector=S_,this.hasInsertedRules=!1,this.cssRules=[],e&&m_.add(e),this.sheet=e;var t=this.sheet?this.sheet.options:{},n=t.media,r=t.meta,i=t.element;this.element=i||function(){var e=document.createElement("style");return e.textContent="\n",e}(),this.element.setAttribute("data-jss",""),n&&this.element.setAttribute("media",n),r&&this.element.setAttribute("data-meta",r);var a=A_();a&&this.element.setAttribute("nonce",a)}var t=e.prototype;return t.attach=function(){if(!this.element.parentNode&&this.sheet){!function(e,t){var n=t.insertionPoint,r=function(e){var t=m_.registry;if(t.length>0){var n=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(r.attached&&r.options.index>t.index&&r.options.insertionPoint===t.insertionPoint)return r}return null}(t,e);if(n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element};if(n=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.attached&&r.options.insertionPoint===t.insertionPoint)return r}return null}(t,e),n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element.nextSibling}}var r=e.insertionPoint;if(r&&"string"==typeof r){var i=function(e){for(var t=M_(),n=0;n<t.childNodes.length;n++){var r=t.childNodes[n];if(8===r.nodeType&&r.nodeValue.trim()===e)return r}return null}(r);if(i)return{parent:i.parentNode,node:i.nextSibling}}return!1}(t);if(!1!==r&&r.parent)r.parent.insertBefore(e,r.node);else if(n&&"number"==typeof n.nodeType){var i=n,a=i.parentNode;a&&a.insertBefore(e,i.nextSibling)}else M_().appendChild(e)}(this.element,this.sheet.options);var e=Boolean(this.sheet&&this.sheet.deployed);this.hasInsertedRules&&e&&(this.hasInsertedRules=!1,this.deploy())}},t.detach=function(){if(this.sheet){var e=this.element.parentNode;e&&e.removeChild(this.element),this.sheet.options.link&&(this.cssRules=[],this.element.textContent="\n")}},t.deploy=function(){var e=this.sheet;e&&(e.options.link?this.insertRules(e.rules):this.element.textContent="\n"+e.toString()+"\n")},t.insertRules=function(e,t){for(var n=0;n<e.index.length;n++)this.insertRule(e.index[n],n,t)},t.insertRule=function(e,t,n){if(void 0===n&&(n=this.element.sheet),e.rules){var r=e,i=n;if("conditional"===e.type||"keyframes"===e.type){var a=O_(n,t);if(!1===(i=C_(n,r.toString({children:!1}),a)))return!1;this.refCssRule(e,a,i)}return this.insertRules(r.rules,i),i}var o=e.toString();if(!o)return!1;var s=O_(n,t),u=C_(n,o,s);return!1!==u&&(this.hasInsertedRules=!0,this.refCssRule(e,s,u),u)},t.refCssRule=function(e,t,n){e.renderable=n,e.options.parent instanceof p_&&this.cssRules.splice(t,0,n)},t.deleteRule=function(e){var t=this.element.sheet,n=this.indexOf(e);return-1!==n&&(t.deleteRule(n),this.cssRules.splice(n,1),!0)},t.indexOf=function(e){return this.cssRules.indexOf(e)},t.replaceRule=function(e,t){var n=this.indexOf(e);return-1!==n&&(this.element.sheet.deleteRule(n),this.cssRules.splice(n,1),this.insertRule(t,n))},t.getRules=function(){return this.element.sheet.cssRules},e}(),T_=0,__=function(){function e(e){this.id=T_++,this.version="10.10.0",this.plugins=new h_,this.options={id:{minify:!1},createGenerateId:x_,Renderer:yT?k_:null,plugins:[]},this.generateId=x_({minify:!1});for(var t=0;t<u_.length;t++)this.plugins.use(u_[t],{queue:"internal"});this.setup(e)}var t=e.prototype;return t.setup=function(e){return void 0===e&&(e={}),e.createGenerateId&&(this.options.createGenerateId=e.createGenerateId),e.id&&(this.options.id=Mk({},this.options.id,e.id)),(e.createGenerateId||e.id)&&(this.generateId=this.options.createGenerateId(this.options.id)),null!=e.insertionPoint&&(this.options.insertionPoint=e.insertionPoint),"Renderer"in e&&(this.options.Renderer=e.Renderer),e.plugins&&this.use.apply(this,e.plugins),this},t.createStyleSheet=function(e,t){void 0===t&&(t={});var n=t.index;"number"!=typeof n&&(n=0===m_.index?0:m_.index+1);var r=new p_(e,Mk({},t,{jss:this,generateId:t.generateId||this.generateId,insertionPoint:this.options.insertionPoint,Renderer:this.options.Renderer,index:n}));return this.plugins.onProcessSheet(r),r},t.removeStyleSheet=function(e){return e.detach(),m_.remove(e),this},t.createRule=function(e,t,n){if(void 0===t&&(t={}),void 0===n&&(n={}),"object"==typeof e)return this.createRule(void 0,e,t);var r=Mk({},n,{name:e,jss:this,Renderer:this.options.Renderer});r.generateId||(r.generateId=this.generateId),r.classes||(r.classes={}),r.keyframes||(r.keyframes={});var i=CT(e,t,r);return i&&this.plugins.onProcessRule(i),i},t.use=function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return n.forEach(function(t){e.plugins.use(t)}),this},e}(),R_=function(e){return new __(e)},D_=function(){function e(){this.length=0,this.sheets=new WeakMap}var t=e.prototype;return t.get=function(e){var t=this.sheets.get(e);return t&&t.sheet},t.add=function(e,t){this.sheets.has(e)||(this.length++,this.sheets.set(e,{sheet:t,refs:0}))},t.manage=function(e){var t=this.sheets.get(e);if(t)return 0===t.refs&&t.sheet.attach(),t.refs++,t.sheet},t.unmanage=function(e){var t=this.sheets.get(e);t&&t.refs>0&&(t.refs--,0===t.refs&&t.sheet.detach())},wT(e,[{key:"size",get:function(){return this.length}}]),e}(),I_="object"==typeof CSS&&null!=CSS&&"number"in CSS;function P_(e){var t=null;for(var n in e){var r=e[n],i=typeof r;if("function"===i)t||(t={}),t[n]=r;else if("object"===i&&null!==r&&!Array.isArray(r)){var a=P_(r);a&&(t||(t={}),t[n]=a)}}return t}R_();var q_=Date.now(),z_="fnValues"+q_,B_="fnStyle"+ ++q_,j_=function(){var e,t=("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof module?module:Function("return this")()).Symbol;return"function"==typeof t?t.observable?e=t.observable:(e=t("observable"),t.observable=e):e="@@observable",e}(),L_=function(e){return e&&e[j_]&&e===e[j_]()},F_=function(e){return{onCreateRule:function(t,n,r){if(!L_(n))return null;var i=n,a=CT(t,{},r);return i.subscribe(function(t){for(var n in t)a.prop(n,t[n],e)}),a},onProcessRule:function(t){if(!t||"style"===t.type){var n=t,r=n.style,i=function(t){var i=r[t];if(!L_(i))return"continue";delete r[t],i.subscribe({next:function(r){n.prop(t,r,e)}})};for(var a in r)i(a)}}}},U_=/;\n/,$_=function(e){"string"==typeof e.style&&(e.style=function(e){for(var t={},n=e.split(U_),r=0;r<n.length;r++){var i=(n[r]||"").trim();if(i){var a=i.indexOf(":");if(-1!==a){var o=i.substr(0,a).trim(),s=i.substr(a+1).trim();t[o]=s}}}return t}(e.style))},V_="@global",H_=function(){function e(e,t,n){for(var r in this.type="global",this.at=V_,this.isProcessed=!1,this.key=e,this.options=n,this.rules=new f_(Mk({},n,{parent:this})),t)this.rules.add(r,t[r]);this.rules.process()}var t=e.prototype;return t.getRule=function(e){return this.rules.get(e)},t.addRule=function(e,t,n){var r=this.rules.add(e,t,n);return r&&this.options.jss.plugins.onProcessRule(r),r},t.replaceRule=function(e,t,n){var r=this.rules.replace(e,t,n);return r&&this.options.jss.plugins.onProcessRule(r),r},t.indexOf=function(e){return this.rules.indexOf(e)},t.toString=function(e){return this.rules.toString(e)},e}(),W_=function(){function e(e,t,n){this.type="global",this.at=V_,this.isProcessed=!1,this.key=e,this.options=n;var r=e.substr(8);this.rule=n.jss.createRule(r,t,Mk({},n,{parent:this}))}return e.prototype.toString=function(e){return this.rule?this.rule.toString(e):""},e}(),G_=/\s*,\s*/g;function Y_(e,t){for(var n=e.split(G_),r="",i=0;i<n.length;i++)r+=t+" "+n[i].trim(),n[i+1]&&(r+=", ");return r}var Z_=function(e){return e&&"object"==typeof e&&!Array.isArray(e)},J_="extendCurrValue"+Date.now();function X_(e,t,n,r){return void 0===r&&(r={}),function(e,t,n,r){if("string"!=typeof e.extend)if(Array.isArray(e.extend))for(var i=0;i<e.extend.length;i++){var a=e.extend[i];X_("string"==typeof a?Mk({},e,{extend:a}):e.extend[i],t,n,r)}else for(var o in e.extend)"extend"!==o?Z_(e.extend[o])?(o in r||(r[o]={}),X_(e.extend[o],t,n,r[o])):r[o]=e.extend[o]:X_(e.extend.extend,t,n,r);else{if(!n)return;var s=n.getRule(e.extend);if(!s)return;if(s===t)return;var u=s.options.parent;u&&X_(u.rules.raw[e.extend],t,n,r)}}(e,t,n,r),function(e,t,n,r){for(var i in e)"extend"!==i&&(Z_(r[i])&&Z_(e[i])?X_(e[i],t,n,r[i]):Z_(e[i])?r[i]=X_(e[i],t,n):r[i]=e[i])}(e,t,n,r),r}var K_=/\s*,\s*/g,Q_=/&/g,eR=/\$([\w-]+)/g;function tR(){function e(e,t){return function(n,r){var i=e.getRule(r)||t&&t.getRule(r);return i?i.selector:r}}function t(e,t){for(var n=t.split(K_),r=e.split(K_),i="",a=0;a<n.length;a++)for(var o=n[a],s=0;s<r.length;s++){var u=r[s];i&&(i+=", "),i+=-1!==u.indexOf("&")?u.replace(Q_,o):o+" "+u}return i}function n(e,t,n){if(n)return Mk({},n,{index:n.index+1});var r=e.options.nestingLevel;r=void 0===r?1:r+1;var i=Mk({},e.options,{nestingLevel:r,index:t.indexOf(e)+1});return delete i.name,i}return{onProcessStyle:function(r,i,a){if("style"!==i.type)return r;var o,s,u=i,l=u.options.parent;for(var c in r){var f=-1!==c.indexOf("&"),p="@"===c[0];if(f||p){if(o=n(u,l,o),f){var h=t(c,u.selector);s||(s=e(l,a)),h=h.replace(eR,s);var d=u.key+"-"+c;"replaceRule"in l?l.replaceRule(d,r[c],Mk({},o,{selector:h})):l.addRule(d,r[c],Mk({},o,{selector:h}))}else p&&l.addRule(c,{},o).addRule(u.key,r[c],{selector:u.selector});delete r[c]}}return r}}}function nR(e,t){if(!t)return!0;if(Array.isArray(t)){for(var n=0;n<t.length;n++)if(!nR(e,t[n]))return!1;return!0}if(t.indexOf(" ")>-1)return nR(e,t.split(" "));var r=e.options.parent;if("$"===t[0]){var i=r.getRule(t.substr(1));return!!i&&i!==e&&(r.classes[e.key]+=" "+r.classes[i.key],!0)}return r.classes[e.key]+=" "+t,!0}function rR(){return{onProcessStyle:function(e,t){return"composes"in e?(nR(t,e.composes),delete e.composes,e):e}}}var iR=/[A-Z]/g,aR=/^ms-/,oR={};function sR(e){return"-"+e.toLowerCase()}function uR(e){if(oR.hasOwnProperty(e))return oR[e];var t=e.replace(iR,sR);return oR[e]=aR.test(t)?"-"+t:t}function lR(e){var t={};for(var n in e)t[0===n.indexOf("--")?n:uR(n)]=e[n];return e.fallbacks&&(Array.isArray(e.fallbacks)?t.fallbacks=e.fallbacks.map(lR):t.fallbacks=lR(e.fallbacks)),t}var cR=I_&&CSS?CSS.px:"px",fR=I_&&CSS?CSS.ms:"ms",pR=I_&&CSS?CSS.percent:"%";function hR(e){var t=/(-[a-z])/g,n=function(e){return e[1].toUpperCase()},r={};for(var i in e)r[i]=e[i],r[i.replace(t,n)]=e[i];return r}var dR=hR({"animation-delay":fR,"animation-duration":fR,"background-position":cR,"background-position-x":cR,"background-position-y":cR,"background-size":cR,border:cR,"border-bottom":cR,"border-bottom-left-radius":cR,"border-bottom-right-radius":cR,"border-bottom-width":cR,"border-left":cR,"border-left-width":cR,"border-radius":cR,"border-right":cR,"border-right-width":cR,"border-top":cR,"border-top-left-radius":cR,"border-top-right-radius":cR,"border-top-width":cR,"border-width":cR,"border-block":cR,"border-block-end":cR,"border-block-end-width":cR,"border-block-start":cR,"border-block-start-width":cR,"border-block-width":cR,"border-inline":cR,"border-inline-end":cR,"border-inline-end-width":cR,"border-inline-start":cR,"border-inline-start-width":cR,"border-inline-width":cR,"border-start-start-radius":cR,"border-start-end-radius":cR,"border-end-start-radius":cR,"border-end-end-radius":cR,margin:cR,"margin-bottom":cR,"margin-left":cR,"margin-right":cR,"margin-top":cR,"margin-block":cR,"margin-block-end":cR,"margin-block-start":cR,"margin-inline":cR,"margin-inline-end":cR,"margin-inline-start":cR,padding:cR,"padding-bottom":cR,"padding-left":cR,"padding-right":cR,"padding-top":cR,"padding-block":cR,"padding-block-end":cR,"padding-block-start":cR,"padding-inline":cR,"padding-inline-end":cR,"padding-inline-start":cR,"mask-position-x":cR,"mask-position-y":cR,"mask-size":cR,height:cR,width:cR,"min-height":cR,"max-height":cR,"min-width":cR,"max-width":cR,bottom:cR,left:cR,top:cR,right:cR,inset:cR,"inset-block":cR,"inset-block-end":cR,"inset-block-start":cR,"inset-inline":cR,"inset-inline-end":cR,"inset-inline-start":cR,"box-shadow":cR,"text-shadow":cR,"column-gap":cR,"column-rule":cR,"column-rule-width":cR,"column-width":cR,"font-size":cR,"font-size-delta":cR,"letter-spacing":cR,"text-decoration-thickness":cR,"text-indent":cR,"text-stroke":cR,"text-stroke-width":cR,"word-spacing":cR,motion:cR,"motion-offset":cR,outline:cR,"outline-offset":cR,"outline-width":cR,perspective:cR,"perspective-origin-x":pR,"perspective-origin-y":pR,"transform-origin":pR,"transform-origin-x":pR,"transform-origin-y":pR,"transform-origin-z":pR,"transition-delay":fR,"transition-duration":fR,"vertical-align":cR,"flex-basis":cR,"shape-margin":cR,size:cR,gap:cR,grid:cR,"grid-gap":cR,"row-gap":cR,"grid-row-gap":cR,"grid-column-gap":cR,"grid-template-rows":cR,"grid-template-columns":cR,"grid-auto-rows":cR,"grid-auto-columns":cR,"box-shadow-x":cR,"box-shadow-y":cR,"box-shadow-blur":cR,"box-shadow-spread":cR,"font-line-height":cR,"text-shadow-x":cR,"text-shadow-y":cR,"text-shadow-blur":cR});function mR(e,t,n){if(null==t)return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]=mR(e,t[r],n);else if("object"==typeof t)if("fallbacks"===e)for(var i in t)t[i]=mR(i,t[i],n);else for(var a in t)t[a]=mR(e+"-"+a,t[a],n);else if("number"==typeof t&&!1===isNaN(t)){var o=n[e]||dR[e];return!o||0===t&&o===cR?t.toString():"function"==typeof o?o(t).toString():""+t+o}return t}function gR(e){void 0===e&&(e={});var t=hR(e);return{onProcessStyle:function(e,n){if("style"!==n.type)return e;for(var r in e)e[r]=mR(r,e[r],t);return e},onChangeValue:function(e,n){return mR(n,e,t)}}}var yR={"background-size":!0,"background-position":!0,border:!0,"border-bottom":!0,"border-left":!0,"border-top":!0,"border-right":!0,"border-radius":!0,"border-image":!0,"border-width":!0,"border-style":!0,"border-color":!0,"box-shadow":!0,flex:!0,margin:!0,padding:!0,outline:!0,"transform-origin":!0,transform:!0,transition:!0},vR={position:!0,size:!0},xR={padding:{top:0,right:0,bottom:0,left:0},margin:{top:0,right:0,bottom:0,left:0},background:{attachment:null,color:null,image:null,position:null,repeat:null},border:{width:null,style:null,color:null},"border-top":{width:null,style:null,color:null},"border-right":{width:null,style:null,color:null},"border-bottom":{width:null,style:null,color:null},"border-left":{width:null,style:null,color:null},outline:{width:null,style:null,color:null},"list-style":{type:null,position:null,image:null},transition:{property:null,duration:null,"timing-function":null,timingFunction:null,delay:null},animation:{name:null,duration:null,"timing-function":null,timingFunction:null,delay:null,"iteration-count":null,iterationCount:null,direction:null,"fill-mode":null,fillMode:null,"play-state":null,playState:null},"box-shadow":{x:0,y:0,blur:0,spread:0,color:null,inset:null},"text-shadow":{x:0,y:0,blur:null,color:null}},bR={border:{radius:"border-radius",image:"border-image",width:"border-width",style:"border-style",color:"border-color"},"border-bottom":{width:"border-bottom-width",style:"border-bottom-style",color:"border-bottom-color"},"border-top":{width:"border-top-width",style:"border-top-style",color:"border-top-color"},"border-left":{width:"border-left-width",style:"border-left-style",color:"border-left-color"},"border-right":{width:"border-right-width",style:"border-right-style",color:"border-right-color"},background:{size:"background-size",image:"background-image"},font:{style:"font-style",variant:"font-variant",weight:"font-weight",stretch:"font-stretch",size:"font-size",family:"font-family",lineHeight:"line-height","line-height":"line-height"},flex:{grow:"flex-grow",basis:"flex-basis",direction:"flex-direction",wrap:"flex-wrap",flow:"flex-flow",shrink:"flex-shrink"},align:{self:"align-self",items:"align-items",content:"align-content"},grid:{"template-columns":"grid-template-columns",templateColumns:"grid-template-columns","template-rows":"grid-template-rows",templateRows:"grid-template-rows","template-areas":"grid-template-areas",templateAreas:"grid-template-areas",template:"grid-template","auto-columns":"grid-auto-columns",autoColumns:"grid-auto-columns","auto-rows":"grid-auto-rows",autoRows:"grid-auto-rows","auto-flow":"grid-auto-flow",autoFlow:"grid-auto-flow",row:"grid-row",column:"grid-column","row-start":"grid-row-start",rowStart:"grid-row-start","row-end":"grid-row-end",rowEnd:"grid-row-end","column-start":"grid-column-start",columnStart:"grid-column-start","column-end":"grid-column-end",columnEnd:"grid-column-end",area:"grid-area",gap:"grid-gap","row-gap":"grid-row-gap",rowGap:"grid-row-gap","column-gap":"grid-column-gap",columnGap:"grid-column-gap"}};function wR(e,t,n,r){return null==n[t]?e:0===e.length?[]:Array.isArray(e[0])?wR(e[0],t,n,r):"object"==typeof e[0]?function(e,t,n){return e.map(function(e){return NR(e,t,n,!1,!0)})}(e,t,r):[e]}function NR(e,t,n,r,i){if(!xR[t]&&!bR[t])return[];var a=[];if(bR[t]&&(e=function(e,t,n,r){for(var i in n){var a=n[i];if(void 0!==e[i]&&(r||!t.prop(a))){var o,s=ER((o={},o[a]=e[i],o),t)[a];r?t.style.fallbacks[a]=s:t.style[a]=s}delete e[i]}return e}(e,n,bR[t],r)),Object.keys(e).length)for(var o in xR[t])e[o]?Array.isArray(e[o])?a.push(null===vR[o]?e[o]:e[o].join(" ")):a.push(e[o]):null!=xR[t][o]&&a.push(xR[t][o]);return!a.length||i?a:[a]}function ER(e,t,n){for(var r in e){var i=e[r];if(Array.isArray(i)){if(!Array.isArray(i[0])){if("fallbacks"===r){for(var a=0;a<e.fallbacks.length;a++)e.fallbacks[a]=ER(e.fallbacks[a],t,!0);continue}e[r]=wR(i,r,yR,t),e[r].length||delete e[r]}}else if("object"==typeof i){if("fallbacks"===r){e.fallbacks=ER(e.fallbacks,t,!0);continue}e[r]=NR(i,r,t,n),e[r].length||delete e[r]}else""===e[r]&&delete e[r]}return e}function SR(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var MR="",AR="",CR="",OR="",kR=yT&&"ontouchstart"in document.documentElement;if(yT){var TR={Moz:"-moz-",ms:"-ms-",O:"-o-",Webkit:"-webkit-"},_R=document.createElement("p").style;for(var RR in TR)if(RR+"Transform"in _R){MR=RR,AR=TR[RR];break}"Webkit"===MR&&"msHyphens"in _R&&(MR="ms",AR=TR.ms,OR="edge"),"Webkit"===MR&&"-apple-trailing-word"in _R&&(CR="apple")}var DR=MR,IR=AR,PR=CR,qR=OR,zR=kR,BR={noPrefill:["appearance"],supportedProperty:function(e){return"appearance"===e&&("ms"===DR?"-webkit-"+e:IR+e)}},jR={noPrefill:["color-adjust"],supportedProperty:function(e){return"color-adjust"===e&&("Webkit"===DR?IR+"print-"+e:e)}},LR=/[-\s]+(.)?/g;function FR(e,t){return t?t.toUpperCase():""}function UR(e){return e.replace(LR,FR)}function $R(e){return UR("-"+e)}var VR,HR={noPrefill:["mask"],supportedProperty:function(e,t){if(!/^mask/.test(e))return!1;if("Webkit"===DR){var n="mask-image";if(UR(n)in t)return e;if(DR+$R(n)in t)return IR+e}return e}},WR={noPrefill:["text-orientation"],supportedProperty:function(e){return"text-orientation"===e&&("apple"!==PR||zR?e:IR+e)}},GR={noPrefill:["transform"],supportedProperty:function(e,t,n){return"transform"===e&&(n.transform?e:IR+e)}},YR={noPrefill:["transition"],supportedProperty:function(e,t,n){return"transition"===e&&(n.transition?e:IR+e)}},ZR={noPrefill:["writing-mode"],supportedProperty:function(e){return"writing-mode"===e&&("Webkit"===DR||"ms"===DR&&"edge"!==qR?IR+e:e)}},JR={noPrefill:["user-select"],supportedProperty:function(e){return"user-select"===e&&("Moz"===DR||"ms"===DR||"apple"===PR?IR+e:e)}},XR={supportedProperty:function(e,t){return!!/^break-/.test(e)&&("Webkit"===DR?"WebkitColumn"+$R(e)in t&&IR+"column-"+e:"Moz"===DR&&"page"+$R(e)in t&&"page-"+e)}},KR={supportedProperty:function(e,t){if(!/^(border|margin|padding)-inline/.test(e))return!1;if("Moz"===DR)return e;var n=e.replace("-inline","");return DR+$R(n)in t&&IR+n}},QR={supportedProperty:function(e,t){return UR(e)in t&&e}},eD={supportedProperty:function(e,t){var n=$R(e);return"-"===e[0]||"-"===e[0]&&"-"===e[1]?e:DR+n in t?IR+e:"Webkit"!==DR&&"Webkit"+n in t&&"-webkit-"+e}},tD={supportedProperty:function(e){return"scroll-snap"===e.substring(0,11)&&("ms"===DR?""+IR+e:e)}},nD={supportedProperty:function(e){return"overscroll-behavior"===e&&("ms"===DR?IR+"scroll-chaining":e)}},rD={"flex-grow":"flex-positive","flex-shrink":"flex-negative","flex-basis":"flex-preferred-size","justify-content":"flex-pack",order:"flex-order","align-items":"flex-align","align-content":"flex-line-pack"},iD={supportedProperty:function(e,t){var n=rD[e];return!!n&&DR+$R(n)in t&&IR+n}},aD={flex:"box-flex","flex-grow":"box-flex","flex-direction":["box-orient","box-direction"],order:"box-ordinal-group","align-items":"box-align","flex-flow":["box-orient","box-direction"],"justify-content":"box-pack"},oD=Object.keys(aD),sD=function(e){return IR+e},uD={supportedProperty:function(e,t,n){var r=n.multiple;if(oD.indexOf(e)>-1){var i=aD[e];if(!Array.isArray(i))return DR+$R(i)in t&&IR+i;if(!r)return!1;for(var a=0;a<i.length;a++)if(!(DR+$R(i[0])in t))return!1;return i.map(sD)}return!1}},lD=[BR,jR,HR,WR,GR,YR,ZR,JR,XR,KR,QR,eD,tD,nD,iD,uD],cD=lD.filter(function(e){return e.supportedProperty}).map(function(e){return e.supportedProperty}),fD=lD.filter(function(e){return e.noPrefill}).reduce(function(e,t){return e.push.apply(e,function(e){return function(e){if(Array.isArray(e))return SR(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return SR(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?SR(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t.noPrefill)),e},[]),pD={};if(yT){VR=document.createElement("p");var hD=window.getComputedStyle(document.documentElement,"");for(var dD in hD)isNaN(dD)||(pD[hD[dD]]=hD[dD]);fD.forEach(function(e){return delete pD[e]})}function mD(e,t){if(void 0===t&&(t={}),!VR)return e;if(null!=pD[e])return pD[e];"transition"!==e&&"transform"!==e||(t[e]=e in VR.style);for(var n=0;n<cD.length&&(pD[e]=cD[n](e,VR.style,t),!pD[e]);n++);try{VR.style[e]=""}catch(e){return!1}return pD[e]}var gD,yD={},vD={transition:1,"transition-property":1,"-webkit-transition":1,"-webkit-transition-property":1},xD=/(^\s*[\w-]+)|, (\s*[\w-]+)(?![^()]*\))/g;function bD(e,t,n){return"var"===t?"var":"all"===t?"all":"all"===n?", all":(t?mD(t):", "+mD(n))||t||n}function wD(e,t){var n=t;if(!gD||"content"===e)return t;if("string"!=typeof n||!isNaN(parseInt(n,10)))return n;var r=e+n;if(null!=yD[r])return yD[r];try{gD.style[e]=n}catch(e){return yD[r]=!1,!1}if(vD[e])n=n.replace(xD,bD);else if(""===gD.style[e]&&("-ms-flex"===(n=IR+n)&&(gD.style[e]="-ms-flexbox"),gD.style[e]=n,""===gD.style[e]))return yD[r]=!1,!1;return gD.style[e]="",yD[r]=n,yD[r]}function ND(){function e(t){for(var n in t){var r=t[n];if("fallbacks"===n&&Array.isArray(r))t[n]=r.map(e);else{var i=!1,a=mD(n);a&&a!==n&&(i=!0);var o=!1,s=wD(a,kT(r));s&&s!==r&&(o=!0),(i||o)&&(i&&delete t[n],t[a||n]=s||r)}}return t}return{onProcessRule:function(e){if("keyframes"===e.type){var t=e;t.at=function(e){return"-"===e[1]||"ms"===DR?e:"@"+IR+"keyframes"+e.substr(10)}(t.at)}},onProcessStyle:function(t,n){return"style"!==n.type?t:e(t)},onChangeValue:function(e,t){return wD(t,kT(e))||e}}}function ED(){var e=function(e,t){return e.length===t.length?e>t?1:-1:e.length-t.length};return{onProcessStyle:function(t,n){if("style"!==n.type)return t;for(var r={},i=Object.keys(t).sort(e),a=0;a<i.length;a++)r[i[a]]=t[i[a]];return r}}}yT&&(gD=document.createElement("p"));const SD=r,{createContext:MD}=r,{useRef:AD}=r,{useContext:CD}=r,{useMemo:OD}=r,{useEffect:kD}=r,{useLayoutEffect:TD}=r,{useDebugValue:_D}=r,{forwardRef:RD}=r,{createElement:DD}=r;var ID=Number.MIN_SAFE_INTEGER||-1e9,PD=function(){return ID++},qD=MD({classNamePrefix:"",disableStylesGeneration:!1,isSSR:!yT}),zD=new Map,BD=function(e,t){var n=e.managers;if(n)return n[t]||(n[t]=new D_),n[t];var r=zD.get(t);return r||(r=new D_,zD.set(t,r)),r},jD=function(e){var t=e.sheet,n=e.context,r=e.index,i=e.theme;t&&(BD(n,r).manage(i),n.registry&&n.registry.add(t))},LD=R_(function(e){return void 0===e&&(e={}),{plugins:[{onCreateRule:function(e,t,n){if("function"!=typeof t)return null;var r=CT(e,{},n);return r[B_]=t,r},onProcessStyle:function(e,t){if(z_ in t||B_ in t)return e;var n={};for(var r in e){var i=e[r];"function"==typeof i&&(delete e[r],n[r]=i)}return t[z_]=n,e},onUpdate:function(e,t,n,r){var i=t,a=i[B_];a&&(i.style=a(e)||{});var o=i[z_];if(o)for(var s in o)i.prop(s,o[s](e),r)}},F_(e.observable),{onProcessRule:$_},{onCreateRule:function(e,t,n){if(!e)return null;if(e===V_)return new H_(e,t,n);if("@"===e[0]&&"@global "===e.substr(0,8))return new W_(e,t,n);var r=n.parent;return r&&("global"===r.type||r.options.parent&&"global"===r.options.parent.type)&&(n.scoped=!1),n.selector||!1!==n.scoped||(n.selector=e),null},onProcessRule:function(e,t){"style"===e.type&&t&&(function(e,t){var n=e.options,r=e.style,i=r?r[V_]:null;if(i){for(var a in i)t.addRule(a,i[a],Mk({},n,{selector:Y_(a,e.selector)}));delete r[V_]}}(e,t),function(e,t){var n=e.options,r=e.style;for(var i in r)if("@"===i[0]&&i.substr(0,7)===V_){var a=Y_(i.substr(7),e.selector);t.addRule(a,r[i],Mk({},n,{selector:a})),delete r[i]}}(e,t))}},{onProcessStyle:function(e,t,n){return"extend"in e?X_(e,t,n):e},onChangeValue:function(e,t,n){if("extend"!==t)return e;if(null==e||!1===e){for(var r in n[J_])n.prop(r,null);return n[J_]=null,null}if("object"==typeof e){for(var i in e)n.prop(i,e[i]);n[J_]=e}return null}},tR(),rR(),{onProcessStyle:function(e){if(Array.isArray(e)){for(var t=0;t<e.length;t++)e[t]=lR(e[t]);return e}return lR(e)},onChangeValue:function(e,t,n){if(0===t.indexOf("--"))return e;var r=uR(t);return t===r?e:(n.prop(r,e),null)}},gR(e.defaultUnit),{onProcessStyle:function(e,t){if(!e||"style"!==t.type)return e;if(Array.isArray(e)){for(var n=0;n<e.length;n++)e[n]=ER(e[n],t);return e}return ER(e,t)}},ND(),ED()]}}()),FD=new WeakMap,UD=function(e){return FD.get(e)},$D=function(e){if(!e.context.disableStylesGeneration){var t=BD(e.context,e.index),n=t.get(e.theme);if(n)return n;var r=e.context.jss||LD,i=function(e){var t=e.styles;return"function"!=typeof t?t:t(e.theme)}(e),a=P_(i),o=r.createStyleSheet(i,function(e,t){var n;e.context.id&&null!=e.context.id.minify&&(n=e.context.id.minify);var r=e.context.classNamePrefix||"";e.name&&!n&&(r+=e.name.replace(/\s/g,"-")+"-");var i="";return e.name&&(i=e.name+", "),i+="function"==typeof e.styles?"Themed":"Unthemed",Mk({},e.sheetOptions,{index:e.index,meta:i,classNamePrefix:r,link:t,generateId:e.sheetOptions&&e.sheetOptions.generateId?e.sheetOptions.generateId:e.context.generateId})}(e,null!==a));return function(e,t){FD.set(e,t)}(o,{dynamicStyles:a,styles:i}),t.add(e.theme,o),o}},VD=function(e,t){var n=UD(e);if(n){var r={};for(var i in n.dynamicStyles)for(var a=e.rules.index.length,o=e.addRule(i,n.dynamicStyles[i]),s=a;s<e.rules.index.length;s++){var u=e.rules.index[s];e.updateOne(u,t),r[o===u?i:u.key]=u}return r}};function HD(e){return e?kD:SD.useInsertionEffect||TD}var WD={},GD=function(e){return e.children||null};const YD=r,ZD=e,{color:JD}=o,XD={root:{strokeWidth:2,stroke:JD.primary()}};function KD({y:e,width:t,classes:n}){return YD.createElement("line",{x1:0,y1:e,x2:t,y2:e,className:n.root})}KD.propTypes={y:ZD.number.isRequired,width:ZD.number.isRequired,classes:ZD.object.isRequired};var QD=function(e,t){void 0===t&&(t={});var n=t,r=n.index,i=void 0===r?PD():r,a=n.theming,o=n.injectTheme,s=Ak(n,["index","theming","injectTheme"]),u=a?a.context:mT;return function(t){void 0===t&&(t=GD);var n,r,l,c,f=(n=t).displayName||n.name||"Component",p=(r=function(e,t){return t?function(e,t){var n=Mk({},e);for(var r in t)n[r]=r in n?n[r]+" "+t[r]:t[r];return n}(e,t):e},function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];if(Array.isArray(l)&&t.length===l.length){for(var i=!0,a=0;a<t.length;a++)t[a]!==l[a]&&(i=!1);if(i)return c}return l=t,c=r.apply(void 0,t)}),h=Object.assign(s,{theming:a,index:i,name:f}),d=function(e,t){void 0===t&&(t={});var n=t,r=n.index,i=void 0===r?PD():r,a=n.theming,o=n.name,s=Ak(n,["index","theming","name"]),u=a&&a.context||mT,l={};return function(t){var n=AD(!0),r=CD(qD),a=function(t){return"function"==typeof e&&(t||CD(u))||WD}(t&&t.theme),c=OD(function(){var n=$D({context:r,styles:e,name:o,theme:a,index:i,sheetOptions:s});return n&&r.isSSR&&jD({index:i,context:r,sheet:n,theme:a}),[n,n?VD(n,t):null]},[r,a]),f=c[0],p=c[1];HD(r.isSSR)(function(){f&&p&&!n.current&&function(e,t,n){for(var r in n)t.updateOne(n[r],e)}(t,f,p)},[t]),HD(r.isSSR)(function(){return f&&jD({index:i,context:r,sheet:f,theme:a}),function(){f&&(function(e){e.sheet&&BD(e.context,e.index).unmanage(e.theme)}({index:i,context:r,sheet:f,theme:a}),p&&function(e,t){for(var n in t)e.deleteRule(t[n])}(f,p))}},[f]);var h=OD(function(){return f&&p?function(e,t){if(!t)return e.classes;var n=UD(e);if(!n)return e.classes;var r={};for(var i in n.styles)r[i]=e.classes[i],i in t&&(r[i]+=" "+e.classes[t[i].key]);return r}(f,p):l},[f,p]);return _D(h),_D(a===WD?"No theme":a),kD(function(){n.current=!1}),h}}(e,h),m=RD(function(e,n){var r=CD(u),i=Mk({},e);o&&null==i.theme&&(i.theme=r);var a=d(i),s=p(a,e.classes);return DD(t,Mk({},i,{classes:s,ref:n}))});return m.displayName="WithStyles("+f+")",m.defaultProps=Mk({},t.defaultProps),m.InnerComponent=t,uT(m,t)}}(XD)(KD);const eI=r,tI=e,{styled:nI}=t,{color:rI}=o,iI=nI("text")({userSelect:"none",textAlign:"center",fill:rI.primary()}),aI=nI("line")({stroke:rI.primary()}),oI=tI.shape({major:(e,t)=>{},minor:(e,t,n)=>{if(e[t]<=0)return new Error(`Invalid prop ${t} must be > 0. ${n}`)}}).isRequired;class sI extends eI.Component{static __initStatic(){this.propTypes={y:tI.number.isRequired,x:tI.number.isRequired,major:tI.bool,fraction:tI.bool,xScale:tI.func,type:tI.string}}static __initStatic2(){this.defaultProps={major:!1}}constructor(e){super(e),this.wasRendered=!1,this.state={textBox:{width:0,height:0,x:0,y:0}},this.resizeObserver=null}updateTextBox(){if(this.text){const{width:e,height:t,x:n,y:r}=this.text.getBBox();this.text.setAttribute("x",e/2*-1),this.setState({textBox:{width:e,height:t,x:n,y:r}})}}componentDidMount(){this.resizeObserver=new ResizeObserver(()=>{this.updateTextBox()}),this.text&&this.resizeObserver.observe(this.text)}componentWillUnmount(){this.resizeObserver&&this.resizeObserver.disconnect()}render(){let{x:e,y:t,type:n,xScale:r,fraction:i}=this.props;const a=i&&e.n!==e.d&&0!==e.n&&1!==e.d,o="major"===n,s=o?20:10,{width:u=0,height:l=0,x:c=0,y:f=0}=this.state.textBox,p=i?a?eI.createElement(eI.Fragment,null,eI.createElement("tspan",{x:"0",dy:"0.71em"},e.n*e.s),eI.createElement("tspan",{x:"0",dy:"1.11em"},e.d)):e.n*e.s:Number(e.toFixed(3));return eI.createElement("g",{opacity:"1",transform:`translate(${r(e)}, ${t})`},eI.createElement(aI,{y1:s/2*-1,y2:s/2,x1:"0.5",x2:"0.5"}),a&&eI.createElement(aI,{x1:c,x2:c+u,y1:f+l/2,y2:f+l/2}),o&&eI.createElement(iI,{ref:e=>this.text=e,y:"14",width:"10",dy:"0.71em",textAnchor:a&&"middle"},p))}}sI.__initStatic(),sI.__initStatic2();class uI extends eI.Component{static __initStatic3(){this.contextTypes={xScale:tI.func.isRequired}}static __initStatic4(){this.propTypes={domain:tI.shape({min:tI.number.isRequired,max:tI.number.isRequired}).isRequired,fraction:tI.bool,width:tI.number,ticks:oI,y:tI.number.isRequired}}render(){let{domain:e,width:t,ticks:n,y:r,fraction:i}=this.props,{xScale:a}=this.context;const o=ME(e,t,n,{fraction:i});return eI.createElement("g",null,o.map(({x:e,type:t})=>eI.createElement(sI,{fraction:i,x:e,y:r,type:t,xScale:a,key:`${e}-${t}-${i}`})))}}function lI(e){let t=[new cI(e)];this.add=function(n){let r=t.find(e=>e.add(n));return-1===t.indexOf(r)&&(r=new cI(e),t.push(r),r.add(n)),t.indexOf(r)}}function cI(e){let t=[];this.add=function(i){let a=r(i);if(a.left<e.min||a.right>e.max)return!1;let o=t.some(e=>n(e,a));return!o&&(t.push(i),!0)},this.elements=function(){return t};let n=(e,t)=>{let n=r(e),i=t.left<n.left&&t.right<n.left,a=t.left>n.right&&t.right>n.right;return!(i||a)},r=t=>{let{type:n,position:r}=t;switch(n){case"point":return{left:r,right:r};case"line":return r;case"ray":return"positive"===t.direction?{left:r,right:e.max}:{left:e.min,right:r};default:return null}}}function fI(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}uI.__initStatic3(),uI.__initStatic4();var pI=r.createContext(null),hI=function(e){return e.scrollTop};const dI=r,mI=a;var gI="unmounted",yI="exited",vI="entering",xI="entered",bI="exiting",wI=function(e){function t(t,n){var r;r=e.call(this,t,n)||this;var i,a=n&&!n.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?a?(i=yI,r.appearStatus=vI):i=xI:i=t.unmountOnExit||t.mountOnEnter?gI:yI,r.state={status:i},r.nextCallback=null,r}ET(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===gI?{status:yI}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==vI&&n!==xI&&(t=vI):n!==vI&&n!==xI||(t=bI)}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&"number"!=typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t)if(this.cancelNextCallback(),t===vI){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:mI.findDOMNode(this);n&&hI(n)}this.performEnter(e)}else this.performExit();else this.props.unmountOnExit&&this.state.status===yI&&this.setState({status:gI})},n.performEnter=function(e){var t=this,n=this.props.enter,r=this.context?this.context.isMounting:e,i=this.props.nodeRef?[r]:[mI.findDOMNode(this),r],a=i[0],o=i[1],s=this.getTimeouts(),u=r?s.appear:s.enter;e||n?(this.props.onEnter(a,o),this.safeSetState({status:vI},function(){t.props.onEntering(a,o),t.onTransitionEnd(u,function(){t.safeSetState({status:xI},function(){t.props.onEntered(a,o)})})})):this.safeSetState({status:xI},function(){t.props.onEntered(a)})},n.performExit=function(){var e=this,t=this.props.exit,n=this.getTimeouts(),r=this.props.nodeRef?void 0:mI.findDOMNode(this);t?(this.props.onExit(r),this.safeSetState({status:bI},function(){e.props.onExiting(r),e.onTransitionEnd(n.exit,function(){e.safeSetState({status:yI},function(){e.props.onExited(r)})})})):this.safeSetState({status:yI},function(){e.props.onExited(r)})},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t){this.setNextCallback(t);var n=this.props.nodeRef?this.props.nodeRef.current:mI.findDOMNode(this),r=null==e&&!this.props.addEndListener;if(n&&!r){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],a=i[0],o=i[1];this.props.addEndListener(a,o)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},n.render=function(){var e=this.state.status;if(e===gI)return null;var t=this.props,n=t.children;t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef;var r=Ak(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return dI.createElement(pI.Provider,{value:null},"function"==typeof n?n(e,r):dI.cloneElement(dI.Children.only(n),r))},t}(dI.Component);function NI(){}wI.contextType=pI,wI.propTypes={},wI.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:NI,onEntering:NI,onEntered:NI,onExit:NI,onExiting:NI,onExited:NI},wI.UNMOUNTED=gI,wI.EXITED=yI,wI.ENTERING=vI,wI.ENTERED=xI,wI.EXITING=bI;var EI=wI;const SI=r;var MI=function(e,t){return e&&t&&t.split(" ").forEach(function(t){return r=t,void((n=e).classList?n.classList.remove(r):"string"==typeof n.className?n.className=fI(n.className,r):n.setAttribute("class",fI(n.className&&n.className.baseVal||"",r)));var n,r})},AI=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).appliedClasses={appear:{},enter:{},exit:{}},t.onEnter=function(e,n){var r=t.resolveArguments(e,n),i=r[0],a=r[1];t.removeClasses(i,"exit"),t.addClass(i,a?"appear":"enter","base"),t.props.onEnter&&t.props.onEnter(e,n)},t.onEntering=function(e,n){var r=t.resolveArguments(e,n),i=r[0],a=r[1]?"appear":"enter";t.addClass(i,a,"active"),t.props.onEntering&&t.props.onEntering(e,n)},t.onEntered=function(e,n){var r=t.resolveArguments(e,n),i=r[0],a=r[1]?"appear":"enter";t.removeClasses(i,a),t.addClass(i,a,"done"),t.props.onEntered&&t.props.onEntered(e,n)},t.onExit=function(e){var n=t.resolveArguments(e)[0];t.removeClasses(n,"appear"),t.removeClasses(n,"enter"),t.addClass(n,"exit","base"),t.props.onExit&&t.props.onExit(e)},t.onExiting=function(e){var n=t.resolveArguments(e)[0];t.addClass(n,"exit","active"),t.props.onExiting&&t.props.onExiting(e)},t.onExited=function(e){var n=t.resolveArguments(e)[0];t.removeClasses(n,"exit"),t.addClass(n,"exit","done"),t.props.onExited&&t.props.onExited(e)},t.resolveArguments=function(e,n){return t.props.nodeRef?[t.props.nodeRef.current,e]:[e,n]},t.getClassNames=function(e){var n=t.props.classNames,r="string"==typeof n,i=r?(r&&n?n+"-":"")+e:n[e];return{baseClassName:i,activeClassName:r?i+"-active":n[e+"Active"],doneClassName:r?i+"-done":n[e+"Done"]}},t}ET(t,e);var n=t.prototype;return n.addClass=function(e,t,n){var r=this.getClassNames(t)[n+"ClassName"],i=this.getClassNames("enter").doneClassName;"appear"===t&&"done"===n&&i&&(r+=" "+i),"active"===n&&e&&hI(e),r&&(this.appliedClasses[t][n]=r,function(e,t){e&&t&&t.split(" ").forEach(function(t){return r=t,void((n=e).classList?n.classList.add(r):function(e,t){return e.classList?!!t&&e.classList.contains(t):-1!==(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")}(n,r)||("string"==typeof n.className?n.className=n.className+" "+r:n.setAttribute("class",(n.className&&n.className.baseVal||"")+" "+r)));var n,r})}(e,r))},n.removeClasses=function(e,t){var n=this.appliedClasses[t],r=n.base,i=n.active,a=n.done;this.appliedClasses[t]={},r&&MI(e,r),i&&MI(e,i),a&&MI(e,a)},n.render=function(){var e=this.props;e.classNames;var t=Ak(e,["classNames"]);return SI.createElement(EI,Mk({},t,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},t}(SI.Component);AI.defaultProps={classNames:""},AI.propTypes={};var CI=AI;const{Children:OI}=r,{cloneElement:kI}=r,{isValidElement:TI}=r;function _I(e,t){var n=Object.create(null);return e&&OI.map(e,function(e){return e}).forEach(function(e){n[e.key]=function(e){return t&&TI(e)?t(e):e}(e)}),n}function RI(e,t,n){return null!=n[t]?n[t]:e.props[t]}function DI(e,t,n){var r=_I(e.children),i=function(e,t){function n(n){return n in t?t[n]:e[n]}e=e||{},t=t||{};var r,i=Object.create(null),a=[];for(var o in e)o in t?a.length&&(i[o]=a,a=[]):a.push(o);var s={};for(var u in t){if(i[u])for(r=0;r<i[u].length;r++){var l=i[u][r];s[i[u][r]]=n(l)}s[u]=n(u)}for(r=0;r<a.length;r++)s[a[r]]=n(a[r]);return s}(t,r);return Object.keys(i).forEach(function(a){var o=i[a];if(TI(o)){var s=a in t,u=a in r,l=t[a],c=TI(l)&&!l.props.in;!u||s&&!c?u||!s||c?u&&s&&TI(l)&&(i[a]=kI(o,{onExited:n.bind(null,o),in:l.props.in,exit:RI(o,"exit",e),enter:RI(o,"enter",e)})):i[a]=kI(o,{in:!1}):i[a]=kI(o,{onExited:n.bind(null,o),in:!0,exit:RI(o,"exit",e),enter:RI(o,"enter",e)})}}),i}const II=r;var PI=Object.values||function(e){return Object.keys(e).map(function(t){return e[t]})},qI=function(e){function t(t,n){var r,i=(r=e.call(this,t,n)||this).handleExited.bind(ST(r));return r.state={contextValue:{isMounting:!0},handleExited:i,firstRender:!0},r}ET(t,e);var n=t.prototype;return n.componentDidMount=function(){this.mounted=!0,this.setState({contextValue:{isMounting:!1}})},n.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(e,t){var n,r,i=t.children,a=t.handleExited;return{children:t.firstRender?(n=e,r=a,_I(n.children,function(e){return kI(e,{onExited:r.bind(null,e),in:!0,appear:RI(e,"appear",n),enter:RI(e,"enter",n),exit:RI(e,"exit",n)})})):DI(e,i,a),firstRender:!1}},n.handleExited=function(e,t){var n=_I(this.props.children);e.key in n||(e.props.onExited&&e.props.onExited(t),this.mounted&&this.setState(function(t){var n=Mk({},t.children);return delete n[e.key],{children:n}}))},n.render=function(){var e=this.props,t=e.component,n=e.childFactory,r=Ak(e,["component","childFactory"]),i=this.state.contextValue,a=PI(this.state.children).map(n);return delete r.appear,delete r.enter,delete r.exit,null===t?II.createElement(pI.Provider,{value:i},a):II.createElement(pI.Provider,{value:i},II.createElement(t,r,a))},t}(II.Component);qI.propTypes={},qI.defaultProps={component:"div",childFactory:function(e){return e}};var zI=qI;const BI=r,{useEffect:jI}=r,{useRef:LI}=r,FI=e,UI="fade-transition",$I=`\n .${UI}-appear {\n opacity: 0;\n }\n .${UI}-appear-active {\n opacity: 1;\n transition: opacity 200ms ease-in;\n }\n .${UI}-enter {\n opacity: 0;\n }\n .${UI}-enter-active {\n opacity: 1;\n transition: opacity 200ms ease-in;\n }\n .${UI}-exit {\n opacity: 1;\n }\n .${UI}-exit-active {\n opacity: 0;\n transition: opacity 200ms ease-in;\n }\n`,VI=e=>{const t=LI(null),n=BI.Children.only(e.children);return jI(()=>{if(!document.getElementById(`${UI}-styles`)){const e=document.createElement("style");e.id=`${UI}-styles`,e.textContent=$I,document.head.appendChild(e)}},[]),BI.createElement(CI,{...e,nodeRef:t,appear:!0,classNames:{enter:`${UI}-enter`,enterActive:`${UI}-enter-active`,exit:`${UI}-exit`,exitActive:`${UI}-exit-active`,appear:`${UI}-appear`,appearActive:`${UI}-appear-active`},timeout:200},BI.createElement("g",{ref:t},n))};VI.propTypes={children:FI.node,in:FI.bool,mountOnEnter:FI.bool,unmountOnExit:FI.bool,appear:FI.bool,enter:FI.bool,exit:FI.bool,timeout:FI.oneOfType([FI.number,FI.shape({enter:FI.number,exit:FI.number})]),addEndListener:FI.func,onEnter:FI.func,onEntering:FI.func,onEntered:FI.func,onExit:FI.func,onExiting:FI.func,onExited:FI.func};const HI=r,{color:WI}=o,GI=e;class YI extends HI.Component{static __initStatic(){this.childContextTypes={xScale:GI.func.isRequired,snapValue:GI.func.isRequired}}static __initStatic2(){this.propTypes={domain:GI.shape({min:GI.number.isRequired,max:GI.number.isRequired}).isRequired,ticks:GI.shape({minor:GI.number,major:GI.number}).isRequired,fraction:GI.bool,width:GI.number.isRequired,height:GI.number.isRequired,onToggleElement:GI.func.isRequired,onMoveElement:GI.func.isRequired,onAddElement:GI.func.isRequired,debug:GI.bool,elements:GI.array,disabled:GI.bool,onDeselectElements:GI.func,arrows:GI.shape({left:GI.bool,right:GI.bool})}}static __initStatic3(){this.defaultProps={debug:!1}}constructor(e){super(e),this.state={}}xScaleFn(){const{domain:e,width:t}=this.props,{max:n,min:r}=e||{};let i=20;return n&&(i=4*n.toString().length+15),((e,t,n,r)=>{if(void 0===e||void 0===t||void 0===n)throw new Error("missing min/max/width");return eM().domain([e,t]).range([r,n-r])})(r,n,t,i)}snapValueFn(){const{domain:e,ticks:t}=this.props;return AE.bind(null,e.min,e.max,t.minor)}getChildContext(){return{xScale:this.xScaleFn(),snapValue:this.snapValueFn()}}onRectClick(e){const{elements:t,disabled:n}=this.props;if(n)return;const r=t.some(e=>e.selected);if(r)this.props.onDeselectElements();else{const t=function(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}(e,this.rect),n=this.xScaleFn().invert(t[0]);this.addElement(n)}}componentDidMount(){(function(e){return"string"==typeof e?new sA([[document.querySelector(e)]],[document.documentElement]):new sA([[e]],oA)})(this.rect).on("click",this.onRectClick.bind(this))}addElement(e){const t=this.snapValueFn()(e);this.props.onAddElement(t)}render(){const{domain:e,width:t,ticks:n,height:r,onToggleElement:i,onMoveElement:a,disabled:o,fraction:s}=this.props;let{arrows:u}=this.props;u=u||{left:!0,right:!0};const{min:l,max:c}=e;if(e.max<=e.min)return HI.createElement("div",null,e.max," is less than or equal to ",e.min);{const f=r-30,p=new lI(e),h=this.props.elements.map((e,r)=>{const s=p.add(e);if(-1===s)throw new Error("stack index is -1, cant add element");const u={key:r,y:f-25*s,selected:e.selected&&!o,interval:n.minor,disabled:o,correct:e.correct},h=i.bind(null,r,e),d=a.bind(null,r,e);if("line"===e.type){const t={left:"empty"===e.leftPoint,right:"empty"===e.rightPoint};return HI.createElement(ok,{...u,domain:{min:l,max:c},onMoveLine:d,onToggleSelect:h,position:e.position,empty:t,key:r})}if("point"===e.type){const t={left:l-e.position,right:c-e.position};return HI.createElement(ZO,{...u,empty:"empty"===e.pointType,position:e.position,bounds:t,onClick:h,onMove:d,key:r})}if("ray"===e.type)return HI.createElement(Sk,{...u,domain:{min:l,max:c},direction:e.direction,position:e.position,onMove:d,onToggleSelect:h,width:t,empty:"empty"===e.pointType,key:r})});return HI.createElement(kO,null,HI.createElement("div",{style:{display:"inline-block"}},HI.createElement("svg",{width:t,height:s?r+20:r},!1,HI.createElement(QD,{y:f,width:t}),u.left&&HI.createElement(gk,{y:f}),u.right&&HI.createElement(gk,{x:t,y:f,direction:"right"}),HI.createElement(uI,{y:f,domain:e,width:t,ticks:n,fraction:s}),HI.createElement("rect",{ref:e=>this.rect=e,fill:WI.primary(),fillOpacity:"0.0",width:t,height:r}),HI.createElement(zI,{component:"g"},h.map((e,t)=>HI.createElement(VI,{key:t},e))))))}}}YI.__initStatic(),YI.__initStatic2(),YI.__initStatic3();const ZI=r,JI=e,XI=e=>"string"==typeof e?e:"number"==typeof e?`${e}px`:"30px",KI=({size:e,children:t})=>{const n={height:e=XI(e),width:e,display:"inline-block",position:"relative"};return ZI.createElement("div",{style:n},t)};KI.propTypes={size:JI.number,children:JI.oneOfType([JI.arrayOf(JI.node),JI.node]).isRequired};const QI=r,eP=e,tP=({size:e,children:t,sx:n})=>QI.createElement(KI,{size:e},QI.createElement("svg",{preserveAspectRatio:"xMinYMin meet",viewBox:"0 0 44 40",style:{enableBackground:"new 0 0 44 40",...n}},t));tP.propTypes={size:eP.oneOfType([eP.string,eP.number]),children:eP.oneOfType([eP.arrayOf(eP.node),eP.node]).isRequired,sx:eP.object},eP.string.isRequired;const nP=({fill:e})=>QI.createElement("polygon",{transform:"translate(2, 0)",points:"34.1,28.6 34.1,2.2 2,2.2 2,34.3 40.1,34.3",fill:e});nP.propTypes={fill:eP.string.isRequired};const rP=({fill:e})=>QI.createElement("path",{transform:"translate(1, 0)",d:"M31.2,29.1v-0.3c2.2-2.8,3.6-6.3,3.6-10.1c0-8.9-7.2-16.1-16.1-16.1c-8.8,0.1-16,7.3-16,16.2 s7.2,16.1,16.1,16.1h18.5L31.2,29.1z",fill:e});rP.propTypes={fill:eP.string.isRequired};const iP=({fill:e})=>QI.createElement("circle",{transform:"translate(-3,0)",cx:"23",cy:"20.4",r:"16",fill:e});iP.propTypes={fill:eP.string.isRequired};const aP=({fill:e})=>QI.createElement("rect",{x:"3.6",y:"4.1",width:"32",height:"32",fill:e});aP.propTypes={fill:eP.string.isRequired};const oP=e,sP=r;var uP=(e,t)=>{class n extends sP.Component{static __initStatic(){this.propTypes={iconSet:oP.oneOf(["emoji","check"]),shape:oP.oneOf(["round","square"]),category:oP.oneOf(["feedback",void 0]),open:oP.bool,size:oP.oneOfType([oP.number,oP.string]),fg:oP.string,bg:oP.string}}static __initStatic2(){this.defaultProps={iconSet:"check",shape:"round",category:void 0,open:!1,size:30,fg:"#4aaf46",bg:"#f8ffe2"}}render(){const{iconSet:n,shape:r,category:i,open:a,size:o,fg:s,bg:u}=this.props,l="check"===n?sP.createElement(e,{fill:s}):sP.createElement(t,{fill:s}),c="check"===n?sP.createElement(e,{fill:u}):sP.createElement(t,{fill:u});return a?sP.createElement(tP,{size:o},c):sP.createElement(tP,{size:o},"feedback"===i?"round"===r?sP.createElement(rP,{fill:u}):sP.createElement(nP,{fill:u}):"round"===r?sP.createElement(iP,{fill:u}):sP.createElement(aP,{fill:u}),l)}}return n.__initStatic(),n.__initStatic2(),n};const lP=e,cP=r,fP=({fill:e})=>cP.createElement("g",{transform:"translate(1, 0)"},cP.createElement("path",{d:"M24.7,22.1c-1.5,1.7-3.6,2.7-5.8,2.7s-4.5-1.1-5.8-2.7l-2.8,1.6c2,2.7,5.2,4.2,8.7,4.2 c3.4,0,6.6-1.6,8.7-4.2L24.7,22.1z",fill:e}),cP.createElement("rect",{x:"21.1",y:"13.1",width:"3.7",height:"4.7",fill:e}),cP.createElement("rect",{x:"12.7",y:"13.1",width:"3.7",height:"4.7",fill:e}));fP.propTypes={fill:lP.string.isRequired};const pP=({fill:e,x:t=0,y:n=0})=>cP.createElement("polygon",{transform:`translate(${t}, ${n})`,points:"19.1,28.6 11.8,22.3 14.4,19.2 17.9,22.1 23.9,11.4 27.5,13.4",fill:e});pP.propTypes={fill:lP.string.isRequired,x:lP.number,y:lP.number};const hP=uP(pP,fP);hP.propTypes={iconSet:lP.oneOf(["emoji","check"]),shape:lP.oneOf(["round","square"]),category:lP.oneOf(["feedback",void 0]),open:lP.bool,fg:lP.string,bg:lP.string,size:lP.oneOfType([lP.string,lP.number])},hP.defaultProps={iconSet:"check",shape:"round",category:void 0,open:!1,fg:"#4aaf46",bg:"#f8ffe2",size:30};const dP=e,{styled:mP}=t;dP.string.isRequired,dP.string.isRequired,dP.string.isRequired,dP.string.isRequired,dP.string.isRequired,mP("div")(({size:e})=>({width:e||"25px",height:e||"25px"})),dP.bool,dP.string;const gP=e,yP=r,vP=({fill:e})=>yP.createElement("g",{transform:"translate(0.5, 0.5)"},yP.createElement("rect",{x:"11",y:"17.3",transform:"matrix(0.7071 -0.7071 0.7071 0.7071 -7.852 19.2507)",width:"16.6",height:"3.7",fill:e}),yP.createElement("rect",{x:"17.4",y:"10.7",transform:"matrix(0.7071 -0.7071 0.7071 0.7071 -7.8175 19.209)",width:"3.7",height:"16.6",fill:e}));vP.propTypes={fill:gP.string.isRequired};const xP=({fill:e})=>yP.createElement("g",{transform:"translate(1,0)"},yP.createElement("rect",{x:"21",y:"12.9",width:"3.7",height:"4.7",fill:e}),yP.createElement("rect",{x:"12.7",y:"12.9",width:"3.7",height:"4.7",fill:e}),yP.createElement("rect",{x:"12.2",y:"22.5",width:"13",height:"3.3",fill:e}));xP.propTypes={fill:gP.string.isRequired};const bP=uP(vP,xP);bP.propTypes={iconSet:gP.oneOf(["emoji","check"]),shape:gP.oneOf(["round","square"]),category:gP.oneOf(["feedback",void 0]),open:gP.bool,fg:gP.string,bg:gP.string,size:gP.oneOfType([gP.string,gP.number])},bP.defaultProps={iconSet:"check",shape:"round",category:void 0,open:!1,fg:"#fcb733",bg:"#fbf2e3",size:30};const wP=e,NP=r,EP=()=>{const e={fill:"none",stroke:"#BCE2FF",strokeWidth:2,strokeMiterlimit:10};return NP.createElement("g",null,NP.createElement("line",{style:e,x1:"-98",y1:"142",x2:"-114.6",y2:"142"}),NP.createElement("line",{style:e,x1:"-98",y1:"146.3",x2:"-114.6",y2:"146.3"}),NP.createElement("line",{style:e,x1:"-104",y1:"150.7",x2:"-114.6",y2:"150.7"}))},SP=({children:e,size:t})=>NP.createElement(KI,{size:t},NP.createElement("svg",{version:"1.1",viewBox:"-128 129 31 31",style:{enableBackground:"new -128 129 31 31"}},e));SP.propTypes={children:wP.oneOfType([wP.arrayOf(wP.node),wP.node]).isRequired,size:wP.number};const MP=()=>NP.createElement("g",null,NP.createElement("rect",{x:"-123.9",y:"135.3",style:{fill:"#D0CAC5",stroke:"#E6E3E0",strokeWidth:.75,strokeLinejoin:"round",strokeMiterlimit:10},width:"4.1",height:"4.1"}),NP.createElement("polygon",{style:{fill:"#D0CAC5",stroke:"#E6E3E0",strokeWidth:.75,strokeLinejoin:"round",strokeMiterlimit:10},points:"-119.8,150.4 -119.8,142.2 -125,142.2 -125,144.9 -122.6,144.9 -122.6,150.4 -125.6,150.4 -125.6,153.2 -116.8,153.2 -116.8,150.4 "}),NP.createElement("rect",{x:"-124.7",y:"134.7",style:{fill:"#B3ABA4",stroke:"#CDC7C2",strokeWidth:.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:10},width:"4.1",height:"4.1"}),NP.createElement("polygon",{style:{fill:"#B3ABA4",stroke:"#CDC7C2",strokeWidth:.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:10},points:"-120.6,149.8 -120.6,141.5 -125.8,141.5 -125.8,144.3 -123.3,144.3 -123.3,149.8 -126.4,149.8 -126.4,152.5 -117.6,152.5 -117.6,149.8 "}),NP.createElement("rect",{x:"-125.5",y:"134",style:{fill:"#7FABC6"},width:"4.1",height:"4.1"}),NP.createElement("polygon",{style:{fill:"#7FABC6"},points:"-121.4,149.1 -121.4,140.9 -126.5,140.9 -126.5,143.6 -124.1,143.6 -124.1,149.1 -127.1,149.1 -127.1,151.9 -118.4,151.9 -118.4,149.1 "})),AP=()=>NP.createElement("g",null,NP.createElement("rect",{x:"-123.9",y:"135.3",style:{fill:"#D0CAC5",stroke:"#E6E3E0",strokeWidth:.75,strokeLinejoin:"round",strokeMiterlimit:10},width:"4.1",height:"4.1"}),NP.createElement("polygon",{style:{fill:"#D0CAC5",stroke:"#E6E3E0",strokeWidth:.75,strokeLinejoin:"round",strokeMiterlimit:10},points:"-119.8,150.4 -119.8,142.2 -125,142.2 -125,144.9 -122.6,144.9 -122.6,150.4 -125.6,150.4 -125.6,153.2 -116.8,153.2 -116.8,150.4 "}),NP.createElement("rect",{x:"-124.7",y:"134.7",style:{fill:"#B3ABA4",stroke:"#CDC7C2",strokeWidth:.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:10},width:"4.1",height:"4.1"}),NP.createElement("polygon",{style:{fill:"#B3ABA4",stroke:"#CDC7C2",strokeWidth:.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:10},points:"-120.6,149.8 -120.6,141.5 -125.8,141.5 -125.8,144.3 -123.3,144.3 -123.3,149.8 -126.4,149.8 -126.4,152.5 -117.6,152.5 -117.6,149.8 "}),NP.createElement("rect",{x:"-125.5",y:"134",style:{fill:"#1A9CFF"},width:"4.1",height:"4.1"}),NP.createElement("polygon",{style:{fill:"#1A9CFF"},points:"-121.4,149.1 -121.4,140.9 -126.5,140.9 -126.5,143.6 -124.1,143.6 -124.1,149.1 -127.1,149.1 -127.1,151.9 -118.4,151.9 -118.4,149.1 "}));class CP extends NP.Component{constructor(e){super(e)}render(){return!0===this.props.open?NP.createElement(SP,null,NP.createElement(MP,null),NP.createElement(EP,null)):NP.createElement(SP,null,NP.createElement(AP,null),NP.createElement(EP,null))}}CP.propTypes={open:wP.bool},CP.defaultProps={open:!1};const OP=e,kP=r,TP=({fill:e})=>kP.createElement("path",{fill:e,d:"M-130.4,142.1c0-2.1,1.7-3.9,3.9-3.9c0.3,0,0.5,0,0.8,0.1c-0.6-0.8-1.5-1.3-2.6-1.3c-1.8,0-3.3,1.5-3.3,3.3c0,1.1,0.5,2,1.3,2.6C-130.4,142.6-130.4,142.4-130.4,142.1z"});TP.propTypes={fill:OP.string};class _P extends kP.Component{static __initStatic(){this.propTypes={classes:OP.object.isRequired,size:OP.number}}render(){const{size:e}=this.props;return!0===this.props.open?kP.createElement(KI,{size:e},kP.createElement("svg",{preserveAspectRatio:"xMinYMin meet",viewBox:"-135 129 16 32"},kP.createElement("path",{fill:"#BCE2FF",d:"M-122,141.1c0-3.7-3.3-6.6-7.1-5.8c-2.4,0.5-4.3,2.4-4.7,4.8c-0.4,2.3,0.6,4.4,2.2,5.7c0.4,0.3,0.6,0.8,0.6,1.3v1.9h6.1v-1.9c0-0.5,0.2-1,0.6-1.3C-122.8,144.7-122,143-122,141.1z"}),kP.createElement("path",{fill:"#BCE2FF",d:"M-125.7,153h-4.5c-0.4,0-0.8-0.4-0.8-0.8v-1.6h6.1v1.6C-124.9,152.7-125.2,153-125.7,153z"}),kP.createElement(TP,{fill:"#1A9CFF"}))):kP.createElement(KI,{size:e},kP.createElement("svg",{preserveAspectRatio:"xMinYMin meet",viewBox:"-135 129 16 31"},kP.createElement("path",{fill:"#D0CAC5",stroke:"#E6E3E0",className:"st0",d:"M-120.7,142.4c0-3.7-3.3-6.6-7.1-5.8c-2.4,0.5-4.3,2.4-4.7,4.8c-0.4,2.3,0.6,4.4,2.2,5.7c0.4,0.3,0.6,0.8,0.6,1.3v1.9h6.1v-1.9c0-0.5,0.2-1,0.6-1.3C-121.6,146-120.7,144.3-120.7,142.4z"}),kP.createElement("path",{fill:"#D0CAC5",stroke:"#E6E3E0",className:"st0",d:"M-124.4,154.3h-4.5c-0.4,0-0.8-0.4-0.8-0.8v-1.6h6.1v1.6C-123.6,153.9-123.9,154.3-124.4,154.3z"}),kP.createElement("path",{fill:"#B3ABA4",stroke:"#CDC7C2",className:"st1",d:"M-121.3,141.8c0-3.7-3.3-6.6-7.1-5.8c-2.4,0.5-4.3,2.4-4.7,4.8c-0.4,2.3,0.6,4.4,2.2,5.7c0.4,0.3,0.6,0.8,0.6,1.3v1.9h6.1v-1.9c0-0.5,0.2-1,0.6-1.3C-122.2,145.3-121.3,143.7-121.3,141.8z"}),",",kP.createElement("path",{fill:"#B3ABA4",stroke:"#CDC7C2",className:"st1",d:"M-125,153.7h-4.5c-0.4,0-0.8-0.4-0.8-0.8v-1.6h6.1v1.6C-124.2,153.3-124.6,153.7-125,153.7z"}),kP.createElement("path",{fill:"#1A9CFF",d:"M-122,141.1c0-3.7-3.3-6.6-7.1-5.8c-2.4,0.5-4.3,2.4-4.7,4.8c-0.4,2.3,0.6,4.4,2.2,5.7c0.4,0.3,0.6,0.8,0.6,1.3v1.9h6.1v-1.9c0-0.5,0.2-1,0.6-1.3C-122.8,144.7-122,143-122,141.1z"}),kP.createElement("path",{fill:"#1A9CFF",d:"M-125.7,153h-4.5c-0.4,0-0.8-0.4-0.8-0.8v-1.6h6.1v1.6C-124.9,152.7-125.2,153-125.7,153z"}),kP.createElement(TP,{fill:"1A9CFF"})))}}_P.__initStatic(),_P.propTypes={open:OP.bool},_P.defaultProps={open:!1};const RP=e,DP=r,IP=({fill:e})=>DP.createElement("g",null,DP.createElement("rect",{x:"19.3",y:"10.3",width:"4.5",height:"12.7",fill:e}),DP.createElement("rect",{x:"19.3",y:"26.2",width:"4.5",height:"4.5",fill:e}));IP.propTypes={fill:RP.string.isRequired};const PP=({fill:e})=>DP.createElement("polygon",{points:"14.8,4.5 5.6,13.8 5.6,27 14.8,36.5 28.1,36.5 37.6,27 37.6,13.8 28.1,4.5",fill:e});PP.propTypes={fill:RP.string.isRequired};const qP=({fill:e})=>DP.createElement("g",null,DP.createElement("rect",{x:"23.8",y:"15",width:"3.5",height:"4.4",fill:e}),DP.createElement("rect",{x:"16",y:"15",width:"3.5",height:"4.4",fill:e}),DP.createElement("path",{d:"M24.2,27.1h-5.1c-0.8,0-1.5-0.7-1.5-1.5v0c0-0.8,0.7-1.5,1.5-1.5h5.1c0.8,0,1.5,0.7,1.5,1.5v0 C25.7,26.4,25,27.1,24.2,27.1z",fill:e}));qP.propTypes={fill:RP.string.isRequired};class zP extends DP.Component{constructor(e){super(e);const{fg:t="#464146",bg:n="white"}=this.props;this.icons={check:DP.createElement(tP,null,DP.createElement(PP,{fill:n}),DP.createElement(IP,{fill:t})),emoji:DP.createElement(tP,null,DP.createElement(PP,{fill:n}),DP.createElement(qP,{fill:t})),feedback:{check:DP.createElement(tP,null,DP.createElement(PP,{fill:n}),DP.createElement(qP,{fill:t})),emoji:DP.createElement(tP,null,DP.createElement(PP,{fill:n}),DP.createElement(qP,{fill:t})),square:{check:DP.createElement(tP,null,DP.createElement(PP,{fill:n}),DP.createElement(IP,{fill:t})),emoji:DP.createElement(tP,null,DP.createElement(PP,{fill:n}),DP.createElement(qP,{fill:t})),open:{check:DP.createElement(tP,null,DP.createElement(IP,{fill:n})),emoji:DP.createElement(tP,null,DP.createElement(qP,{fill:n}))}}}}}render(){const{iconSet:e,category:t,shape:n,open:r}=this.props;return void 0===t?this.icons[e]:void 0===n?this.icons.feedback[e]:!0===r?this.icons.feedback.square.open[e]:this.icons.feedback.square[e]}}zP.propTypes={iconSet:RP.oneOf(["emoji","check",void 0]),shape:RP.oneOf(["square",void 0]),category:RP.oneOf(["feedback",void 0]),open:RP.bool,fg:RP.string,bg:RP.string},zP.defaultProps={iconSet:"check",shape:void 0,category:void 0,open:!1,fg:"#464146",bg:"white"};const BP=e,jP=r,LP=({fill:e})=>jP.createElement("g",{transform:"translate(0, 0)"},jP.createElement("polygon",{points:"27.5,13.4 23.9,11.4 15.9,25.8 19.1,28.6",fill:e}),jP.createElement("polygon",{points:"16.2,20.6 14.4,19.2 11.8,22.3 14.1,24.3",fill:e}));LP.propTypes={fill:BP.string.isRequired};const FP=({fill:e})=>jP.createElement("g",{transform:"translate(2, 0)"},jP.createElement("rect",{x:"20.6",y:"11.8",width:"4",height:"5",fill:e}),jP.createElement("rect",{x:"11.5",y:"11.8",width:"4",height:"5",fill:e}),jP.createElement("rect",{x:"10.9",y:"22.9",transform:"matrix(0.9794 -0.2019 0.2019 0.9794 -4.6237 4.1559)",width:"14.3",height:"3.7",fill:e}));FP.propTypes={fill:BP.string.isRequired};const UP=uP(LP,FP);UP.propTypes={iconSet:BP.oneOf(["emoji","check"]),shape:BP.oneOf(["round","square"]),category:BP.oneOf(["feedback",void 0]),open:BP.bool,fg:BP.string,bg:BP.string,size:BP.oneOfType([BP.string,BP.number])},UP.defaultProps={iconSet:"check",shape:"round",category:void 0,open:!1,fg:"#4aaf46",bg:"#c1e1ac",size:30};const $P=e,VP=r,HP=({fill:e})=>VP.createElement("g",null,VP.createElement("rect",{x:"-115",y:"136.7",width:"3",height:"3",fill:e}),VP.createElement("polygon",{points:"-112,147.7 -112,141.7 -115.8,141.7 -115.8,143.7 -114,143.7 -114,147.7 -116.2,147.7 -116.2,149.7 -109.8,149.7 -109.8,147.7",fill:e}));HP.propTypes={fill:$P.string.isRequired};const WP=({fill:e})=>VP.createElement("path",{d:"M-113,158.5c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105,158.5-113,158.5z M-113,130.5c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-105.6,130.5-113,130.5z",fill:e});WP.propTypes={fill:$P.string.isRequired};const GP=({fill:e="#FFFFFF"})=>VP.createElement("g",null,VP.createElement("path",{style:{fill:"#D0CAC5",stroke:"#E6E3E0",strokeWidth:.75,strokeMiterlimit:10},d:"M-111.7,160.9c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5C-96.2,154-103.1,160.9-111.7,160.9z"}),VP.createElement("path",{style:{fill:"#B3ABA4",stroke:"#CDC7C2",strokeWidth:.5,strokeMiterlimit:10},d:"M-112,159.5c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-104,159.5-112,159.5z"}),VP.createElement("circle",{cx:"-113",cy:"144",r:"14",fill:e}));GP.propTypes={fill:$P.string};const YP=({children:e,size:t})=>{const n=XI(t),r={height:n,width:n,display:"inline-block",position:"relative"};return VP.createElement("div",{style:r},VP.createElement("svg",{preserveAspectRatio:"xMinYMin meet",viewBox:"-129 128 34 34"},e))};YP.propTypes={children:$P.oneOfType([$P.arrayOf($P.node),$P.node]).isRequired,size:$P.oneOfType([$P.string,$P.number])};class ZP extends VP.Component{render(){const{iconSet:e,open:t,fg:n="#1a9cff",bg:r="#bce2ff",border:i="#bbe3fd"}=this.props,a=VP.createElement(HP,{fill:n}),o={check:VP.createElement(YP,{size:this.props.size},VP.createElement(GP,null),a,VP.createElement(WP,{fill:i})),emoji:VP.createElement(YP,{size:this.props.size},VP.createElement(GP,null),a,VP.createElement(WP,{fill:i})),open:{check:VP.createElement(YP,{size:this.props.size},VP.createElement("circle",{cx:"-113",cy:"144",r:"14",fill:"#FFFFFF"}),VP.createElement(HP,{fill:r}),VP.createElement(WP,{fill:"#FFFFFF"})),emoji:VP.createElement(YP,{size:this.props.size},VP.createElement("circle",{cx:"-113",cy:"144",r:"14",fill:"#FFFFFF"}),VP.createElement(HP,{fill:r}),VP.createElement(WP,{fill:i}))}};return!0===t?o.open[e]:o[e]}}ZP.propTypes={iconSet:$P.oneOf(["emoji","check"]),open:$P.bool,fg:$P.string,bg:$P.string,border:$P.string,size:$P.oneOfType([$P.string,$P.number])},ZP.defaultProps={iconSet:"check",open:!1,fg:"#1a9cff",bg:"#bce2ff",border:"#bbe3fd",size:30};const JP=e,{color:XP}=o,KP=r,{useRef:QP}=r,{styled:eq}=t,tq=eq("div")(({$type:e})=>({marginTop:"10px",backgroundColor:"#dddddd",padding:"10px",display:"flex",alignItems:"center",..."correct"===e&&{backgroundColor:XP.correct()},..."incorrect"===e&&{backgroundColor:XP.incorrect()},"& svg":{height:"30px"},"& h1":{padding:"0px",margin:"0px"}})),nq=eq("span")({paddingLeft:"5px",userSelect:"none"}),rq=e=>{const{type:t,width:n,message:r}=e;let i=(e=>{switch(e){case"unanswered":return zP;case"correct":return hP;case"incorrect":return bP;case"partial":return UP;case"info":return ZP;default:return}})(t);const a=QP(null);return KP.createElement(zI,null,KP.createElement(CI,{classNames:"fb",key:"fb",timeout:300,nodeRef:a},KP.createElement(tq,{ref:a,key:"panel",$type:t,style:{width:n}},KP.createElement(i,{iconSet:"emoji",shape:"square"}),KP.createElement(nq,{dangerouslySetInnerHTML:{__html:r}}))))};rq.propTypes={width:JP.number,message:JP.string,type:JP.string};const iq=r,aq=s,{cloneDeep:oq}=i,{isArray:sq}=i,{isNumber:uq}=i,{isEqual:lq}=i,{Collapsible:cq}=o,{color:fq}=o,{hasMedia:pq}=o,{hasText:hq}=o,{PreviewPrompt:dq}=o,{UiLayout:mq}=o,{styled:gq}=t,yq=e,{translator:vq}=fe,xq=gq(mq)(({$colorContrast:e})=>({color:fq.text(),backgroundColor:fq.background(),..."black_on_rose"===e&&{backgroundColor:"mistyrose"},..."white_on_black"===e&&{backgroundColor:"black","--correct-answer-toggle-label-color":"white","--tick-color":"white","--line-stroke":"white","--arrow-color":"white","--point-stroke":"white","--point-fill":"black"}})),bq=gq("div")(({$colorContrast:e})=>({boxSizing:"unset",color:fq.text(),backgroundColor:fq.background(),..."black_on_rose"===e&&{backgroundColor:"mistyrose"},..."white_on_black"===e&&{backgroundColor:"black","--correct-answer-toggle-label-color":"white","--tick-color":"white","--line-stroke":"white","--arrow-color":"white","--point-stroke":"white","--point-fill":"black"}})),wq=gq("div")({textAlign:"center",pointerEvents:"none",userSelect:"none"}),Nq=gq("div")({marginBottom:"16px"}),Eq=gq("div")({verticalAlign:"middle",marginBottom:"16px"}),Sq=gq(cq)(({theme:e})=>({paddingBottom:e.spacing(2)}));class Mq extends iq.Component{static __initStatic(){this.propTypes={onMoveElement:yq.func.isRequired,onDeleteElements:yq.func.isRequired,onAddElement:yq.func.isRequired,onUndoElement:yq.func.isRequired,onClearElements:yq.func.isRequired,model:yq.object.isRequired,answer:yq.array}}constructor(e,t){super(e,t);let n=e.model.graph?e.model.graph.initialType:null;n=n?n.toLowerCase():Ce.DEFAULT_TYPE,this.state={selectedElements:[],elementType:n,answers:e.answer}}toggleElement(e){let t=[];t=-1===this.state.selectedElements.indexOf(e)?this.state.selectedElements.concat([e]):this.state.selectedElements.filter(t=>t!==e),this.setState({selectedElements:t})}elementTypeSelected(e){this.setState({elementType:e})}addElement(e){if(this.hasMaxNoOfPoints())return this.setState({showMaxPointsWarning:!0}),void setTimeout(()=>{this.setState({showMaxPointsWarning:!1})},2e3);const{ticks:t,domain:n,availableTypes:r}=this.props.model.graph;if(r&&!r[this.state.elementType.toUpperCase()])return;let i=function(e,t,n,r){if(t.startsWith("p"))return{position:e,type:"point",pointType:t.endsWith("e")?"empty":"full"};if(t.startsWith("l")){let i=e+r<=n.max?e:e-r,a=i+r;return{type:"line",leftPoint:"e"===t.charAt(1)?"empty":"full",rightPoint:"e"===t.charAt(2)?"empty":"full",position:{left:i,right:a}}}if(t.startsWith("r")){let n="f"===t.charAt(1);return{type:"ray",direction:"p"===t.charAt(2)?"positive":"negative",pointType:n?"full":"empty",position:e}}}(e,this.state.elementType,n,t.minor);if(i){const{answers:e}=this.state;e.some(e=>lq(e,i))||(e.push(i),this.setState({answers:e}),this.props.onAddElement(i))}}hasMaxNoOfPoints(){let{answer:e,model:{graph:{maxNumberOfPoints:t}}}=this.props;return uq(t)&&t>0&&(e||[]).length>=t}UNSAFE_componentWillReceiveProps(e){const{answer:t}=e;lq(this.state.answers,t)||this.setState({showCorrectAnswer:!1,answers:t})}deselectElements(){this.setState({selectedElements:[]})}getSize(e,t,n,r){const{model:{graph:i}}=this.props;return i&&i[e]?Math.max(t,Math.min(n,i[e])):r}undo(){const{answers:e}=this.state,{onUndoElement:t}=this.props;e.pop(),this.setState({answers:e}),t()}clearAll(){const{onClearElements:e}=this.props;this.setState({answers:[]}),e()}render(){let{model:e,onDeleteElements:t,onMoveElement:n,minWidth:r=400,maxWidth:i=1600,maxHeight:a}=this.props,{showCorrectAnswer:o,answers:s,selectedElements:u,showMaxPointsWarning:l,elementType:c}=this.state,{corrected:f={correct:[],incorrect:[]},disabled:p,extraCSSRules:h,graph:d,correctResponse:m,prompt:g,emptyAnswer:y,feedback:v,colorContrast:x,language:b,teacherInstructions:w}=e,N=this.addElement.bind(this),E=!p&&u&&u.length>0;const{ticks:S,domain:M,arrows:A,maxNumberOfPoints:C,height:O=100,availableTypes:k,title:T,fraction:_}=d,R=this.getSize("width",r,i,600),D=w&&(hq(w)||pq(w)),I={disabled:p,domain:M,ticks:S,width:R,height:(O>a?a:O)||100,arrows:A,fraction:_};let P=o?(m||[]).map(e=>(e.correct=!0,e)):(s||[]).map((e,t)=>{let n=oq(e);return n.selected=-1!==u.indexOf(t),f.correct.includes(t)?n.correct=!0:f.incorrect.includes(t)?n.correct=!1:n.correct=void 0,n}),q=I.width-20;return iq.createElement(xq,{extraCSSRules:h,$colorContrast:x},D&&iq.createElement(Sq,{labels:{hidden:"Show Teacher Instructions",visible:"Hide Teacher Instructions"}},iq.createElement(dq,{prompt:w})),g&&iq.createElement(Eq,null,iq.createElement(dq,{prompt:g})),iq.createElement(bq,{$colorContrast:x,style:{width:R}},iq.createElement(Nq,{style:{width:q}},iq.createElement(aq,{show:sq(m)&&m.length&&!y,toggled:o,onToggle:e=>{this.setState({showCorrectAnswer:e})},initialValue:!1,language:b})),!p&&iq.createElement(Ce,{elementType:c,showDeleteButton:E,onDeleteClick:()=>{t(u),s=s.filter((e,t)=>!u.some(e=>e===t)),this.setState({selectedElements:[],answers:s})},onElementType:this.elementTypeSelected.bind(this),onClearElements:this.clearAll.bind(this),onUndoElement:this.undo.bind(this),icons:(()=>{if(k)return Object.keys(k).filter(e=>k[e]).map(e=>e.toLowerCase())})(),language:b}),iq.createElement(YI,{...I,elements:P,onAddElement:N,onMoveElement:n,onToggleElement:this.toggleElement.bind(this),onDeselectElements:this.deselectElements.bind(this),debug:!1}),T&&iq.createElement(wq,{dangerouslySetInnerHTML:{__html:T}}),l&&iq.createElement(rq,{type:"info",width:q,message:1==C?vq.t("numberLine.addElementLimit_one",{lng:b,count:1}):vq.t("numberLine.addElementLimit_other",{lng:b,count:C})}),v&&!o&&iq.createElement(rq,{...v,width:q})))}}Mq.__initStatic();var Aq,Cq=a;Aq=Cq.createRoot,Cq.hydrateRoot;const Oq=r,{styled:kq}=t,{NumberTextField:Tq}=l,_q=kq(Tq)(({theme:e})=>({marginLeft:e.spacing(1)})),Rq=kq(Tq)({maxWidth:"100px"}),{styled:Dq}=t,{Tooltip:Iq}=n,{IconButton:Pq}=n,{Typography:qq}=n,{HelpOutline:zq}=u,Bq=e,jq=r,Lq=Dq("div")({display:"flex",justifyContent:"space-between"}),Fq=Dq("div")({display:"flex",alignItems:"center"}),Uq=Dq(Pq)({margin:0,padding:0}),$q=e=>{const{header:t,children:n,mini:r,info:i}=e;return jq.createElement(Lq,null,jq.createElement(Fq,null,jq.createElement(qq,{variant:r?"subheading":"h5"},t),i),n&&jq.createElement(Iq,{title:n,slotProps:{tooltip:{sx:e=>({fontSize:e.typography.fontSize-2})}}},jq.createElement(Uq,{"aria-label":"Delete",size:"large"},jq.createElement(zq,null))))};$q.propTypes={mini:Bq.bool,header:Bq.string,children:Bq.node,info:Bq.any};const Vq=r,Hq=e,{styled:Wq}=t,{NumberTextFieldCustom:Gq}=l,Yq=Wq("div")({display:"flex",alignItems:"center",gap:"10px"}),Zq=Wq("div")({display:"flex",flexFlow:"column"}),Jq=Wq("label")({fontSize:"small",color:"gray"}),Xq=Wq(Gq)({"& input":{cursor:"default"}}),Kq=e=>{const{size:t={width:500},min:n=150,max:r=800,step:i=20,onChange:a}=e;return Vq.createElement(Yq,null,Vq.createElement(Zq,null,Vq.createElement("label",null,"Width (px)"),Vq.createElement(Jq,null,"Min ",n,", Max ",r)),Vq.createElement(Xq,{value:t.width,min:n,max:r,step:i,onlyIntegersAllowed:!0,onChange:(t,n)=>a({...e.size,width:n}),variant:"outlined"}))};Kq.propTypes={size:Hq.shape({width:Hq.number,height:Hq.number}),min:Hq.number,max:Hq.number,step:Hq.number,onChange:Hq.func.isRequired};const Qq=e,ez=r,{styled:tz}=t,nz=tz("div")({display:"flex",gap:"20px"}),rz=tz("div")({display:"flex",alignItems:"center",gap:"10px"});class iz extends ez.Component{constructor(e){super(e),this.changeMin=this.change.bind(this,"min"),this.changeMax=this.change.bind(this,"max")}change(e,t,n){const{onChange:r}=this.props;let i;var a;i="min"===e&&n===this.props.domain.max||"max"===e&&n===this.props.domain.min?{...this.props.domain}:{...this.props.domain,[e]:n},r((a=i).min<=a.max?a:{min:a.max,max:a.min})}render(){const{domain:e}=this.props;return ez.createElement(nz,null,ez.createElement(rz,null,ez.createElement("label",null,"Min Value"),ez.createElement(Rq,{min:-1e5,max:99999,value:e.min,name:"domainBegin",onChange:this.changeMin})),ez.createElement(rz,null,ez.createElement("label",null,"Max Value"),ez.createElement(Rq,{min:-99999,max:1e5,value:e.max,name:"domainEnd",onChange:this.changeMax})))}}iz.propTypes={domain:Qq.shape({min:Qq.number,max:Qq.number}),onChange:Qq.func.isRequired};const az=r,oz=e,{styled:sz}=t,{InputCheckbox:uz}=l,lz=sz("div")({display:"flex",alignItems:"center",gap:"10px"}),cz=sz("div")(({theme:e})=>({paddingTop:e.spacing(2),display:"flex",gap:e.spacing(2),alignItems:"center","& > *":{flexShrink:0},"& label":{whiteSpace:"nowrap",overflow:"visible",textOverflow:"clip"},"& .MuiFormControlLabel-root":{margin:0,marginRight:0},"& .MuiFormControlLabel-label":{whiteSpace:"nowrap",overflow:"visible",textOverflow:"clip",maxWidth:"none",width:"auto",flexShrink:0}}));class fz extends az.Component{static __initStatic(){this.propTypes={arrows:oz.shape({left:oz.bool,right:oz.bool}).isRequired,onChange:oz.func}}static __initStatic2(){this.defaultProps={arrows:{left:!0,right:!0}}}constructor(e){super(e),this.change=(e,t,n)=>{const r={...this.props.arrows,[e]:n};this.props.onChange(r)},this.changeLeft=this.change.bind(this,"left"),this.changeRight=this.change.bind(this,"right")}render(){const{arrows:e}=this.props;return az.createElement(lz,null,az.createElement("label",null,"Arrows"),az.createElement(cz,null,az.createElement(uz,{label:"Left",checked:e.left,onChange:this.changeLeft}),az.createElement(uz,{label:"Right",checked:e.right,onChange:this.changeRight})))}}fz.__initStatic(),fz.__initStatic2();const{Button:pz}=n,hz=r,{styled:dz}=t,mz=e,{Point:gz}=Oe,yz=dz("div")(({theme:e})=>({paddingTop:e.spacing(2.5),"& > :first-child":{marginRight:e.spacing(1)}}));class vz extends hz.Component{static __initStatic(){this.propTypes={onSelectionChange:mz.func,selection:mz.object,availableTools:mz.array,hideButtons:mz.bool}}constructor(e){super(e)}toggle(e){const t={...this.props.selection};t[e]=!t[e],this._propsUpdate(t)}toggleAll(e){const t=[...vz.types].reduce((t,n)=>(t[n]=e,t),{});this._propsUpdate(t)}_propsUpdate(e){this.props.onSelectionChange(e)}active(e){return!0===this.props.selection[e]}render(){const{availableTools:e,hideButtons:t=!1}=this.props,n=(e||[]).map(e=>hz.createElement(gz,{iconKey:e.toLowerCase(),key:e.toLowerCase(),onClick:this.toggle.bind(this,e),active:this.active(e)}));return hz.createElement("div",null,hz.createElement("div",null,n),hz.createElement(yz,{hidden:t},hz.createElement(pz,{variant:"outlined",size:"small",onClick:this.toggleAll.bind(this,!0)},"Select All"),hz.createElement(pz,{variant:"outlined",size:"small",onClick:this.toggleAll.bind(this,!1)},"None")))}}vz.__initStatic(),vz.types=["PF","LFF","LEF","LFE","LEE","RFN","RFP","REN","REP"];const xz=r,bz=e,{styled:wz}=t,{FormControlLabel:Nz}=n,{RadioGroup:Ez}=n,{Radio:Sz}=n,{color:Mz}=o,{NumberTextFieldCustom:Az}=l,Cz=wz("div")({display:"flex"}),Oz=wz("div")({display:"flex",flexFlow:"column",gap:"10px",width:"65%"}),kz=wz("div")({display:"flex",flexFlow:"column",gap:"10px"}),Tz=wz("tr")({display:"flex",alignItems:"center",paddingTop:"5px",paddingBottom:"5px"}),_z=wz("table")({tableLayout:"fixed",width:"100%"}),Rz=wz("td")({width:"35%"}),Dz=wz(Sz)({color:`${Mz.tertiary()} !important`}),Iz=wz(Az)({"& input":{maxWidth:"145px",cursor:"default"}}),Pz=["Integer","Fraction","Decimal"],qz=e=>{const{ticks:t,onChange:n,minorLimits:r,minorValues:i,majorValues:a}=e,o=Hv(ev(t.major)),s=1===o.d?o.n.toString():o.n+"/"+o.d;return xz.createElement(Cz,null,xz.createElement(Oz,null,xz.createElement("label",null,"Tick Interval"),xz.createElement(Ez,{"aria-label":"tick-interval-type",name:"tickIntervalType",value:t.tickIntervalType,onChange:(e,r)=>{Pz.includes(r)&&("Integer"===r?t.minor=t.integerTick:"Decimal"===r?t.minor=t.decimalTick:"Fraction"===r&&(t.minor=ev(Hv(t.fractionTick))),t.tickIntervalType=r,n({ticks:t}))}},xz.createElement(_z,null,xz.createElement("tbody",null,xz.createElement(Tz,null,xz.createElement(Rz,null,xz.createElement(Nz,{value:"Integer",control:xz.createElement(Dz,{checked:"Integer"===t.tickIntervalType}),label:"Integer",disabled:r.max<1})),xz.createElement("td",null,xz.createElement(Iz,{value:t.integerTick,min:ev(zb(r.min)),max:ev(Zx(r.max)),step:1,onlyIntegersAllowed:!0,onChange:(e,r)=>{"Integer"===t.tickIntervalType&&(t.integerTick=r,t.minor=r,n({ticks:t}))},variant:"outlined",type:"number",disabled:"Integer"!==t.tickIntervalType||r.max<1,key:"Integer"!==t.tickIntervalType||r.max<1?"integerDisabled":"integerEnabled"}))),xz.createElement(Tz,null,xz.createElement(Rz,null,xz.createElement(Nz,{value:"Fraction",control:xz.createElement(Dz,{checked:"Fraction"===t.tickIntervalType}),label:"Unit Fraction",disabled:0===i.fraction.length})),xz.createElement("td",null,xz.createElement(Iz,{value:t.fractionTick,customValues:i.fraction,onChange:(e,r)=>{"Fraction"===t.tickIntervalType&&(t.fractionTick=r,t.minor=ev(Hv(r)),n({ticks:t}))},variant:"outlined",type:"text",disabled:"Fraction"!==t.tickIntervalType||0===i.fraction.length,key:"Fraction"!==t.tickIntervalType||0===i.fraction.length?"fractionDisabled":"fractionEnabled"}))),xz.createElement(Tz,null,xz.createElement(Rz,null,xz.createElement(Nz,{value:"Decimal",control:xz.createElement(Dz,{checked:"Decimal"===t.tickIntervalType}),label:"Decimal",disabled:0===i.decimal.length})),xz.createElement("td",null,xz.createElement(Iz,{value:t.decimalTick,customValues:i.decimal,onChange:(e,r)=>{"Decimal"===t.tickIntervalType&&(t.decimalTick=r,t.minor=r,n({ticks:t}))},variant:"outlined",type:"number",disabled:"Decimal"!==t.tickIntervalType||0===i.decimal.length,key:"Decimal"!==t.tickIntervalType||0===i.decimal.length?"decimalDisabled":"decimalEnabled"}))))))),xz.createElement(kz,null,xz.createElement("label",null,"Label Interval"),xz.createElement(Iz,{value:"Fraction"===t.tickIntervalType?s:t.major,variant:"outlined",customValues:"Fraction"===t.tickIntervalType?a.fraction:a.decimal,type:"Fraction"===t.tickIntervalType?"text":"number",onChange:"Fraction"===t.tickIntervalType?(e,r)=>{"Fraction"===t.tickIntervalType&&(t.major=ev(Hv(r)),n({ticks:t}))}:(e,r)=>{"Decimal"!==t.tickIntervalType&&"Integer"!==t.tickIntervalType||(t.major=r,n({ticks:t}))}})))};qz.propTypes={onChange:bz.func,ticks:bz.object,minorLimits:bz.object,minorValues:bz.object,majorValues:bz.object};const zz={correctResponse:[],feedback:{correct:{default:"Correct",type:"none"},incorrect:{default:"Incorrect",type:"none"},partial:{default:"Nearly",type:"none"}},graph:{arrows:{left:!0,right:!0},availableTypes:{PF:!0},domain:{min:-1,max:1},exhibitOnly:!1,initialElements:[],initialType:"PF",maxNumberOfPoints:1,ticks:{minor:.125,major:.5,tickIntervalType:"Decimal"},title:"",width:500},prompt:"",promptEnabled:!0,rationale:"",rationaleEnabled:!0,teacherInstructions:"",teacherInstructionsEnabled:!0,toolbarEditorPosition:"bottom",widthEnabled:!0},Bz={baseInputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1},textAlign:{disabled:!0},showParagraphs:{disabled:!1}},instruction:{settings:!1,enabled:!0,label:"Number line questions involve plotting points or other objects. To create one, first set up the number line, then select the plotting tools students will be offered and use them to define the correct answer."},prompt:{settings:!0,label:"Item Stem",required:!1,inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}}},rationale:{settings:!0,label:"Rationale",required:!1,inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}}},teacherInstructions:{settings:!0,label:"Teacher Instructions",required:!1,inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}}},title:{label:"Title",settings:!0,enabled:!0,inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}}},numberLineDimensions:{settings:!0,label:"Width",enabled:!0,min:200,max:800,step:20},mathMlOptions:{mmlOutput:!1,mmlEditing:!1},language:{settings:!1,label:"Specify Language",enabled:!1},languageChoices:{label:"Language Choices",options:[]},spellCheck:{label:"Spellcheck",settings:!1,enabled:!0},maxMaxElements:20,hidePointConfigButtons:!1,availableTools:["PF","LFF","LEF","LFE","LEE","RFN","RFP","REN","REP"],settingsPanelDisabled:!1},jz=r,Lz=e,{cloneDeep:Fz}=i,{styled:Uz}=t,{Typography:$z}=n,{Tooltip:Vz}=n,{Info:Hz}=u,{FormSection:Wz}=l,{InputContainer:Gz}=l,{AlertDialog:Yz}=l,{settings:Zz}=l,{layout:Jz}=l,Xz=c;function Kz(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],a=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=a(n)):"call"!==i&&"optionalCall"!==i||(n=a((...e)=>n.call(t,...e)),t=void 0)}return n}const Qz=e=>({...e,feedback:void 0,prompt:void 0,teacherInstructions:void 0,graph:{...e.graph,title:void 0,disabled:!0},correctResponse:void 0}),{lineIsSwitched:eB,switchGraphLine:tB,toGraphFormat:nB,toSessionFormat:rB}=p,{Panel:iB,toggle:aB}=Zz;let oB={},sB={},uB={};const lB=Uz(e=>Oq.createElement(_q,{...e,variant:"outlined"}))({width:"150px"}),cB=Uz("div")(({theme:e})=>({display:"flex",flexWrap:"wrap","& > *":{paddingRight:e.spacing(2)}})),fB=Uz("div")(({theme:e})=>({margin:`${e.spacing(2.5)}px 0`})),pB=Uz(Gz)(({theme:e})=>({paddingTop:e.spacing(2),marginBottom:e.spacing(2),width:"100%"})),hB=Uz(Wz)(({theme:e})=>({marginBottom:e.spacing(4)})),dB=Uz("div")(({theme:e})=>({fontSize:e.typography.fontSize-2,color:e.palette.error.main,paddingTop:e.spacing(1)})),mB=Uz("div")({display:"flex",alignItems:"center",gap:"10px"}),gB=Uz(Wz)({display:"flex",alignItems:"center",gap:"10px"}),yB=Uz($z)(({theme:e})=>({marginBottom:e.spacing(2.5)})),vB=e=>`${e.type[0]}${function(e){return e.pointType?e.direction?`${e.pointType[0]}${e.direction[0]}`:e.pointType[0]:`${e.leftPoint[0]}${e.rightPoint[0]}`}(e)}`.toUpperCase();class xB extends jz.Component{static __initStatic(){this.propTypes={model:Lz.object.isRequired,configuration:Lz.object.isRequired,onConfigurationChanged:Lz.func.isRequired,onChange:Lz.func.isRequired,imageSupport:Lz.object.isRequired,uploadSoundSupport:Lz.object.isRequired}}constructor(e){super(e),xB.prototype.__init.call(this),xB.prototype.__init2.call(this),xB.prototype.__init3.call(this),xB.prototype.__init4.call(this),xB.prototype.__init5.call(this),xB.prototype.__init6.call(this),xB.prototype.__init7.call(this),xB.prototype.__init8.call(this),xB.prototype.__init9.call(this),xB.prototype.__init10.call(this),xB.prototype.__init11.call(this),xB.prototype.__init12.call(this),xB.prototype.__init13.call(this),xB.prototype.__init14.call(this),xB.prototype.__init15.call(this),xB.prototype.__init16.call(this);const{model:{graph:{availableTypes:t,maxNumberOfPoints:n}}}=e,r=this.getAdjustedHeight(t,n);this.state={dialog:{open:!1,text:""},correctAnswerDialog:{open:!1,text:""}},this.graphChange({height:r})}componentDidMount(){const{configuration:e,model:t,onChange:n}=this.props,{title:r}=e||{},{titleEnabled:i}=t||{},a=null==i?r.enabled:i;n&&n({...t,titleEnabled:a})}__init(){this.graphChange=e=>{const{model:t,onChange:n}=this.props;let r={...t.graph,...e},i=[];t.correctResponse.forEach((e,t)=>{(e.domainPosition<r.domain.min||e.domainPosition>r.domain.max||e.size&&(e.domainPosition+e.size<r.domain.min||e.domainPosition+e.size>r.domain.max))&&i.push(t)}),i.length>0&&this.setState({correctAnswerDialog:{open:!0,text:"This\nchange would make it impossible for students to plot one or more elements in the current\ncorrect answer. If you proceed, all such elements will be removed from the correct\nanswer.",indices:i,graph:t.graph}}),r=this.reloadTicksData(r),n({graph:r})}}__init2(){this.changeSize=({width:e,height:t})=>this.graphChange({width:e,height:t})}__init3(){this.getAdjustedHeight=(e,t)=>{let n=!0;return Object.entries(e||{}).forEach(([e,t])=>{"PF"!==e&&t&&(n=!1)}),t&&(1===t||n)?100:50+25*(t||20)}}__init4(){this.changeMaxNoOfPoints=(e,t)=>{if(t=Math.floor(t),this.props.model.correctResponse.length>t)return void this.setState({dialog:{open:!0,text:"To use this value, you must first remove one or more elements from the correct answers."}});const{model:{graph:{availableTypes:n}}}=this.props,r=this.getAdjustedHeight(n,t);this.graphChange({maxNumberOfPoints:t,height:r})}}__init5(){this.changeGraphTitle=e=>this.graphChange({title:e})}__init6(){this.changeTicks=e=>{const{model:t,onChange:n}=this.props;let{ticks:r}=e;const i=CE(t.graph.domain,r,t.correctResponse),a=t.graph.initialElements?CE(t.graph.domain,r,t.graph.initialElements):[];n({graph:{...this.updateMajorValue({...t.graph,ticks:r}),initialElements:a},correctResponse:i})}}__init7(){this.reloadTicksData=e=>{const{domain:t,ticks:n,width:r}=e;if(n.tickIntervalType||(n.minor>.5?n.tickIntervalType="Integer":n.tickIntervalType="Decimal"),oB=wE(t,r),oB.min>=1)n.tickIntervalType="Integer",n.minor=n.minor<1?ev(zb(oB.min)):n.minor>=ev(zb(oB.min))&&n.minor<=ev(Zx(oB.max))?n.minor:ev(zb(oB.min)),n.integerTick=n.minor,sB={decimal:[],fraction:[]},n.fractionTick="0",n.decimalTick=0;else if(oB.min>=0&&oB.max<1){"Integer"===n.tickIntervalType&&(n.tickIntervalType="Fraction"),sB=SE(oB);let e=ev(Hv(sB.fraction[0])),t=ev(Hv(sB.fraction[sB.fraction.length-1]));if(n.minor<e||n.minor>t)switch(n.tickIntervalType){case"Fraction":n.minor=ev(Hv(sB.fraction[sB.fraction.length-1])),n.fractionTick=sB.fraction[sB.fraction.length-1],n.decimalTick=sB.decimal[0];break;case"Decimal":case"Integer":n.minor=sB.decimal[sB.decimal.length-1],n.decimalTick=sB.decimal[sB.decimal.length-1],n.fractionTick=sB.fraction[0]}else switch(n.tickIntervalType){case"Fraction":let e=Hv(ev(n.minor));n.fractionTick=e.n+"/"+e.d,n.decimalTick=n.decimalTick?n.decimalTick:sB.decimal[0];break;case"Decimal":case"Integer":n.decimalTick=n.minor,n.fractionTick=n.fractionTick?n.fractionTick:sB.fraction[0]}n.integerTick=1}else if(oB.min<1&&oB.max>=1)if(sB=SE(oB),n.minor>=oB.min&&n.minor<=oB.max)switch(n.tickIntervalType){case"Integer":n.integerTick=n.minor,n.decimalTick=oB.min>.5?0:sB.decimal[0],n.fractionTick=oB.min>.5?"0":sB.fraction[0];break;case"Decimal":n.integerTick=1,n.decimalTick=n.minor,n.fractionTick=sB.fraction[0];break;case"Fraction":n.integerTick=1,n.decimalTick=sB.decimal[0];let e=Hv(ev(n.minor));n.fractionTick=e.n+"/"+e.d}else switch(oB.min>.5&&(n.tickIntervalType="Integer"),n.tickIntervalType){case"Integer":n.minor=ev(zb(oB.min)),n.integerTick=n.minor,n.decimalTick=oB.min>.5?0:sB.decimal[0],n.fractionTick=oB.min>.5?"0":sB.fraction[0];break;case"Decimal":n.minor=sB.decimal[0],n.integerTick=1,n.decimalTick=n.minor,n.fractionTick=sB.fraction[0];break;case"Fraction":n.minor=ev(Hv(sB.fraction[0])),n.integerTick=1,n.decimalTick=sB.decimal[0],n.fractionTick=sB.fraction[0]}return this.updateMajorValue({...e,ticks:n})}}__init8(){this.updateMajorValue=e=>{const{domain:t,ticks:n,width:r}=e;if(uB=((e,t,n)=>{let r={decimal:[],fraction:[]},i=Hv(ev(ev(e))),a=i.n,o=i.d;if(a>=1&&1===o)for(let i=1;i<=10;i++){let o=ev(Jx(a,i));ME(t,n,{minor:e,major:o},{fraction:void 0}).filter(e=>"major"===e.type).length>1&&(r.fraction.push(o.toString()),r.decimal.push(o))}else for(const i in gE[o]){let s=Jx(Hv(a,o),gE[o][i]),u={minor:e,major:ev(s)};ME(t,n,u,{fraction:void 0}).filter(e=>"major"===e.type).length>1&&(1!==s.d?r.fraction.push(s.n+"/"+s.d):r.fraction.push(s.n.toString()),r.decimal.push(ev(s)))}return r})(n.minor,t,r),-1===uB.decimal.indexOf(n.major)){let e=0;e="Integer"===n.tickIntervalType&&uB.decimal.length>4?4:uB.decimal.length-1,n.major=uB.decimal[e]}return e.fraction="Fraction"===n.tickIntervalType&&n.major<1,{...e,ticks:n}}}__init9(){this.changeArrows=e=>this.graphChange({arrows:e})}__init10(){this.setDefaults=()=>{const{graph:{availableTypes:e,maxNumberOfPoints:t}}=zz,n=this.getAdjustedHeight(e,t),r={...Fz(zz.graph),height:n};this.props.onChange({graph:r})}}__init11(){this.moveCorrectResponse=(e,t,n)=>{t.position=n;const{onChange:r,model:i}=this.props,a=rB("line"===t.type&&eB(t)?tB(t):t),o=[...i.correctResponse];o[e]=a,r({correctResponse:o})}}__init12(){this.availableTypesChange=e=>{const{model:t,onChange:n}=this.props,{correctResponse:r,graph:{maxNumberOfPoints:i}}=t;new Set(r.map(vB)).forEach(t=>{e[t]=!0});const a=this.getAdjustedHeight(e,i);n({graph:{...t.graph,availableTypes:e,height:a}})}}__init13(){this.deleteCorrectResponse=e=>{const{model:t,onChange:n}=this.props,r=t.correctResponse.filter((t,n)=>!e.some(e=>e===n));n({correctResponse:r})}}__init14(){this.addCorrectResponse=e=>{const{model:t,onChange:n}=this.props,r=[...t.correctResponse];r.push(rB(e)),n({correctResponse:r})}}__init15(){this.clearCorrectResponse=()=>{const{onChange:e}=this.props;e({correctResponse:[]})}}__init16(){this.undoCorrectResponse=()=>{const{model:e,onChange:t}=this.props,n=[...e.correctResponse];n.pop(),t({correctResponse:n})}}render(){const{model:e,onChange:t,configuration:n,onConfigurationChanged:r,uploadSoundSupport:i,imageSupport:a}=this.props,{baseInputConfiguration:o={},contentDimensions:s={},instruction:u={},teacherInstructions:l={},title:c={},prompt:f={},rationale:p={},spellCheck:h={},mathMlOptions:d={},numberLineDimensions:m={},maxMaxElements:g=20,hidePointConfigButtons:y=!1,availableTools:v=["PF"],settingsPanelDisabled:x=!1}=n||{},{errors:b={},extraCSSRules:w,spellCheckEnabled:N,toolbarEditorPosition:E,teacherInstructionsEnabled:S,titleEnabled:M,promptEnabled:A,rationaleEnabled:C}=e||{};let{graph:O}=e;O=this.reloadTicksData(O);const{dialog:k,correctAnswerDialog:T}=this.state,{correctResponseError:_,domainError:R,maxError:D,pointsError:I,prompt:P,rationale:q,teacherInstructions:z,widthError:B}=b||{},j=Fz(e.correctResponse||[]).map(nB),L=Fz(e);L.disabled=!0;const F={position:"top"===E?"top":"bottom"},U={teacherInstructionsEnabled:l.settings&&aB(l.label),titleEnabled:c.settings&&aB(c.label),promptEnabled:f.settings&&aB(f.label),rationaleEnabled:p.settings&&aB(p.label),spellCheckEnabled:h.settings&&aB(h.label)},$=(e={})=>({...o,...e});return jz.createElement(Jz.ConfigLayout,{extraCSSRules:w,dimensions:s,hideSettings:x,settings:jz.createElement(iB,{model:e,configuration:n,onChangeModel:t,onChangeConfiguration:r,groups:{Properties:U}})},jz.createElement(yB,{component:"div",type:"body1"},u.label),S&&jz.createElement(pB,{label:l.label},jz.createElement(Xz,{markup:e.teacherInstructions||"",onChange:e=>t({teacherInstructions:e}),nonEmpty:!1,disableUnderline:!0,error:z,toolbarOpts:F,pluginProps:$(Kz([l,"optionalAccess",e=>e.inputConfiguration])),spellCheck:N,imageSupport:a,uploadSoundSupport:i,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:d}),z&&jz.createElement(dB,null,z)),A&&jz.createElement(pB,{label:f.label},jz.createElement(Xz,{markup:e.prompt||"",onChange:e=>t({prompt:e}),nonEmpty:!1,disableUnderline:!0,error:P,toolbarOpts:F,pluginProps:$(Kz([f,"optionalAccess",e=>e.inputConfiguration])),spellCheck:N,imageSupport:a,uploadSoundSupport:i,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:d}),P&&jz.createElement(dB,null,P)),jz.createElement($q,{header:"Set Up Number Line",info:jz.createElement(Vz,{disableFocusListener:!0,disableTouchListener:!0,placement:"right",title:"Validation requirements:\nThe correct answer should include at least one number line object.",slotProps:{tooltip:{sx:e=>({fontSize:e.typography.fontSize-2,whiteSpace:"pre",maxWidth:"500px"})}}},jz.createElement(Hz,{fontSize:"small",color:"primary",style:{marginLeft:"8px"}}))},"Set up the number line by entering the domain and number of tick marks to display. Labels on the number line can be edited or removed by clicking on the label."),jz.createElement(cB,null,jz.createElement(iz,{domain:O.domain,errors:b,onChange:e=>this.graphChange({domain:e})})),D&&jz.createElement(dB,null,D),R&&jz.createElement(dB,null,R),jz.createElement("div",null,jz.createElement(Wz,null,jz.createElement(qz,{ticks:O.ticks,minorLimits:oB,minorValues:sB,majorValues:uB,onChange:this.changeTicks}))),jz.createElement(mB,null,e.widthEnabled&&jz.createElement(Kq,{size:O,min:m.min,max:m.max,step:m.step,onChange:this.changeSize}),jz.createElement("div",null),jz.createElement(fz,{arrows:O.arrows,onChange:this.changeArrows})),B&&jz.createElement(dB,null,B),jz.createElement(Mq,{onMoveElement:()=>{},onDeleteElements:()=>{},onAddElement:()=>{},onClearElements:()=>{},onUndoElement:()=>{},minWidth:m.min,maxWidth:m.max,maxHeight:70,model:Qz(L)}),M&&jz.createElement(hB,{label:Kz([c,"optionalAccess",e=>e.label])||"Title"},jz.createElement(Xz,{markup:O.title||"",onChange:this.changeGraphTitle,toolbarOpts:F,activePlugins:["bold","html","italic","underline","strikethrough","image","math","languageCharacters","responseArea"],pluginProps:$(Kz([c,"optionalAccess",e=>e.inputConfiguration])),spellCheck:N,imageSupport:a,uploadSoundSupport:i,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:d})),!O.exhibitOnly&&jz.createElement(jz.Fragment,null,jz.createElement($q,{header:"Define Tool Set and Correct Response"},"Select answer type and place it on the number line. Intersecting points, line segments and/or rays will appear above the number line. ",jz.createElement("i",null,"Note: A maximum of 20 points, line segments or rays may be plotted.")),jz.createElement($q,{header:"Available Tools",mini:!0},"Click on the input options to be displayed to the students. All inputs will display by default."),jz.createElement(fB,null,jz.createElement(vz,{onSelectionChange:this.availableTypesChange,selection:O.availableTypes,availableTools:v,hideButtons:y})),jz.createElement(gB,null,jz.createElement("label",null,"Max No of Elements"),jz.createElement(lB,{min:1,max:g,onlyIntegersAllowed:!0,value:O.maxNumberOfPoints,onChange:this.changeMaxNoOfPoints}),I&&jz.createElement(dB,null,I)),jz.createElement("label",null,"Correct Answer"),jz.createElement(Mq,{onMoveElement:this.moveCorrectResponse,onDeleteElements:this.deleteCorrectResponse,onAddElement:this.addCorrectResponse,onClearElements:this.clearCorrectResponse,onUndoElement:this.undoCorrectResponse,minWidth:m.min,maxWidth:m.max,answer:j,model:Qz(e)}),_&&jz.createElement(dB,null,_)),jz.createElement(Yz,{open:k.open,title:"Warning",text:k.text,onConfirm:()=>this.setState({dialog:{open:!1}})}),jz.createElement(Yz,{open:T.open,title:"Warning",text:T.text,onConfirm:()=>{let e=this.state.correctAnswerDialog.indices;e&&e.length>0&&this.deleteCorrectResponse(e),this.setState({correctAnswerDialog:{open:!1}})},onClose:()=>{const e=this.state.correctAnswerDialog.graph;t({graph:e}),this.setState({correctAnswerDialog:{open:!1}})},onConfirmText:"OK",onCloseText:"Cancel"}),C&&jz.createElement(pB,{label:p.label||"Rationale"},jz.createElement(Xz,{markup:e.rationale||"",onChange:e=>t({rationale:e}),error:q,toolbarOpts:F,spellCheck:N,pluginProps:$(Kz([p,"optionalAccess",e=>e.inputConfiguration])),imageSupport:a,uploadSoundSupport:i,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:d}),q&&jz.createElement(dB,null,q)))}}xB.__initStatic();var bB={};Object.defineProperty(bB,"__esModule",{value:!0});class wB extends CustomEvent{constructor(e,t=!1){super(wB.TYPE,{bubbles:!0,detail:{update:e,reset:t}}),this.update=e,this.reset=t}}wB.TYPE="model.updated";var NB=bB.ModelUpdatedEvent=wB;class EB extends CustomEvent{constructor(e,t){super(EB.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}EB.TYPE="delete.image";var SB=bB.DeleteImageEvent=EB;class MB extends CustomEvent{constructor(e){super(MB.TYPE,{bubbles:!0,detail:e}),this.handler=e}}MB.TYPE="insert.image";var AB=bB.InsertImageEvent=MB;class CB extends CustomEvent{constructor(e,t){super(CB.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}CB.TYPE="delete.sound";var OB=bB.DeleteSoundEvent=CB;class kB extends CustomEvent{constructor(e){super(kB.TYPE,{bubbles:!0,detail:e}),this.handler=e}}kB.TYPE="insert.sound";var TB=bB.InsertSoundEvent=kB;const _B=r,{cloneDeep:RB}=i;function DB(e){let t,n=e[0],r=1;for(;r<e.length;){const i=e[r],a=e[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=a(n)):"call"!==i&&"optionalCall"!==i||(n=a((...e)=>n.call(t,...e)),t=void 0)}return n}class IB extends HTMLElement{static __initStatic(){this.createDefaultModel=(e={})=>{const t=Bz;let n=e.language||"";return!n&&t.language&&t.language.enabled&&DB([t,"access",e=>e.languageChoices,"optionalAccess",e=>e.options,"optionalAccess",e=>e.length])&&(n=t.languageChoices.options[0].value),(e=>{const{graph:{domain:t,labelStep:n,ticks:r={}}={}}=e,{minor:i,major:a}=r;if(t&&(t.min=Number((t.min||0).toFixed(2)),t.max=Number((t.max||0).toFixed(2))),n&&"string"==typeof n&&n.match(/^[1-9][0-9]*\/[1-9][0-9]*$/g)){e.graph.fraction=!0,r.tickIntervalType="Fraction";const t=nE(n);t!==a&&(r.major=t,r.minor=t/(a/i))}return e})({...zz,...e,language:n})}}constructor(){super(),IB.prototype.__init.call(this),IB.prototype.__init2.call(this),IB.prototype.__init3.call(this),this._root=null,this._model=IB.createDefaultModel(),this._configuration=Bz}set model(e){this._model=IB.createDefaultModel(e),this._modelCopy=RB(this._model),this._rerender()}__init(){this.resetModelAfterConfigurationIsSet=()=>{const e=document.querySelectorAll("pie-author");this.hasPlayerAsParent=Array.from(e).some(e=>e.contains(this)),this.hasPlayerAsParent&&(this._modelCopy?this._model=this._modelCopy:delete this._modelCopy)}}set configuration(e){const t={...Bz,...e};this._configuration=t,this.resetModelAfterConfigurationIsSet(),DB([t,"optionalAccess",e=>e.language,"optionalAccess",e=>e.enabled])?DB([t,"optionalAccess",e=>e.languageChoices,"optionalAccess",e=>e.options,"optionalAccess",e=>e.length])&&(this._model.language=DB([t,"optionalAccess",e=>e.languageChoices,"access",e=>e.options,"access",e=>e[0],"access",e=>e.value])):t.language.settings&&this._model.language?(this._configuration.language.enabled=!0,this._configuration.languageChoices.options&&this._configuration.languageChoices.options.length||(this._configuration.languageChoices.options=[]),this._configuration.languageChoices.options.find(e=>e.value===this._model.language)||this._configuration.languageChoices.options.push({value:this._model.language,label:this._model.language})):delete this._model.language,this._rerender()}__init2(){this.onChange=e=>{this._model={...this._model,...e},this.dispatchEvent(new NB(this._model)),this._rerender()}}__init3(){this.onConfigurationChanged=e=>{this._configuration=e,this._render()}}insertImage(e){this.dispatchEvent(new AB(e))}onDeleteImage(e,t){this.dispatchEvent(new SB(e,t))}insertSound(e){this.dispatchEvent(new TB(e))}onDeleteSound(e,t){this.dispatchEvent(new OB(e,t))}_rerender(){let e=_B.createElement(xB,{model:this._model,configuration:this._configuration,onChange:this.onChange,onConfigurationChanged:this.onConfigurationChanged,imageSupport:{add:this.insertImage.bind(this),delete:this.onDeleteImage.bind(this)},uploadSoundSupport:{add:this.insertSound.bind(this),delete:this.onDeleteSound.bind(this)}});this._root||(this._root=Aq(this)),this._root.render(e)}disconnectedCallback(){this._root&&this._root.unmount()}}IB.__initStatic();export{IB as default};