solve-engine 2.38.3 → 2.38.4
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.
- package/dist/{chunk-TVKC72HI.cjs → chunk-6UGSI263.cjs} +3 -3
- package/dist/{chunk-TVKC72HI.cjs.map → chunk-6UGSI263.cjs.map} +1 -1
- package/dist/{chunk-6PLYMHFE.js → chunk-D52DE6EY.js} +3 -3
- package/dist/{chunk-6PLYMHFE.js.map → chunk-D52DE6EY.js.map} +1 -1
- package/dist/{chunk-7H2QHGHP.cjs → chunk-DONOF2NA.cjs} +2 -2
- package/dist/{chunk-7H2QHGHP.cjs.map → chunk-DONOF2NA.cjs.map} +1 -1
- package/dist/{chunk-7DA2OMRJ.cjs → chunk-E4OXWDC6.cjs} +4 -4
- package/dist/{chunk-7DA2OMRJ.cjs.map → chunk-E4OXWDC6.cjs.map} +1 -1
- package/dist/{chunk-BNFLGJSL.js → chunk-F6BLEHJR.js} +3 -3
- package/dist/{chunk-BNFLGJSL.js.map → chunk-F6BLEHJR.js.map} +1 -1
- package/dist/chunk-GOHW34BB.js +2 -0
- package/dist/chunk-GOHW34BB.js.map +1 -0
- package/dist/{chunk-6C6KPZXZ.js → chunk-IPVC55ZS.js} +2 -2
- package/dist/{chunk-6C6KPZXZ.js.map → chunk-IPVC55ZS.js.map} +1 -1
- package/dist/{chunk-MCJDFVAJ.cjs → chunk-O7IUJXOT.cjs} +2 -2
- package/dist/{chunk-MCJDFVAJ.cjs.map → chunk-O7IUJXOT.cjs.map} +1 -1
- package/dist/{chunk-UUCFL3D6.js → chunk-UDBOAKLW.js} +2 -2
- package/dist/{chunk-UUCFL3D6.js.map → chunk-UDBOAKLW.js.map} +1 -1
- package/dist/chunk-WCYAFAUN.cjs +2 -0
- package/dist/chunk-WCYAFAUN.cjs.map +1 -0
- package/dist/{chunk-YPXC3ISN.cjs → chunk-YXULZQCL.cjs} +3 -3
- package/dist/{chunk-YPXC3ISN.cjs.map → chunk-YXULZQCL.cjs.map} +1 -1
- package/dist/{chunk-RRRU3IVJ.js → chunk-Z7NUXVH4.js} +3 -3
- package/dist/{chunk-RRRU3IVJ.js.map → chunk-Z7NUXVH4.js.map} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/engine.cjs +1 -1
- package/dist/engine.js +1 -1
- package/dist/engine.worker.cjs +1 -1
- package/dist/engine.worker.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/packages.cjs +1 -1
- package/dist/packages.js +1 -1
- package/dist/testing.cjs +2 -2
- package/dist/testing.js +1 -1
- package/dist/vm.cjs +1 -1
- package/dist/vm.js +1 -1
- package/dist/worker.cjs +2 -2
- package/dist/worker.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-EVY2Y4FT.js +0 -2
- package/dist/chunk-EVY2Y4FT.js.map +0 -1
- package/dist/chunk-J4Y4MAX4.cjs +0 -2
- package/dist/chunk-J4Y4MAX4.cjs.map +0 -1
package/dist/chunk-EVY2Y4FT.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {b as b$1}from'./chunk-X2GQAKL2.js';import {c as c$2}from'./chunk-PICFFFJV.js';import {ga,C,z,B as B$1,E,p,i,j,r,s,qa,l,h,g,f,e as e$1,k,Q as Q$1,V as V$1,ha,la,ra,ja,ma,J as J$1,w as w$1,o,a as a$1,d,u as u$1,W,Y,F,_,da,ca,ba,$,L,O,c as c$3,na as na$1,pa,ka,ia as ia$1,oa,v as v$1,q as q$1,m as m$1,b as b$2,A,n as n$1,K as K$2,fa,I,H as H$1,G,N as N$1,t as t$1,D,P as P$2,y,x,M}from'./chunk-IHPYXJIY.js';import {b}from'./chunk-EOO6M65F.js';import {Q,P as P$1,p as p$1,q,K as K$1,n,s as s$1,u,C as C$1,v,m,H,N,t,r as r$1}from'./chunk-A34R65WT.js';import {c as c$1,e,i as i$1,j as j$1}from'./chunk-BWTVJD5L.js';import {a}from'./chunk-PRSXXDTA.js';import {c}from'./chunk-6G2NES2I.js';function Qt(e,t){let n=t===2?L:M,o=n(e.n),r=n(e.d);return o===null||r===null?null:{n:o,d:r}}function zt(e,t){let n=y(e),o=new Map;for(let[r,i]of n){if(i%t!==0)return null;o.set(r,i/t);}return x(o)}function eo(e,t){let n=y(e);for(let[o,r]of y(t))n.set(o,(n.get(o)??0)+r);return x(n)}function Jt(e,t){let n=y(e);for(let[o,r]of y(t)){let i=(n.get(o)??0)-r;i<=0?n.delete(o):n.set(o,i);}return x(n)}function to(e,t){let n=y(e),o=new Map;for(let[r,i]of y(t)){let a=n.get(r);a!==void 0&&o.set(r,Math.min(a,i));}return x(o)}function no(e){let t=new Set;for(let n of e)for(let o of y(n).keys())t.add(o);return [...t].sort()}function J(e){let t=new Map;for(let n of e)t.set(n.key,n.coefficient);return E({terms:t,vars:no(e.map(n=>n.key))})}function tt(e){let t=e[0];for(let n=1;n<e.length;n++)t={kind:"mul",left:t,right:e[n]};return t}function oo(e){return [...e.terms].map(([n,o])=>({key:n,coefficient:o})).sort((n,o)=>D(n.key,o.key,e.vars))}function nn(e){if(e.vars.length<2)return null;let t=oo(e);return t.length===2?ro(t[0],t[1]):t.length===3?io(t):t.length===4?ao(t):null}function ro(e,t){let n=e.coefficient.n>0n,o=t.coefficient.n>0n;if(!n)return null;let r=nt(e,t,2);if(r!==null&&!o)return tt([J([r.a,De(r.b)]),J([r.a,r.b])]);let i=nt(e,t,3);if(i===null)return null;let a=J(o?[i.a,i.b]:[i.a,De(i.b)]),u=o?De(Pe(i.a,i.b)):Pe(i.a,i.b);return tt([a,J([en(i.a),u,en(i.b)])])}function nt(e,t,n){let o=t.coefficient.n<0n?j(t.coefficient):t.coefficient,r=Qt(e.coefficient,n),i=Qt(o,n);if(r===null||i===null)return null;let a=zt(e.key,n),u=zt(t.key,n);return a===null||u===null?null:{a:{key:a,coefficient:r},b:{key:u,coefficient:i}}}function De(e){return {key:e.key,coefficient:j(e.coefficient)}}function Pe(e,t){return {key:eo(e.key,t.key),coefficient:h(e.coefficient,t.coefficient)}}function en(e){return Pe(e,e)}function io(e){let[t,n,o]=e;if(t.coefficient.n<0n||o.coefficient.n<0n)return null;let r=nt(t,o,2);if(r===null)return null;let i$1=Pe(r.a,r.b);if(i$1.key!==n.key)return null;let a=h(i$1.coefficient,{n:2n,d:1n}),u=n.coefficient.n<0n,l=u?j(n.coefficient):n.coefficient;return m$1(i(l,a))?{kind:"pow",base:J([r.a,u?De(r.b):r.b]),exponent:p(2)}:null}function ao(e){let t=[[[0,1],[2,3]],[[0,2],[1,3]],[[0,3],[1,2]]];for(let n of t){let o=tn(e[n[0][0]],e[n[0][1]]),r=tn(e[n[1][0]],e[n[1][1]]);if(!(o===null||r===null)&&uo(o.cofactor,r.cofactor))return tt([J([o.common,r.common]),J(o.cofactor)])}return null}function tn(e,t){let n=to(e.key,t.key),o={key:n,coefficient:e.coefficient},r=[{key:Jt(e.key,n),coefficient:{n:1n,d:1n}},{key:Jt(t.key,n),coefficient:i(t.coefficient,e.coefficient)}];return r[0].key===r[1].key?null:{common:o,cofactor:r}}function uo(e,t){return e.length!==t.length?false:e.every((n,o)=>n.key===t[o].key&&n.coefficient.n===t[o].coefficient.n&&n.coefficient.d===t[o].coefficient.d)}var lo=12,Le=4096;function Ue(e,t){let n=e<0n?-e:e,o=t<0n?-t:t;for(;o!==0n;){let r=n%o;n=o,o=r;}return n}function rn(e,t){return e===0n||t===0n?0n:e/Ue(e,t)*t}function on(e){let t=e<0n?-e:e;if(t===0n)return null;let n=[];for(let o=1n;o*o<=t;o++){if(t%o!==0n)continue;n.push(o);let r=t/o;if(r!==o&&n.push(r),n.length>Le)return null}return n}function an(e,t){let n=a$1;for(let o of e)n=f(h(n,t),o);return n}function so(e,t){let n=[e[0]];for(let o=1;o<e.length-1;o++)n.push(f(e[o],h(n[o-1],t)));return n}function se(e){if(e.length<2)return [];let t=1n;for(let s of e)t=rn(t,s.d);let n=e.map(s=>s.n*t/s.d),o=n[0],r=n[n.length-1];if(r===0n)return [];let i=on(r),a=on(o);if(i===null||a===null)throw c.execution("SYMBOLIC_FACTOR_LIMIT_EXCEEDED","This polynomial's coefficients have too many divisors to search for rational roots.",{limit:Le});if(i.length*a.length>Le)throw c.execution("SYMBOLIC_FACTOR_LIMIT_EXCEEDED","This polynomial has too many candidate rational roots to test.",{limit:Le});let u=[],l$1=new Set;for(let s of i)for(let p of a)for(let h of [1n,-1n]){let N={n:h*s/Ue(s,p),d:p/Ue(s,p)},S=`${N.n}/${N.d}`;l$1.has(S)||(l$1.add(S),l(an(e,N))&&u.push(N));}return u}function co(e,t){return l(t)?q$1(e):t.n>0n?{kind:"sub",left:q$1(e),right:p(t)}:{kind:"add",left:q$1(e),right:p(j(t))}}function mo(e,t){let n=e.length-1,o=new Map;return e.forEach((r,i)=>{if(l(r))return;let a=n-i;o.set(a===0?"":a===1?t:`${t}^${a}`,r);}),E({terms:o,vars:o.size>0?[t]:[]})}function rt(e,t){let n=[],o=[...e],r=se(o);for(;r.length>0&&o.length>2;){for(let a of r){let u=0;for(;o.length>1&&l(an(o,a));)o=so(o,a),u++;u>0&&n.push({base:co(t,a),power:u});}r=o.length>2?se(o):[];}return o.length-1>=1?(n.push({base:mo(o,t),power:1}),{content:b$2,factors:n}):{content:o.length===1?o[0]:b$2,factors:n}}function fo(e){let t=[];m$1(e.content)||t.push(p(e.content));for(let o of e.factors)t.push(o.power===1?o.base:r(o.base,p({n:BigInt(o.power),d:1n})));if(t.length===0)return p(b$2);let n=t[0];for(let o=1;o<t.length;o++)n={kind:"mul",left:n,right:t[o]};return n}function po(e){let t=0n,n=1n;for(let o of e.terms.values())t=Ue(t,o.n),n=rn(n,o.d);return t===0n?b$2:{n:t,d:n}}function bo(e){let t=new Map;for(let r of e.vars){let i=1/0;for(let a of e.terms.keys()){let u=yo(a,r);u<i&&(i=u);}i>0&&i!==1/0&&t.set(r,i);}if(t.size===0)return {monomial:t,reduced:e};let n=new Map;for(let[r,i]of e.terms){let a=ot(r);for(let[u,l]of t)a.set(u,(a.get(u)??0)-l);n.set(ho(a),i);}let o=new Set;for(let r of n.keys())for(let i of ot(r).keys())o.add(i);return {monomial:t,reduced:{terms:n,vars:[...o].sort()}}}function yo(e,t){return ot(e).get(t)??0}function ot(e){let t=new Map;if(e==="")return t;for(let n of e.split("*")){let o=n.indexOf("^");o===-1?t.set(n,1):t.set(n.slice(0,o),Number(n.slice(o+1)));}return t}function ho(e){return [...e.keys()].filter(n=>(e.get(n)??0)>0).sort().map(n=>e.get(n)===1?n:`${n}^${e.get(n)}`).join("*")}function No(e){let t=[...e.keys()].sort(),n=null;for(let o of t){let r$1=e.get(o),i=r$1===1?q$1(o):r(q$1(o),p({n:BigInt(r$1),d:1n}));n=n===null?i:{kind:"mul",left:n,right:i};}return n}function un(e){let t=C(e);if(t===null||t.terms.size===0||z(t)>lo||t.vars.length===0)return e;let n=po(t),o=m$1(n)?t:go(t,i(b$2,n)),{monomial:r,reduced:i$1}=bo(o),a=No(r),u=A(i$1);if(u===null){let W=nn(i$1);return W!==null?Ro(n,a,W):Ao(n,a,i$1)??e}let l=[...B$1(i$1,u)].reverse(),s=rt(l,u),p$1=h(n,s.content);if(s.factors.length<=1&&(s.factors[0]?.power??1)===1&&a===null&&m$1(p$1))return e;let N=[];m$1(p$1)||N.push(p(p$1)),a!==null&&N.push(a),N.push(fo({content:b$2,factors:s.factors}));let S=N[0];for(let W=1;W<N.length;W++)S={kind:"mul",left:S,right:N[W]};return S}function go(e,t){let n=new Map;for(let[o,r]of e.terms)n.set(o,h(r,t));return {terms:n,vars:e.vars}}function Ro(e,t,n){let o=[];m$1(e)||o.push(p(e)),t!==null&&o.push(t),o.push(n);let r=o[0];for(let i=1;i<o.length;i++)r={kind:"mul",left:r,right:o[i]};return r}function Ao(e,t,n){if(t===null&&m$1(e))return null;let o=[];m$1(e)||o.push(p(e)),t!==null&&o.push(t),o.push(E(n));let r=o[0];for(let i=1;i<o.length;i++)r={kind:"mul",left:r,right:o[i]};return r}var V={n:2n,d:1n},B={n:3n,d:1n},ge={n:4n,d:1n};function xo(e,t,n,o){let r=j(i(t,h(B,e))),i$1=i(g(h(B,h(e,n)),h(t,t)),h(B,h(e,e))),a=h(V,h(t,h(t,t))),u=h({n:9n,d:1n},h(e,h(t,n))),l=h({n:27n,d:1n},h(h(e,e),o)),s=i(f(g(a,u),l),h({n:27n,d:1n},h(e,h(e,e))));return {p:i$1,q:s,shift:r}}function sn(e,t,n,o){let{p:r,q:i,shift:a}=xo(e,t,n,o),u=j(f(h(ge,h(r,h(r,r))),h({n:27n,d:1n},h(i,i))));return k(u,a$1)>0?{exact:[],approximate:Io(r,i,a)}:l(u)?{exact:vo(r,i,a),approximate:[]}:{exact:Mo(r,i,a),approximate:[]}}function vo(e,t,n){if(l(e))return [p(n)];let o=f(i(h(B,t),e),n),r=f(j(i(h(B,t),h(V,e))),n);return [o,r].sort(k).map(p)}function Mo(e,t,n){let o=j(i(t,V)),r=f(h(i(t,V),i(t,V)),h(i(e,B),h(i(e,B),i(e,B)))),i$1=O(r),a={kind:"call",name:"cbrt",args:[{kind:"add",left:p(o),right:i$1}]},u={kind:"call",name:"cbrt",args:[{kind:"sub",left:p(o),right:i$1}]},l={kind:"add",left:a,right:u},s={kind:"sub",left:a,right:u},p$1={kind:"add",left:p(n),right:{kind:"div",left:{kind:"neg",operand:l},right:p(V)}},h$1={kind:"mul",left:{kind:"div",left:{kind:"mul",left:s,right:O(B)},right:p(V)},right:w$1(n$1)};return [{kind:"add",left:p(n),right:l},{kind:"sub",left:p$1,right:h$1},{kind:"add",left:p$1,right:h$1}]}function Io(e,t,n){let o=e$1(e),r=e$1(t),i=e$1(n),a=2*Math.sqrt(-o/3),u=3*r/(2*o)*Math.sqrt(-3/o),l=Math.acos(Math.min(1,Math.max(-1,u)))/3;return [0,1,2].map(s=>a*Math.cos(l-2*Math.PI*s/3)+i).sort((s,p)=>s-p)}function Eo(e,t,n,o){let r=j(i(e,ge)),i$1=h(e,e),a=g(t,i(h(B,i$1),{n:8n,d:1n})),u=f(g(n,i(h(e,t),V)),i(h(i$1,e),{n:8n,d:1n})),l=g(f(g(o,i(h(e,n),ge)),i(h(i$1,t),{n:16n,d:1n})),i(h(B,h(i$1,i$1)),{n:256n,d:1n}));return {p:a,q:u,r:l,shift:r}}function cn(e,t,n,o,r,i$1){let a=S=>i(S,e),{p:u,q:l$1,r:s,shift:p$1}=Eo(a(t),a(n),a(o),a(r)),h=l(l$1)?ko(u,s):wo(u,l$1,s,i$1);if(h===null)return null;let N=l(p$1)?h:h.map(S=>({kind:"add",left:p(p$1),right:S}));return {exact:So(N),approximate:[]}}function So(e){let t=new Set,n=[];for(let o of e){let r=t$1(Q$1(o));t.has(r)||(t.add(r),n.push(o));}return n}function ko(e,t){let n=g(h(e,e),h(ge,t));if(k(n,a$1)<0)return To(e,t);let o=N$1(n);return o!==null?_o(j(e),o,l(n)):Vo(e,t,n)}function _o(e,t,n){let o=n?[i(e,V)]:[i(f(e,t),V),i(g(e,t),V)],r=[];for(let i of o){if(l(i)){r.push(p(a$1));continue}let a=P$2(i);r.push({kind:"neg",operand:a},a);}return r}function Vo(e,t,n){let o=p(j(e)),r=O(n),i=k(e,a$1)<=0,a=[{node:it({kind:"add",left:o,right:r}),positive:i||k(t,a$1)<=0},{node:it({kind:"sub",left:o,right:r}),positive:i&&k(t,a$1)>=0}],u=[];for(let{node:l,positive:s}of a){let h={kind:"call",name:"sqrt",args:[s?l:{kind:"neg",operand:l}]},N=s?h:{kind:"mul",left:h,right:w$1(n$1)};u.push({kind:"neg",operand:N},N);}return u}function it(e){return {kind:"div",left:e,right:p(V)}}function To(e,t){let n=i(j(e),V),o=N$1(t),r=o===null?ln(O(t),n):O(i(f(o,n),V)),a={kind:"mul",left:o===null?ln(O(t),j(n)):O(i(g(o,n),V)),right:w$1(n$1)},u={kind:"add",left:r,right:a},l={kind:"sub",left:r,right:a};return [{kind:"neg",operand:u},{kind:"neg",operand:l},l,u]}function ln(e,t){let n=t.n>=0n?{kind:"add",left:e,right:p(t)}:{kind:"sub",left:e,right:p(j(t))};return {kind:"call",name:"sqrt",args:[it(n)]}}function wo(e,t,n,o){let r=[{n:1n,d:1n},h(V,e),g(h(e,e),h(ge,n)),j(h(t,t))];for(let i$1 of se(r)){if(k(i$1,a$1)<=0)continue;let a=N$1(i$1);if(a===null)continue;let u=f(e,i$1),l=i(t,a),s=i(g(u,l),V),p=i(f(u,l),V),h={n:1n,d:1n};return [...o(h,a,s),...o(h,j(a),p)]}return null}var Oo=200,Co=1e-14,Do=1e-10,Po=1e-10,mn=1e-9,Lo=1e-8,Uo=4;function Re(e,t){return {re:e.re-t.re,im:e.im-t.im}}function Fo(e,t){return {re:e.re*t.re-e.im*t.im,im:e.re*t.im+e.im*t.re}}function dn(e,t){if(Math.abs(t.re)>=Math.abs(t.im)){let r=t.im/t.re,i=t.re+t.im*r;return {re:(e.re+e.im*r)/i,im:(e.im-e.re*r)/i}}let n=t.re/t.im,o=t.re*n+t.im;return {re:(e.re*n+e.im)/o,im:(e.im*n-e.re)/o}}function K(e){return Math.hypot(e.re,e.im)}function Fe(e,t){let n=0,o=0;for(let r of e){let i=n*t.re-o*t.im+r;o=n*t.im+o*t.re,n=i;}return {re:n,im:o}}function $o(e,t){let n=K(t),o=0;for(let r of e)o=o*n+Math.abs(r);return o}function Bo(e){let t=e.length-1,n=[];for(let o=0;o<t;o++)n.push(e[o]*(t-o));return n}function qo(e){let t=[...e].reverse(),o=[...K$2(t)].reverse().map(e$1);return o.some(r=>!Number.isFinite(r))?null:o}function Yo(e){let t=e.length-1,n=0;for(let a=1;a<e.length;a++)n=Math.max(n,Math.abs(e[a]));let o=1+n,r=-e[1]/t,i=[];for(let a=0;a<t;a++){let u=2*Math.PI*a/t+Math.PI/(2*t);i.push({re:r+o*Math.cos(u),im:o*Math.sin(u)});}return i}function Go(e){let t=e.length-1,n=Yo(e);for(let o=0;o<Oo;o++){let r=0,i=1;for(let a=0;a<t;a++){let u={re:1,im:0};for(let s=0;s<t;s++)a!==s&&(u=Fo(u,Re(n[a],n[s])));if(u.re===0&&u.im===0){n[a]={re:n[a].re+1e-6*(a+1),im:n[a].im+1e-6};continue}let l=dn(Fe(e,n[a]),u);if(!Number.isFinite(l.re)||!Number.isFinite(l.im))return null;n[a]=Re(n[a],l),r=Math.max(r,K(l)),i=Math.max(i,K(n[a]));}if(r<=Co*i)return n}return null}function fn(e,t,n){let o=n;for(let r=0;r<Uo;r++){let i=Fe(t,o);if(i.re===0&&i.im===0)break;let a=Re(o,dn(Fe(e,o),i));if(!Number.isFinite(a.re)||!Number.isFinite(a.im))break;o=a;}return o}function jo(e,t,n){let o=Math.max(1,K(n));if(n.im!==0&&Math.abs(n.im)<=mn*o){let r=fn(e,t,{re:n.re,im:0});if(at(e,r))return {re:r.re,im:0}}if(n.re!==0&&Math.abs(n.re)<=mn*o){let r=fn(e,t,{re:0,im:n.im});if(at(e,r))return {re:0,im:r.im}}return n}function at(e,t){return !Number.isFinite(t.re)||!Number.isFinite(t.im)?false:K(Fe(e,t))<=Do*$o(e,t)}function Ko(e){let t=[...e],n=t.map(o=>o.im===0);for(let o=0;o<t.length;o++){if(n[o])continue;let r={re:t[o].re,im:-t[o].im},i=-1,a=Number.POSITIVE_INFINITY;for(let p=o+1;p<t.length;p++){if(n[p])continue;let h=K(Re(t[p],r));h<a&&(a=h,i=p);}if(i===-1||a>Lo*Math.max(1,K(t[o])))continue;let u=(t[o].re+t[i].re)/2,l=(Math.abs(t[o].im)+Math.abs(t[i].im))/2,s=t[o].im<0?-1:1;t[o]={re:u,im:s*l},t[i]={re:u,im:-s*l},n[o]=true,n[i]=true;}return t}function Xo(e){for(let t=0;t<e.length;t++)for(let n=t+1;n<e.length;n++){let o=Math.max(1,K(e[t]),K(e[n]));if(K(Re(e[t],e[n]))<=Po*o)return false}return true}function pn(e){let t=qo(e);if(t===null)return null;if(t.length<2)return [];let n=Go(t);if(n===null)return null;let o=Bo(t),r=Ko(n).map(i=>jo(t,o,i));for(let i of r)if(!at(t,i))return null;return Xo(r)?[...r].sort((i,a)=>i.re-a.re||i.im-a.im):null}var bn=8;function Zo(e,t){let n=a$1;for(let o of e)n=f(h(n,t),o);return n}function Ho(e,t){let n=[e[0]];for(let o=1;o<e.length-1;o++)n.push(f(e[o],h(n[o-1],t)));return n}function yn(e,t,n){let o=g(h(t,t),h(zo(),h(e,n))),r=h(Qo(),e);if(k(o,a$1)<0)return Wo(j(t),o,r);if(l(o))return [p(i(j(t),r))];let i$1=L(o.n),a=L(o.d);if(i$1!==null&&a!==null){let h={n:i$1,d:a},N=i(f(j(t),h),r),S=i(g(j(t),h),r);return k(S,N)<=0?[p(S),p(N)]:[p(N),p(S)]}let u=O(o),l$1=k(r,a$1)>0,s={kind:"div",left:{kind:"sub",left:p(j(t)),right:u},right:p(r)},p$1={kind:"div",left:{kind:"add",left:p(j(t)),right:u},right:p(r)};return l$1?[s,p$1]:[p$1,s]}function Wo(e,t,n){let o$1=j(t),r=L(o$1.n),i$1=L(o$1.d);if(r!==null&&i$1!==null){let s=i({n:r,d:i$1},n),p=i(e,n);return [w$1(o(p,j(s))),w$1(o(p,s))]}let a=i(e,n),u=i(o$1,h(n,n)),l$1={kind:"mul",left:O(u),right:w$1(n$1)};return l(a)?[{kind:"neg",operand:l$1},l$1]:[{kind:"sub",left:p(a),right:l$1},{kind:"add",left:p(a),right:l$1}]}function Qo(){return {n:2n,d:1n}}function zo(){return {n:4n,d:1n}}function Jo(e){return {re:e,im:0}}function hn(e,t,n){let o=C({kind:"sub",left:e,right:t});if(o===null)return {kind:"unsupported",reason:"this is not a polynomial equation (it divides by an unknown, or calls a function of one)"};let r=o.vars.filter(u=>u!==n),i=z(o,n);if(r.length>0)return i!==1?{kind:"unsupported",reason:`solving for "${n}" needs the equation to be linear in it when other unknowns (${r.join(", ")}) are present`}:er(o,n);if(i===0)return o.terms.size===0?{kind:"identity"}:{kind:"contradiction"};if(i>bn)return {kind:"unsupported",reason:`degree ${i} is above the supported maximum of ${bn}`};let a=[...B$1(o,n)].reverse();return or(a)}function er(e,t){let n=new Map,o=new Map;for(let[u,l]of e.terms){let s=u.split("*").filter(h=>h.length>0),p=s.indexOf(t);p===-1?o.set(u,l):(s.splice(p,1),n.set(s.join("*"),l));}let r=u=>{let l=new Set;for(let s of u.keys())for(let p of s.split("*"))p.length>0&&l.add(p.split("^")[0]);return [...l].sort()},i=E({terms:n,vars:r(n)});return {kind:"roots",exact:[{kind:"div",left:{kind:"neg",operand:E({terms:o,vars:r(o)})},right:i}],approximate:[]}}function tr(e){return e.length===4?sn(e[0],e[1],e[2],e[3]):e.length===5?cn(e[0],e[1],e[2],e[3],e[4],yn):null}function nr(e){let t=[],n=[...e],o=0;for(;n.length>1&&l(n[n.length-1]);)n=n.slice(0,-1),o++;for(o>0&&t.push(a$1);n.length>1;){let r=se(n);if(r.length===0)break;for(let i of r){let a=0;for(;n.length>1&&l(Zo(n,i));)n=Ho(n,i),a++;a>0&&t.push(i);}}return {roots:t.sort(k),remaining:n}}function or(e){let{roots:t,remaining:n}=nr(e),o=t.map(p),r=[],i$1=n.length-1,a=e.length-n.length;if(i$1<=0)return ce(o,r,a,0,"");if(i$1===1)return o.push(p(i(j(n[1]),n[0]))),ce(o,r,a+1,0,"");if(i$1===2)return o.push(...yn(n[0],n[1],n[2])),ce(o,r,a+2,0,"");let u=tr(n);if(u!==null)return o.push(...u.exact),r.push(...u.approximate.map(Jo)),ce(o,r,a+i$1,0,"");let l=pn(n);return l!==null?(r.push(...l),ce(o,r,a+i$1,0,"")):ce(o,r,a,i$1,`a degree-${i$1} factor of it has no exact solution here and the numerical method did not converge on that factor`)}function ce(e,t,n,o,r){let i=e.length+t.length,a=n>=1&&(i<1||i>n);return o>0||a?{kind:"incomplete",exact:e,approximate:t,missing:a?Math.max(1,n+o-i):o,reason:a?`${i} root${i===1?"":"s"} were produced for a degree-${n+o} equation, which does not add up`:r}:{kind:"roots",exact:e,approximate:t}}var Nn={0:"sqrt",1:"abs",2:"sin",3:"cos",4:"tan",5:"log",6:"ceil",7:"floor",8:"round",11:"asin",12:"acos",13:"atan",14:"atan2",15:"sinh",16:"cosh",17:"tanh",18:"asinh",19:"acosh",20:"atanh",21:"cbrt",23:"expm1",24:"exp",26:"hypot",28:"log10",29:"log1p",30:"log2",33:"sign",34:"trunc",35:"degtorad",36:"radtodeg",61:"root",62:"fact"},rr=31,Ci=new Set([67,68,69,70,71,72,73,74,75,76,77,78,79]);function T(e){if(e.type===9)return e.value;if(e.type===13||e.type===12)return null;let t=e.toNumber();return Number.isFinite(t)?p(d(t)):null}function w(e){let t=Q$1(e);return t.kind==="const"?n(e$1(t.value)):K$1(t)}function $e(e){return P$1("SYMBOLIC_UNSUPPORTED_FUNCTION",`"${e}" cannot be applied to an expression that still contains an unknown.`)}function Di(e,t){let n=T(e),o=T(t);return n===null||o===null?$e("^"):w(r(n,o))}function Pi(e){let t=T(e);return t===null?$e("-"):w({kind:"neg",operand:t})}function Li(e,t){let n=[];for(let r of t){let i=Q(r);if(i)return i;let a=T(r);if(a===null)return $e(Nn[e]??`builtin ${e}`);n.push(a);}if(e===rr&&n.length===2)return w(r(n[0],n[1]));let o=Nn[e];return o===void 0?$e(`builtin ${e}`):w(s(o,n))}function ir(e){let t=w(e);return t.type===0&&!Number.isInteger(t.toNumber())?K$1(e):t}function ar(e){return e.im===0?n(e.re):K$1(w$1(o(d(e.re),d(e.im))))}function ur(e){switch(e.kind){case "identity":return t("true for every value");case "contradiction":return t("no solution");case "unsupported":return P$1("SYMBOLIC_SOLVE_UNSUPPORTED",`Cannot solve this equation: ${e.reason}.`);case "incomplete":{let t=e.exact.length+e.approximate.length;return P$1("SYMBOLIC_SOLVE_INCOMPLETE",`Only ${t} of this equation's ${t+e.missing} roots could be found: ${e.reason}.`)}case "roots":{let t$1=e.exact.map(ir);for(let n of e.approximate)t$1.push(ar(n));return t$1.length===0?t("no solution"):t$1.length===1?t$1[0]:C$1(1,t$1.length,t$1.map(n=>n.type===9?n.value:n.toNumber()))}}}function Rn(e,t,n){let o=T(e),r=T(t);return o===null||r===null?P$1("SYMBOLIC_NONFINITE_OPERAND","An equation side has no exact value to solve with."):ur(hn(o,r,n))}function me(e$1,t){if(e$1.type===6&&t.type===6){if(e$1.unit===t.unit)return {lv:e$1.toNumber(),rv:t.toNumber(),unit:e$1.unit,sameMeasure:true};let n=c$1(e$1.unit),o=c$1(t.unit),r=c$2.isCurrency(e$1.unit)&&c$2.isCurrency(t.unit);if(n&&n===o){let i=e(t.toNumber(),t.unit,e$1.unit);return {lv:e$1.toNumber(),rv:i,unit:e$1.unit,sameMeasure:true}}if(r){let i=c$2.convertSync(t.toNumber(),t.unit,e$1.unit);if(i!==null)return {lv:e$1.toNumber(),rv:i,unit:e$1.unit,sameMeasure:true}}return {lv:e$1.toNumber(),rv:t.toNumber(),unit:void 0,sameMeasure:false}}return e$1.type===6?{lv:e$1.toNumber(),rv:t.toNumber(),unit:e$1.unit,sameMeasure:true}:t.type===6?{lv:e$1.toNumber(),rv:t.toNumber(),unit:t.unit,sameMeasure:true}:{lv:e$1.toNumber(),rv:t.toNumber(),unit:void 0,sameMeasure:true}}function Ae(e,t){let n=new Array(e.length),o;for(let r=0;r<e.length;r++){let i=e[r];if(i.type!==6||i.unit===void 0){n[r]=i.toNumber();continue}if(o===void 0){o=i,n[r]=i.toNumber();continue}let{rv:a,sameMeasure:u}=me(o,i);if(!u){let l=xe(o.unit,i.unit,t);return P$1("INCOMPATIBLE_UNITS",l??`Cannot combine incompatible units: ${o.unit??"?"} and ${i.unit??"?"}`)}n[r]=a;}return {magnitudes:n,unit:o?.unit}}var lr=1e-12;function sr(e,t,n){let o=0;return Number.isFinite(e)&&Math.abs(e)>o&&(o=Math.abs(e)),Number.isFinite(t)&&Math.abs(t)>o&&(o=Math.abs(t)),Number.isFinite(n)&&Math.abs(n)>o&&(o=Math.abs(n)),o}function Zi(e,t){let{lv:n,rv:o,sameMeasure:r}=me(e,t);if(!r)return {lv:n,rv:o,equal:false,sameMeasure:false};if(e.type===6&&t.type===6&&e.unit!==void 0&&e.unit===t.unit&&e.exact!==void 0&&t.exact!==void 0&&c$2.isCurrency(e.unit))return {lv:n,rv:o,equal:qa(e.exact,t.exact)===0,sameMeasure:true};if(n===o)return {lv:n,rv:o,equal:true,sameMeasure:true};if(!Number.isFinite(n)||!Number.isFinite(o))return {lv:n,rv:o,equal:false,sameMeasure:true};let i=sr(n,o,t.toNumber());return {lv:n,rv:o,equal:Math.abs(n-o)<=i*lr,sameMeasure:true}}var cr={time:"duration",luminousIntensity:"luminous intensity"},mr=new Set(["money","data"]),fr={add:"added",sub:"subtracted",mul:"multiplied",div:"divided"};function Be(e){if(c$2.isCurrency(e))return "money";let t=c$1(e);if(t!==void 0)return cr[t]??t}function An(e){return mr.has(e)?e:/^[aeiou]/.test(e)?`an ${e}`:`a ${e}`}function xe(e,t,n){let o=e===void 0?void 0:Be(e),r=t===void 0?void 0:Be(t);if(o!==void 0&&r!==void 0&&o!==r)return `${o} and ${r} cannot be ${n}`}function dr(e){return e!==void 0?fr[e]??"combined":"combined"}function Hi(e,t){let n=Be(e),o=Be(t);if(n!==void 0&&o!==void 0&&n!==o)return `${An(n)} cannot be converted to ${An(o)}`}function Wi(e,t){let n=e.type===6?e.unit:void 0,o=t.type===6?t.unit:void 0,r=xe(n,o,"compared");return P$1("INCOMPATIBLE_UNITS",r??`Cannot compare incompatible units: ${n??"?"} and ${o??"?"}`)}function xn(e){if(e.type===2)return e.value;let t=e.toNumber();if(!Number.isInteger(t)){let n=Number.isNaN(t)?"NaN":String(t);throw c.execution("BIGINT_INEXACT_OPERAND",`A whole-number (n) value can only be combined with another whole number, and ${n} is not one`,{operand:n})}return BigInt(t)}function Qi(){return c.execution("BIGINT_DIVISION_BY_ZERO","Division by zero: a whole-number (n) division is exact integer division, which has no answer at zero, unlike 1 / 0 which is Infinity")}function zi(e,t){let n=vn(e),o=vn(t);return n===null||o===null?null:n<o?-1:n>o?1:0}function vn(e){if(e.type===2)return e.value;let t=e.toNumber();return Number.isInteger(t)?BigInt(t):null}function ut(e,t){return Number.isFinite(t)?Math.pow(e,t):e===1||e===-1&&!Number.isNaN(t)?1:Math.pow(e,t)}function Mn(e){return e.exact!==void 0?e.exact:ha(e.toNumber())}function pr(e,t,n){let o=e.type===6&&e.unit!==void 0&&e.exact!==void 0&&c$2.isCurrency(e.unit),r=t.type===6&&t.unit!==void 0&&t.exact!==void 0&&c$2.isCurrency(t.unit);if(!o&&!r)return null;let i,a,u;if(o&&r){if(e.unit!==t.unit||n==="div")return null;i=e.exact,a=t.exact,u=e.unit;}else if(o&&t.type!==6)i=e.exact,u=e.unit,a=Mn(t);else if(r&&e.type!==6)a=t.exact,u=t.unit,i=Mn(e);else return null;if(i===null||a===null)return null;let l;switch(n){case "add":l=ja(i,a);break;case "sub":l=ka(i,a);break;case "mul":l=la(i,a);break;case "div":if(na$1(a))return null;l=pa(i,a);break}return v(ra(l),u,l)}function qe(e){return e.rational!==void 0?e.rational:(e.type===0||e.type===1)&&typeof e.value=="number"&&Number.isInteger(e.value)?c$3(BigInt(e.value)):null}function Ji(e,t,n){let o=qe(e);if(o===null)return null;let r=qe(t);if(r===null||n==="div"&&l(r))return null;let i$1;try{switch(n){case "add":i$1=f(o,r);break;case "sub":i$1=g(o,r);break;case "mul":i$1=h(o,r);break;case "div":i$1=i(o,r);break}}catch{return null}return p$1(e$1(i$1),i$1)}function ea(e,t,n){if(e.type!==0||t.type!==0)return null;let o=e.value,r=t.value,i=e.uncertainty??0,a=t.uncertainty??0,u,l;switch(n){case "add":u=o+r,l=Math.hypot(i,a);break;case "sub":u=o-r,l=Math.hypot(i,a);break;case "mul":u=o*r,l=Math.hypot(r*i,o*a);break;case "div":u=o/r,l=Math.hypot(i/r,o*a/(r*r));break}return q(u,l)}function ta(e,t){let n=qe(e);if(n===null)return null;let o=qe(t);return o===null?null:k(n,o)}function na(e,t,n$1,o,r){if(e.type===13)return e;if(t.type===13)return t;if(e.type===12)return e;if(t.type===12)return t;if(r&&(e.type===9||t.type===9)){let i=T(e),a=T(t);return i===null||a===null?P$1("SYMBOLIC_NONFINITE_OPERAND","A symbolic expression cannot combine with a value that has no exact number (NaN or infinity)."):K$1(Q$1({kind:r,left:i,right:a}))}if(e.type===0&&t.type===0)return n(n$1(e.value,t.value));if(e.type===2||t.type===2){let i=xn(e),a=xn(t);return o?s$1(o(i,a)):s$1(i+a)}if(e.type===6||t.type===6){if(r){let N=pr(e,t,r);if(N)return N}let{lv:i,rv:a,unit:u$1,sameMeasure:l}=me(e,t);if(!l){let N=e.type===6?e.unit:void 0,S=t.type===6?t.unit:void 0,W=xe(N,S,dr(r));return P$1("INCOMPATIBLE_UNITS",W??`Cannot combine incompatible units: ${N??"?"} and ${S??"?"}`)}let s=u(n$1(i,a),u$1),p=e.datetimeSpan===true&&t.datetimeSpan===true,h=e.datetimeSpan===true&&t.type===0||t.datetimeSpan===true&&e.type===0;return (p||h)&&(s.datetimeSpan=true),s}if(e.type===7&&t.type===7){let i=e.value,a=t.value;if(!V$1(i,a))return P$1("DIMENSION_MISMATCH",`Cannot combine matrices of different shapes: ${i.rows}x${i.cols} and ${a.rows}x${a.cols}`);let u=new Array(i.data.length);for(let l=0;l<i.data.length;l++)u[l]=n$1(i.data[l],a.data[l]);return C$1(i.rows,i.cols,u)}if(e.type===7){let i=e.value,a=t.toNumber(),u=i.data.map(l=>n$1(l,a));return C$1(i.rows,i.cols,u)}if(t.type===7){let i=t.value,a=e.toNumber(),u=i.data.map(l=>n$1(a,l));return C$1(i.rows,i.cols,u)}return n(n$1(e.toNumber(),t.toNumber()))}var In=254,En=200,ve=class{constructor(){this.handlers=new Map;this.nextOpcode=En+1;}register(t){this.handlers.set(t.opcode,t.handler);}unregister(t){this.handlers.delete(t);}get(t){return this.handlers.get(t)}has(t){return this.handlers.has(t)}allocateOpcode(){if(this.nextOpcode>In)throw c.config("OPCODE_POOL_EXHAUSTED",`OpRegistry: dynamic opcode pool exhausted (max ${In-En} allocations).`);return this.nextOpcode++}},ia=new ve;var kn=ga(1);function Me(e,t){return c$2.isCurrency(t)?e.exact??ha(e.toNumber()):null}function lt(e){if(!Number.isFinite(e))return null;if(Number.isInteger(e))return ga(BigInt(e));let t=String(e);return /^-?\d+\.\d+$/.test(t)?ia$1(t):null}function _n(e,t,n){let o=Me(e,n),r=lt(t);if(o!==null&&r!==null){let i=la(o,r);return v(ra(i),n,i)}return u(e.toNumber()*t,n)}function Vn(e,t,n,o){let r=Me(e,t),i=lt(n);if(r!==null&&i!==null){let a=ja(kn,o===1?i:ma(i)),u=la(r,a);return v(ra(u),t,u)}return u(e.toNumber()*(1+o*n),t)}function Tn(e){let t=lt(e);return t===null?null:ja(kn,t)}function wn(e,t,n){let o=Me(e,t),r=Tn(n);if(o===null||r===null||na$1(r))return null;let i=pa(o,r);return v(ra(i),t,i)}function On(e,t,n){let o=Me(e,t),r=Tn(n);if(o===null||r===null||na$1(r))return null;let i=ka(o,pa(o,r));return v(ra(i),t,i)}function Cn(e,t){let n=e.unit,o=n!==void 0&&c$2.isCurrency(n)?br(e,n):null;if(o===null)return {unit:n,shares:[{value:e.toNumber()/t,count:t}]};let r=BigInt(t),i=o/r,a=o-i*r,u=Number(a<0n?-a:a),l=o<0n?-1n:1n,s=Sn(i,t-u);return u===0?{unit:n,shares:[s]}:{unit:n,shares:[s,Sn(i+l,u)]}}function Sn(e,t){let n=fa(e,2);return {value:ra(n),exact:n,count:t}}function br(e,t){let n=Me(e,t);return n===null?null:oa(n,2).coef}var yr=12;function Dn(e,t){if(e.length===0||t.length===0)return [];let n=new Array(e.length+t.length-1).fill(a$1);return e.forEach((o,r)=>{t.forEach((i,a)=>{n[r+a]=f(n[r+a],h(o,i));});}),n}function hr(e,t){let n=[b$2];for(let o=0;o<t;o++)n=Dn(n,e);return n}function st(e,t){return e.map(n=>i(n,t))}function Nr(e,t){let n=[],o=0;for(;o<e.length&&l(e[o]);)o++;o>0&&n.push({base:[a$1,b$2],power:o});let r=e.slice(o);if(r.length>1){let i=rt([...r].reverse(),t);for(let a of i.factors){let u=C(a.base);if(u===null)return null;n.push({base:[...B$1(u,t)],power:a.power});}}return n.length>0?n:null}function gr(e){let t=[];return e.forEach((n,o)=>{let r=n.base.length-1;for(let i=1;i<=n.power;i++)for(let a=0;a<r;a++)t.push({factor:o,power:i,degree:a});}),t}function Rr(e,t,n){let o=hr(t[e.factor].base,e.power),{quotient:r,remainder:i}=H$1(n,o);if(!G(i))return null;let a=new Array(e.degree).fill(a$1);return a.push(b$2),Dn(r,a)}function Ar(e,t){let n=t.length;for(let o=0;o<n;o++){let r=-1;for(let i=o;i<n;i++)if(!l(e[i][o])){r=i;break}if(r===-1)return null;[e[o],e[r]]=[e[r],e[o]],[t[o],t[r]]=[t[r],t[o]];for(let i$1=0;i$1<n;i$1++){if(i$1===o||l(e[i$1][o]))continue;let a=i(e[i$1][o],e[o][o]);for(let u=o;u<n;u++)e[i$1][u]=g(e[i$1][u],h(a,e[o][u]));t[i$1]=g(t[i$1],h(a,t[o]));}}return t.map((o,r)=>i(o,e[r][r]))}function ct(e,t,n){if(t.length<2||t.length-1>yr)return null;let o=I(e,t),r=o.length>1?H$1(e,o).quotient:[...e],i=o.length>1?H$1(t,o).quotient:[...t];if(i.length===1)return {polynomial:st(r,i[0]),terms:[]};if(i.length===0)return null;let a=i[i.length-1],u=st(i,a),l=st(r,a),{quotient:s,remainder:p}=H$1(l,u);if(G(p))return {polynomial:s,terms:[]};let h=Nr(u,n);if(h===null)return null;let N=xr(h,u,p);return N===null?null:{polynomial:s,terms:N}}function xr(e,t,n){let o=gr(e),r=t.length-1;if(o.length!==r)return null;let i=[];for(let s of o){let p=Rr(s,e,t);if(p===null)return null;i.push(p);}let a=[];for(let s=0;s<r;s++)a.push(i.map(p=>p[s]??a$1));let u=[];for(let s=0;s<r;s++)u.push(n[s]??a$1);let l=Ar(a,u);return l===null?null:vr(o,l,e)}function vr(e,t,n){let o=new Map;e.forEach((i,a)=>{let u=`${i.factor}:${i.power}`,l=o.get(u)??[];l[i.degree]=t[a],o.set(u,l);});let r=[];for(let[i,a]of o){let[u,l$1]=i.split(":").map(Number),s=[...a].map(p=>p??a$1);s.every(l)||r.push({numerator:s,base:n[u].base,power:l$1});}return r}function Ie(e,t){let n=new Map;return e.forEach((o,r)=>{l(o)||n.set(r===0?"":r===1?t:`${t}^${r}`,o);}),n.size===0?p(a$1):E({terms:n,vars:e.length>1?[t]:[]})}function Pn(e){let t=mt(e);if(t===null)return e;let n=ct(t.numerator,t.denominator,t.variable);if(n===null||n.terms.length===0)return e;let o=n.polynomial.length>0?Ie(n.polynomial,t.variable):null;for(let r$1 of n.terms){let i=Ie(r$1.base,t.variable),a=r$1.power===1?i:r(i,p({n:BigInt(r$1.power),d:1n})),u=Mr(r$1.numerator),l=u?r$1.numerator.map(p=>j(p)):r$1.numerator,s={kind:"div",left:Ie(l,t.variable),right:a};o===null?o=u?{kind:"neg",operand:s}:s:o={kind:u?"sub":"add",left:o,right:s};}return o===null?e:Q$1(o)}function Mr(e){return e.some(t=>t.n<0n)&&e.every(t=>t.n<=0n)}function mt(e){if(e.kind!=="div")return null;let t=C(e.left),n=C(e.right);if(t===null||n===null)return null;let o=A(n);return o===null||t.vars.some(r=>r!==o)?null:{numerator:B$1(t,o),denominator:B$1(n,o),variable:o}}var ft=16;function Ln(){return p(a$1)}function X(){return p(b$2)}function Ir(e,t){switch(e){case "sin":return s("cos",[t]);case "cos":return {kind:"neg",operand:s("sin",[t])};case "tan":return {kind:"div",left:X(),right:r(s("cos",[t]),p(2))};case "exp":return s("exp",[t]);case "log":return {kind:"div",left:X(),right:t};case "sqrt":return {kind:"div",left:X(),right:{kind:"mul",left:p(2),right:s("sqrt",[t])}};case "asin":return {kind:"div",left:X(),right:s("sqrt",[Un(t)])};case "acos":return {kind:"neg",operand:{kind:"div",left:X(),right:s("sqrt",[Un(t)])}};case "atan":return {kind:"div",left:X(),right:Er(t)};case "sinh":return s("cosh",[t]);case "cosh":return s("sinh",[t]);case "tanh":return {kind:"div",left:X(),right:r(s("cosh",[t]),p(2))};case "abs":return s("sign",[t]);default:return null}}function Un(e){return {kind:"sub",left:X(),right:r(e,p(2))}}function Er(e){return {kind:"add",left:X(),right:r(e,p(2))}}function Ee(e,t,n=1){if(n<0||!Number.isInteger(n))throw c.execution("SYMBOLIC_DERIVATIVE_ORDER_LIMIT","A derivative order must be a whole number, at least zero.");if(n>ft)throw c.execution("SYMBOLIC_DERIVATIVE_ORDER_LIMIT",`A derivative order above ${ft} is not supported.`,{limit:ft});let o=Q$1(e);for(let r=0;r<n;r++)o=Q$1(P(o,t));return o}function P(e,t){switch(e.kind){case "const":case "complex":return Ln();case "var":return e.name===t?X():Ln();case "add":return {kind:"add",left:P(e.left,t),right:P(e.right,t)};case "sub":return {kind:"sub",left:P(e.left,t),right:P(e.right,t)};case "neg":return {kind:"neg",operand:P(e.operand,t)};case "mul":return {kind:"add",left:{kind:"mul",left:P(e.left,t),right:e.right},right:{kind:"mul",left:e.left,right:P(e.right,t)}};case "div":return {kind:"div",left:{kind:"sub",left:{kind:"mul",left:P(e.left,t),right:e.right},right:{kind:"mul",left:e.left,right:P(e.right,t)}},right:r(e.right,p(2))};case "pow":return Sr(e,t);case "call":{if(e.args.length!==1)return dt(e,t);let n=Ir(e.name,e.args[0]);return n===null?dt(e,t):{kind:"mul",left:n,right:P(e.args[0],t)}}}}function Sr(e,t){if(e.exponent.kind==="const"){let n=p(g(e.exponent.value,b$2));return {kind:"mul",left:{kind:"mul",left:e.exponent,right:r(e.base,n)},right:P(e.base,t)}}return e.base.kind==="const"&&e.base.value.n>0n?{kind:"mul",left:{kind:"mul",left:e,right:s("log",[e.base])},right:P(e.exponent,t)}:dt(e,t)}function dt(e,t){return s("der",[e,q$1(t)])}function Fn(e,t){let n=C(e);if(n===null||n.vars.filter(u=>u!==t).length>0||z(n,t)>1)return null;let r=B$1(n,t),i=r[0]??{n:0n,d:1n},a=r[1]??{n:0n,d:1n};return l(a)?null:{slope:a,intercept:i}}function kr(e,t){let n=C(e);if(n===null)return null;let o=n.vars.filter(a=>a!==t);if(o.length>0)return {ok:false,reason:`it involves more than one unknown (${o.join(", ")})`};let r$1=B$1(n,t),i$1=p(0);return r$1.forEach((a,u)=>{if(l(a))return;let l$1=u+1,s=i(a,{n:BigInt(l$1),d:1n}),p$1={kind:"mul",left:p(s),right:l$1===1?q$1(t):r(q$1(t),p(l$1))};i$1={kind:"add",left:i$1,right:p$1};}),{ok:true,value:Q$1(i$1)}}function _r(e,t){if(e.kind!=="call"||e.args.length!==1)return null;let n=Fn(e.args[0],t);if(n===null)return null;let o=e.args[0],r=i=>Q$1({kind:"div",left:i,right:p(n.slope)});switch(e.name){case "exp":return {ok:true,value:r(s("exp",[o]))};case "sin":return {ok:true,value:r({kind:"neg",operand:s("cos",[o])})};case "cos":return {ok:true,value:r(s("sin",[o]))};case "log":return {ok:true,value:r({kind:"sub",left:{kind:"mul",left:o,right:s("log",[o])},right:o})};default:return null}}function Vr(e,t){if(e.kind!=="div"||e.left.kind!=="const"||!pt(e.left.value))return null;let n=Fn(e.right,t);if(n!==null)return {ok:true,value:Q$1({kind:"div",left:s("log",[e.right]),right:p(n.slope)})};let o=C(e.right);if(o!==null&&o.vars.length===1&&o.vars[0]===t){let r=B$1(o,t);if(r.length===3&&pt(r[0])&&l(r[1])&&pt(r[2]))return {ok:true,value:s("atan",[q$1(t)])}}return null}function pt(e){return e.n===1n&&e.d===1n}function Tr(e,t){let n=mt(e);if(n===null||n.variable!==t)return null;let o=ct(n.numerator,n.denominator,t);if(o===null)return null;let r=o.polynomial.length>0?Cr(o.polynomial,t):p(0);for(let i of o.terms){let a=wr(i,t);if(a===null)return {ok:false,reason:"its denominator has a repeated irreducible quadratic factor, which needs a reduction formula this does not have"};r={kind:"add",left:r,right:a};}return {ok:true,value:Q$1(r)}}function wr(e,t){let n=e.base.length-1,o=Ie(e.base,t);if(n===1){let r$1=e.numerator[0]??a$1;if(e.power===1)return {kind:"mul",left:p(r$1),right:s("log",[o])};let i$1=e.power-1,a=i(r$1,{n:BigInt(-i$1),d:1n});return {kind:"div",left:p(a),right:r(o,p({n:BigInt(i$1),d:1n}))}}return n!==2||e.power!==1?null:Or(e,t,o)}function Or(e,t,n){let o=e.numerator[0]??a$1,r=e.numerator[1]??a$1,[i,a]=e.base,u={n:1n,d:2n},l$1=h(a,u),s$1={kind:"mul",left:p(h(r,u)),right:s("log",[n])},p$1=g(o,h(r,l$1));if(l(p$1))return s$1;let h$1=O(g(i,h(l$1,l$1))),N={kind:"add",left:q$1(t),right:p(l$1)},S={kind:"mul",left:{kind:"div",left:p(p$1),right:h$1},right:s("atan",[{kind:"div",left:N,right:h$1}])};return l(r)?S:{kind:"add",left:s$1,right:S}}function Cr(e,t){let n=p(0);return e.forEach((o,r$1)=>{if(l(o))return;let i$1=r$1+1,a=i(o,{n:BigInt(i$1),d:1n}),u={kind:"mul",left:p(a),right:i$1===1?q$1(t):r(q$1(t),p(i$1))};n={kind:"add",left:n,right:u};}),n}function Se(e,t){let n=Q$1(e);if(!u$1(n).has(t))return {ok:true,value:Q$1({kind:"mul",left:n,right:q$1(t)})};let o=kr(n,t);if(o!==null)return o;let r=_r(n,t);if(r!==null)return r;let i=Vr(n,t);if(i!==null)return i;let a=Tr(n,t);if(a!==null)return a;if(n.kind==="add"||n.kind==="sub"){let u=Se(n.left,t);if(!u.ok)return u;let l=Se(n.right,t);return l.ok?{ok:true,value:Q$1({kind:n.kind,left:u.value,right:l.value})}:l}if(n.kind==="mul"&&n.left.kind==="const"){let u=Se(n.right,t);return u.ok?{ok:true,value:Q$1({kind:"mul",left:n.left,right:u.value})}:u}return {ok:false,reason:"no elementary antiderivative is known for this expression"}}var bt=16;function $n(e,t,n,o){if(o<0||!Number.isInteger(o)||o>bt)throw c.execution("SYMBOLIC_TAYLOR_DEGREE_LIMIT",`A Taylor degree must be a whole number from 0 to ${bt}.`,{limit:bt});let r$1=p(n),i$1=1n,a=p(a$1);for(let u=0;u<=o;u++){u>0&&(i$1*=BigInt(u));let l$1=Ee(e,t,u),s=Q$1(v$1(l$1,t,r$1));if(s.kind!=="const")throw c.execution("SYMBOLIC_TAYLOR_INEXACT",`The derivative of order ${u} does not reduce to an exact number at the expansion point, so this series cannot be computed exactly.`,{order:u});let p$1=i(s.value,{n:i$1,d:1n});if(l(p$1))continue;let h=l(n)?q$1(t):{kind:"sub",left:q$1(t),right:r$1},N=u===0?p(1):u===1?h:r(h,p(u));a={kind:"add",left:a,right:{kind:"mul",left:p(p$1),right:N}};}return Q$1(a)}function Bn(e,t){return e.map(n=>t.map(o=>Ee(n,o)))}function Dr(){let e=globalThis.Temporal;return e??void 0}function qn(e){if(e!==void 0&&typeof e!="string")return e;if(e==="date")return b;let t=Dr();if(e==="temporal"){if(t===void 0)throw c.config("CALENDAR_TEMPORAL_UNAVAILABLE",'calendar: "temporal" was asked for, but this runtime has no Temporal. Node ships it from 26 (24 behind --harmony-temporal), and Chrome, Edge, Firefox and Opera ship it; Safari does not. Pass a polyfill-backed backend from "solve-engine/temporal", or use calendar: "auto" to compute on Date where Temporal is absent.');return b$1(t)}return t===void 0?b:b$1(t)}function Pr(e={}){return {pluginFunctions:{},opRegistry:new ve,pluginFunctionOwners:{},networkEnabled:e.networkEnabled??true,calendar:qn(e.calendar)}}var Yn=Pr();var Lr={1970:38.8,1971:40.5,1972:41.8,1973:44.4,1974:49.3,1975:53.8,1976:56.9,1977:60.6,1978:65.2,1979:72.6,1980:82.4,1981:90.9,1982:96.5,1983:99.6,1984:103.9,1985:107.6,1986:109.6,1987:113.6,1988:118.3,1989:124,1990:130.7,1991:136.2,1992:140.3,1993:144.5,1994:148.2,1995:152.4,1996:156.9,1997:160.5,1998:163,1999:166.6,2e3:172.2,2001:177.1,2002:179.9,2003:184,2004:188.9,2005:195.3,2006:201.6,2007:207.3,2008:215.3,2009:214.5,2010:218.1,2011:224.9,2012:229.6,2013:233,2014:236.7,2015:237,2016:240,2017:245.1,2018:251.1,2019:255.7,2020:258.8,2021:271,2022:292.7,2023:304.7,2024:313.7,2025:322.2,2026:332.7},jn=1970,Kn=2026;function Gn(e){return Lr[Math.trunc(e)]}function yt(e,t){let n=Gn(e),o=Gn(t);if(!(n===void 0||o===void 0||n===0))return o/n}function Ga(e,t,n){let o=yt(t,n);if(o!==void 0)return e*o}function Ur(e){let t=Math.abs(e);return t<60?u(e,"s"):t<3600?u(e/60,"min"):t<86400?u(e/3600,"h"):u(e/86400,"d")}var Fr=0;function ht(e){if(e.type===6&&e.unit!==void 0){let t=a[e.unit.toLowerCase()];if(t!==void 0&&t[0]===Fr)return e.toNumber()*t[1]}return e.toNumber()}function $r(e,t){if(t===1)return e;let n=`${e}s`;return a[n.toLowerCase()]===void 0?e:n}function Xn(e,t){let n$1,o=false;for(let r of e){if(Number.isNaN(r.toNumber())){o=true;continue}if(n$1===void 0){n$1=r;continue}let{lv:i,rv:a,sameMeasure:u}=me(n$1,r);if(!u){let l=n$1.type===6?n$1.unit:void 0,s=r.type===6?r.unit:void 0,p=xe(l,s,"compared");return P$1("INCOMPATIBLE_UNITS",p??`Cannot compare incompatible units: ${l??"?"} and ${s??"?"}`)}(t?a>i:a<i)&&(n$1=r);}return o?n(NaN):n$1===void 0?n(t?-1/0:1/0):n$1.type===6?n$1:n(n$1.toNumber())}function Ye(e,t){return t===void 0?n(e):u(e,t)}function Ge(e,t){return e.type===6&&e.unit!==void 0?u(t,e.unit):n(t)}function Zn(e,t){let n=Number.isFinite(t)?Math.min(100,Math.max(0,Math.trunc(t))):0;if(e.exact!==void 0){let a=oa(e.exact,n);return je(e,ra(a),n,a)}let o=e.toNumber();if(!Number.isFinite(o))return je(e,o,n);let r=Math.pow(10,n),i=o*r;return !Number.isFinite(i)||Math.abs(i)>Number.MAX_SAFE_INTEGER?je(e,o,n):je(e,Math.round(i)/r,n)}function je(e,t,n$1,o){let r=e.type===6&&e.unit!==void 0?u(t,e.unit):n(t);return r.decimalPlaces=n$1,o!==void 0&&(r.exact=o),r}function Hn(e,t,n){if(Number.isFinite(e)&&Number.isFinite(t))return null;let o=Number.isFinite(e)?t:e;return P$1("INVALID_INTEGER_OPERAND",`${n} needs two whole numbers, and ${Number.isNaN(o)?"one of them has no value":"one of them is infinite"}`)}function Wn(e,t){let n=e,o=t;for(;o!==0;){let r=o;o=n%o,n=r;}return n}function Br(e){let t=e.length;if(t===0)return 0;let n=e.reduce((o,r)=>o+r,0)/t;return e.reduce((o,r)=>o+(r-n)*(r-n),0)}function Ke(e,t){let n=e.length;if(n===0)return 0;let o=t?n-1:n;return o<=0?0:Br(e)/o}var qr=12,Yr=new Set(["month","months","mo","mos","mth","mths"]);function Z(e$1){return e$1.type!==6||e$1.unit===void 0?e$1.toNumber():c$1(e$1.unit)!=="time"?P$1("INVALID_TERM",`a term is a length of time, and "${e$1.unit}" is not: write it as days, months or years`):Yr.has(e$1.unit)?e$1.toNumber()/qr:e(e$1.toNumber(),e$1.unit,"year")}var fu={0:e=>{let t=e[0].toNumber();return t>=0?n(Math.sqrt(t)):w(s("sqrt",[p(t)]))},1:e=>e[0].type===7?ca(e[0].value):Ge(e[0],Math.abs(e[0].toNumber())),2:e=>n(Math.sin(ht(e[0]))),3:e=>n(Math.cos(ht(e[0]))),4:e=>n(Math.tan(ht(e[0]))),5:e=>n(Math.log(e[0].toNumber())),6:e=>Ge(e[0],Math.ceil(e[0].toNumber())),7:e=>Ge(e[0],Math.floor(e[0].toNumber())),8:e=>e.length>=2?Zn(e[0],e[1].toNumber()):Ge(e[0],Math.round(e[0].toNumber())),9:e=>Xn(e,false),10:e=>Xn(e,true),11:e=>n(Math.asin(e[0].toNumber())),12:e=>n(Math.acos(e[0].toNumber())),13:e=>n(Math.atan(e[0].toNumber())),14:e=>n(Math.atan2(e[0].toNumber(),e[1].toNumber())),15:e=>n(Math.sinh(e[0].toNumber())),16:e=>n(Math.cosh(e[0].toNumber())),17:e=>n(Math.tanh(e[0].toNumber())),18:e=>n(Math.asinh(e[0].toNumber())),19:e=>n(Math.acosh(e[0].toNumber())),20:e=>n(Math.atanh(e[0].toNumber())),21:e=>n(Math.cbrt(e[0].toNumber())),22:e=>n(Math.clz32(e[0].toNumber())),23:e=>n(Math.expm1(e[0].toNumber())),24:e=>n(Math.exp(e[0].toNumber())),25:e=>n(Math.fround(e[0].toNumber())),26:e=>n(Math.hypot(...e.map(t=>t.toNumber()))),27:e=>n(Math.imul(e[0].toNumber(),e[1].toNumber())),28:e=>n(Math.log10(e[0].toNumber())),29:e=>n(Math.log1p(e[0].toNumber())),30:e=>n(Math.log2(e[0].toNumber())),31:e=>e[0].type===7?e[1].type!==0?P$1("MATRIX_POWER_UNSUPPORTED",`pow: a matrix's exponent must be a whole number, as in "pow([1,2;3,4], 2)".`):$(e[0].value,e[1].value):e[1].type===7?P$1("MATRIX_POWER_UNSUPPORTED",'pow: a matrix may only be the base, as in "pow([1,2;3,4], 2)".'):n(ut(e[0].toNumber(),e[1].toNumber())),32:()=>n(Math.random()),33:e=>n(Math.sign(e[0].toNumber())),34:e=>n(Math.trunc(e[0].toNumber())),35:e=>n(e[0].toNumber()*Math.PI/180),36:e=>n(e[0].toNumber()*180/Math.PI),37:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber();return t>n$1?P$1("INVALID_RANGE",`roll: invalid range, ${t} is greater than ${n$1}`):n(Math.floor(Math.random()*(n$1-t+1))+t)},38:e=>{let t=Math.trunc(Math.abs(e[0].toNumber())),n$1=Math.trunc(Math.abs(e[1].toNumber())),o=Hn(t,n$1,"gcd");return o||n(Wn(t,n$1))},39:e=>{let t=Math.trunc(Math.abs(e[0].toNumber())),n$1=Math.trunc(Math.abs(e[1].toNumber())),o=Hn(t,n$1,"lcm");return o||(t===0||n$1===0?n(0):n(t/Wn(t,n$1)*n$1))},40:e=>{let t=Math.trunc(e[0].toNumber()),n$1=Math.trunc(e[1].toNumber());if(t<0||n$1<0||n$1>t)return P$1("INVALID_RANGE",`permutation: invalid n=${t}, r=${n$1} (require 0 <= r <= n)`);let o=1;for(let r=0;r<n$1;r++)if(o*=t-r,!Number.isFinite(o))return P$1("PERMUTATION_OVERFLOW",`permutation: P(${t}, ${n$1}) exceeds the maximum representable double (it passed it after ${r+1} of ${n$1} factors)`);return n(o)},41:e=>{let t=Math.trunc(e[0].toNumber()),n$1=Math.trunc(e[1].toNumber());if(t<0||n$1<0||n$1>t)return P$1("INVALID_RANGE",`combination: invalid n=${t}, r=${n$1} (require 0 <= r <= n)`);let o=Math.min(n$1,t-n$1),r=1;for(let i=0;i<o;i++)if(r=r*(t-i)/(i+1),!Number.isFinite(r))return P$1("COMBINATION_OVERFLOW",`combination: C(${t}, ${n$1}) exceeds the maximum representable double (it passed it after ${i+1} of ${o} steps)`);return n(Math.round(r))},42:e=>{if(e.length===0)return n(0);let t=Ae(e,"averaged");if(t instanceof m)return t;let n$1=t.magnitudes.reduce((o,r)=>o+r,0);return Ye(n$1/t.magnitudes.length,t.unit)},43:e=>{if(e.length===0)return n(0);let t=Ae(e,"ordered");if(t instanceof m)return t;let n$1=t.magnitudes.slice().sort((r,i)=>r-i),o=Math.floor(n$1.length/2);return Ye(n$1.length%2===0?(n$1[o-1]+n$1[o])/2:n$1[o],t.unit)},44:e=>{let t=Ae(e,"added");return t instanceof m?t:Ye(t.magnitudes.reduce((n,o)=>n+o,0),t.unit)},45:e=>n(e.length),46:e=>{let[t,n$1,o]=e,{lv:r,rv:i}=me(t,n$1);if(r===0)return P$1("PROPORTION_DIVIDE_BY_ZERO",`Cannot compute proportion: "${t.value}" is zero`);let a=o.toNumber()*(i/r);return o.type===6?u(a,o.unit):n(a)},47:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber(),o=e[2].toNumber();return n$1>o?P$1("INVALID_RANGE",`clamp: invalid range, ${n$1} is greater than ${o}`):n(Math.min(Math.max(t,n$1),o))},48:e=>r$1(e[0].toNumber()),49:e=>r$1(e[0].toNumber(),"bin"),50:e=>n(Math.trunc(e[0].toNumber())),51:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber(),o=Z(e[2]);if(typeof o!="number")return o;if(1+n$1<=0)return P$1("INVALID_RATE",`compoundInterest: rate ${n$1} makes (1 + rate) non-positive`);let r=t*Math.pow(1+n$1,o);return e[0].type===6?u(r,e[0].unit):n(r)},52:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber(),o=Z(e[2]);if(typeof o!="number")return o;if(1+n$1<=0)return P$1("INVALID_RATE",`interestEarned: rate ${n$1} makes (1 + rate) non-positive`);let r=t*(Math.pow(1+n$1,o)-1);return e[0].type===6?u(r,e[0].unit):n(r)},53:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber(),o=Z(e[2]);return typeof o!="number"?o:t<=0||n$1<=0?P$1("INVALID_RANGE","compoundInterestRate: principal and futureValue must both be positive"):o<=0?P$1("INVALID_RANGE","compoundInterestRate: years must be greater than 0"):n(Math.pow(n$1/t,1/o)-1)},54:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber(),o=e[2].toNumber();return t<=0||n$1<=0?P$1("INVALID_RANGE","compoundInterestYears: principal and futureValue must both be positive"):1+o<=0||o===0?P$1("INVALID_RATE",`compoundInterestYears: rate ${o} is not usable (must be > -1 and not 0)`):n(Math.log(n$1/t)/Math.log(1+o))},55:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber(),o=Z(e[2]);if(typeof o!="number")return o;let r=e[3].toNumber();if(t<=0)return P$1("INVALID_RANGE","loanRepayment: principal must be positive");if(o<=0)return P$1("INVALID_RANGE","loanRepayment: years must be positive");if(n$1<0)return P$1("INVALID_RATE","loanRepayment: rate must not be negative");if(r<0)return P$1("INVALID_RANGE","loanRepayment: periodsPerYear must not be negative");let{totalRepayment:i}=Rt(t,n$1,o),a=r===0?i:i/(o*r);return e[0].type===6?u(a,e[0].unit):n(a)},56:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber(),o=Z(e[2]);if(typeof o!="number")return o;let r=e[3].toNumber();if(t<=0)return P$1("INVALID_RANGE","loanInterest: principal must be positive");if(o<=0)return P$1("INVALID_RANGE","loanInterest: years must be positive");if(n$1<0)return P$1("INVALID_RATE","loanInterest: rate must not be negative");if(r<0)return P$1("INVALID_RANGE","loanInterest: periodsPerYear must not be negative");let{totalInterest:i}=Rt(t,n$1,o),a=r===0?i:i/(o*r);return e[0].type===6?u(a,e[0].unit):n(a)},57:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber(),o=Z(e[2]);if(typeof o!="number")return o;if(t<=0)return P$1("INVALID_RANGE","monthlyPayment: principal must be positive");if(o<=0)return P$1("INVALID_RANGE","monthlyPayment: years must be positive");if(n$1<0)return P$1("INVALID_RATE","monthlyPayment: rate must not be negative");let{monthlyPayment:r}=Rt(t,n$1,o);return e[0].type===6?u(r,e[0].unit):n(r)},58:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber();return e[0].type===6?Vn(e[0],e[0].unit,n$1,1):n(t*(1+n$1))},59:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber();return 1+n$1<=0?P$1("INVALID_RATE",`taxRemove: rate ${n$1} makes (1 + rate) non-positive`):e[0].type===6?wn(e[0],e[0].unit,n$1)??u(t/(1+n$1),e[0].unit):n(t/(1+n$1))},60:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber(),o=e[2].toNumber(),r=yt(n$1,o);if(r===void 0)return P$1("INFLATION_YEAR_OUT_OF_RANGE",`inflationAdjust: fromYear ${n$1} or toYear ${o} is outside the bundled CPI table's range (${jn}-${Kn})`);let i=t*r;return e[0].type===6?u(i,e[0].unit):n(i)},61:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber();return n(ut(n$1,1/t))},62:e=>{let t=e[0].toNumber();if(!Number.isInteger(t)||t<0)return P$1("INVALID_FACTORIAL_INPUT",`fact: ${t} is not a non-negative integer`);if(t>170)return P$1("FACTORIAL_OVERFLOW",`fact: ${t}! exceeds the maximum representable double (170! is the largest finite factorial)`);let n$1=1;for(let o=2;o<=t;o++)n$1*=o;return n(n$1)},63:e=>e[0].type===7?ba(e[0].value):e[0],64:e=>e[0].type===7?ca(e[0].value):n(e[0].toNumber()),65:e=>e[0].type===7?da(e[0].value):n(1/e[0].toNumber()),66:e=>{let[t,n$1]=e;if(t.type===0&&n$1.type===0)return n(t.toNumber()*n$1.toNumber());let o=r=>r.type===7?r.value:{rows:1,cols:1,data:[r.toNumber()],hasSymbolic:false};return _(o(t),o(n$1))},67:e=>{let[t]=e;return t.type!==9?t:w(F(t.value))},68:e=>{let[t]=e;return t.type!==9?t:w(un(t.value))},69:e=>{let[t,n,o]=e;return o?.type!==3?P$1("SOLVE_REQUIRES_VARIABLE_NAME","solve's second argument must be the name of the unknown."):Rn(t,n,o.value)},70:e=>{let[t,n,o]=e,r=gt(n,"der");if(typeof r!="string")return r;let i=T(t);return i===null?P$1("SYMBOLIC_NONFINITE_OPERAND","der needs an expression with an exact value."):w(Ee(i,r,o?.toNumber()??1))},71:e=>{let[t,n]=e,o=gt(n,"integral");if(typeof o!="string")return o;let r=T(t);if(r===null)return P$1("SYMBOLIC_NONFINITE_OPERAND","integral needs an expression with an exact value.");let i=Se(r,o);return i.ok?w(i.value):P$1("SYMBOLIC_INTEGRAL_UNSUPPORTED",`Cannot integrate this: ${i.reason}.`)},72:e=>{let[t,n,o,r]=e,i=gt(n,"taylor");if(typeof i!="string")return i;let a=T(t),u=T(o);return a===null||u===null||u.kind!=="const"?P$1("SYMBOLIC_NONFINITE_OPERAND","taylor needs an expression and an exact expansion point."):w($n(a,i,u.value,r.toNumber()))},73:e=>{let t=[];for(let a of e){let u=T(a);if(u===null)return P$1("SYMBOLIC_NONFINITE_OPERAND","jacobian needs expressions with exact values.");t.push(u);}let n=new Set;for(let a of t)for(let u of u$1(a))n.add(u);let o=[...n].sort();if(o.length===0)return P$1("SYMBOLIC_JACOBIAN_NO_VARIABLES","jacobian needs at least one unknown to differentiate against.");let r=Bn(t,o),i=[];for(let a of r)for(let u of a)i.push(W(u));return C$1(r.length,o.length,Y(r.length,o.length,i))},74:e=>w(w$1(o(a$1,d(e[0].toNumber())))),75:e=>Nt("conj",e[0]),76:e=>Nt("re",e[0]),77:e=>Nt("im",e[0]),78:e=>{let t=e[0];return t.type!==9?t:w(J$1(t.value))},79:e=>{let t=e[0];return t.type!==9?t:w(Pn(t.value))},85:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber();if(1+n$1<=0)return P$1("INVALID_RATE",`taxIn: rate ${n$1} makes (1 + rate) non-positive`);let o=t-t/(1+n$1);return e[0].type===6?On(e[0],e[0].unit,n$1)??u(o,e[0].unit):n(o)},86:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber();return e[0].type===6?_n(e[0],n$1,e[0].unit):n(t*n$1)},87:e=>n(Math.sin(e[0].toNumber()*Math.PI/180)),88:e=>n(Math.cos(e[0].toNumber()*Math.PI/180)),89:e=>n(Math.tan(e[0].toNumber()*Math.PI/180)),90:e=>n(Math.asin(e[0].toNumber())*180/Math.PI),91:e=>n(Math.acos(e[0].toNumber())*180/Math.PI),92:e=>n(Math.atan(e[0].toNumber())*180/Math.PI),93:e=>u(e[0].toNumber(),"days"),94:e=>{let t$1=typeof e[1]?.value=="string"?e[1].value:void 0,n=typeof e[2]?.value=="string"?e[2].value:void 0;if(t$1===void 0||n===void 0)return P$1("UNKNOWN_UNIT",'both units have to be named, as in "12.5 minutes in minutes and seconds"');let o=a[t$1.toLowerCase()],r=a[n.toLowerCase()];if(o===void 0||r===void 0)return P$1("UNKNOWN_UNIT",`${t$1} and ${n}: one of these is not a unit`);if(o[0]!==r[0])return P$1("INCOMPATIBLE_UNITS",`${t$1} and ${n} measure different things`);if(r[1]>=o[1])return P$1("INCOMPATIBLE_UNITS",`${t$1} and ${n}: name the larger unit first`);let i=e[0],a$1=i.type===6&&i.unit!==void 0?a[i.unit.toLowerCase()]:void 0,u=i.toNumber()*(a$1?.[1]??o[1]),l=Math.floor(u/o[1]),s=Math.round((u-l*o[1])/r[1]*1e3)/1e3;return t(`${l} ${t$1} ${s} ${n}`)},95:e=>{let t=e[0],n=String(e[1].value),o=t.type===6&&t.unit!==void 0?t.unit:"";return o.includes("/")?P$1("INVALID_RATE_UNIT",`${o}/${n}: that is already a rate`):u(t.toNumber(),`${o}/${n}`)},96:e=>{let t=e[0],n$1=e[1];if(n$1.type===6&&t.type===6&&i$1(n$1.unit)){let s=j$1(t.toNumber(),t.unit,n$1.toNumber(),n$1.unit);if(s!==null)return Ur(s)}if(n$1.type!==6||n$1.unit===void 0||!n$1.unit.includes("/"))return P$1("INVALID_RATE",'at: the right-hand side has to be a rate, as in "$30/hour"');let o=n$1.unit.indexOf("/"),r=n$1.unit.slice(0,o),i=n$1.unit.slice(o+1),a$1=t.type===6?t.unit:void 0,u$1=a[i.toLowerCase()],l=a$1===void 0?void 0:a[a$1.toLowerCase()];if(l!==void 0&&u$1!==void 0&&l[0]===u$1[0]){let p=t.toNumber()*l[1]/u$1[1]*n$1.toNumber();return r===""?n(p):u(p,r)}if(a$1!==void 0&&a$1===r){let s=t.toNumber()/n$1.toNumber();return u(s,$r(i,s))}if(a$1===void 0){let s=t.toNumber()*n$1.toNumber();return r===""?n(s):u(s,r)}return P$1("INCOMPATIBLE_UNITS",`at: ${a$1} matches neither side of ${n$1.unit}`)},80:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber(),o=Z(e[2]);if(typeof o!="number")return o;let r=e[3].toNumber();if(r<=0)return P$1("INVALID_RATE",`compounding: ${r} periods per year is not a period`);if(1+n$1/r<=0)return P$1("INVALID_RATE",`compounding: rate ${n$1} makes each period non-positive`);let i=t*Math.pow(1+n$1/r,r*o);return e[0].type===6?u(i,e[0].unit):n(i)},81:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber(),o=Z(e[2]);if(typeof o!="number")return o;let r=e[3].toNumber();if(r<=0||1+n$1/r<=0)return P$1("INVALID_RATE",`compounding: rate ${n$1} over ${r} periods per year is not usable`);let i=t*(Math.pow(1+n$1/r,r*o)-1);return e[0].type===6?u(i,e[0].unit):n(i)},82:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber(),o=Z(e[2]);if(typeof o!="number")return o;if(1+n$1<=0)return P$1("INVALID_RATE",`presentValue: rate ${n$1} makes (1 + rate) non-positive`);let r=t/Math.pow(1+n$1,o);return e[0].type===6?u(r,e[0].unit):n(r)},83:e=>{let t=e[0].toNumber(),n$1=e[1].toNumber();return t===0?P$1("INVALID_RATE","roi: nothing was invested, so there is no return on it"):n((n$1-t)/t)},84:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),o=Z(e[2]);return typeof o!="number"?o:t<=0?P$1("INVALID_RATE","annual return: the amount invested must be positive"):o<=0?P$1("INVALID_RATE","annual return: the period must be longer than zero"):n<=0?P$1("INVALID_RATE","annual return: nothing was returned, so there is no annual rate"):N(Math.pow(n/t,1/o)-1)},97:e=>Zn(e[0],e[1].toNumber()),98:e=>{let t=e[1].toNumber();return !Number.isInteger(t)||t<1?P$1("INVALID_RANGE",`split: the number of shares must be a whole number of at least 1, not ${e[1].toNumber()}.`):H(Cn(e[0],t))},99:e=>{let t=e[0].toNumber(),n$1=Gr(e[1]),o=e[2].toNumber();if(n$1===null)return P$1("INVALID_RANGE",'savings goal: the duration must be in months or years, e.g. "in 2 years".');if(t<=0)return P$1("INVALID_RANGE","savings goal: the target must be positive.");if(n$1<=0)return P$1("INVALID_RANGE","savings goal: the duration must be positive.");if(o<0)return P$1("INVALID_RATE","savings goal: the rate must not be negative.");let r=jr(t,o/12,n$1);return e[0].type===6?u(r,e[0].unit):n(r)},100:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),o=e[2].toNumber(),r=e[3].toNumber(),i=typeof e[4]?.value=="string"?e[4].value:"periods";if(t<=0)return P$1("INVALID_RANGE","savings goal: the target must be positive.");if(n<=0)return P$1("INVALID_RANGE","savings goal: the contribution must be positive.");if(r<0)return P$1("INVALID_RATE","savings goal: the rate must not be negative.");let a=Kr(t,n,r/o);return u(a,i)},101:e=>n(Math.sqrt(Ke(e.map(t=>t.toNumber()),false))),102:e=>n(Math.sqrt(Ke(e.map(t=>t.toNumber()),true))),103:e=>n(Ke(e.map(t=>t.toNumber()),false)),104:e=>n(Ke(e.map(t=>t.toNumber()),true)),105:e=>{if(e.length===0)return n(0);let t=Ae(e,"compared");if(t instanceof m)return t;let n$1=t.magnitudes;return Ye(Math.max(...n$1)-Math.min(...n$1),t.unit)},106:e=>{if(e.length===0)return n(0);let t=new Map,n$1=e[0].toNumber(),o=0;for(let r of e){let i=r.toNumber(),a=(t.get(i)??0)+1;t.set(i,a),a>o&&(o=a,n$1=i);}return n(n$1)},107:e=>{let t=0,n$1=0;for(let o=0;o+1<e.length;o+=2){let r=e[o].toNumber(),i=e[o+1].toNumber();t+=r*i,n$1+=i;}return n$1===0?P$1("WEIGHTED_AVERAGE_ZERO_WEIGHT","weighted average: the weights sum to zero, so there is nothing to divide by"):n(t/n$1)}};function Gr(e){if(e.type!==6)return null;let t=e.unit;return t==="months"||t==="month"?e.toNumber():t==="years"||t==="year"?e.toNumber()*12:null}function jr(e,t,n){return t===0?e/n:e*t/(Math.pow(1+t,n)-1)}function Kr(e,t,n){let o=n===0?e/t:Math.log(1+e*n/t)/Math.log(1+n);return Math.ceil(o-1e-9)}function Nt(e,t){let n=T(t);return n===null?P$1("SYMBOLIC_NONFINITE_OPERAND",e+" needs a value with an exact number."):w(s(e,[n]))}function gt(e,t){return e?.type!==3?P$1("SYMBOLIC_REQUIRES_VARIABLE_NAME",`${t} needs the name of an unknown.`):e.value}function Rt(e,t,n){let o=n*12,r=t/12,i=r===0?e/o:e*r/(1-Math.pow(1+r,-o)),a=i*o,u=a-e;return {monthlyPayment:i,totalRepayment:a,totalInterest:u}}var du=Yn.pluginFunctions,Qn=65535,zn=0;function Xr(){if(zn>Qn)throw c.config("PLUGIN_FUNCTION_INDEX_POOL_EXHAUSTED",`allocatePluginFunctionIndex: pool exhausted (max ${Qn+1} allocations).`);return zn++}var Jn=new Map;function pu(e){let t=Jn.get(e);return t===void 0&&(t=Xr(),Jn.set(e,t)),t}var At=new Map;function bu(e,t){let n=e.toLowerCase(),o=At.get(n);o&&o!==t&&console.warn(`[asConverterRegistry] Converter name "${n}" is already registered \u2014 overwriting.`),At.set(n,t);}function yu(e){At.delete(e.toLowerCase());}var Xe=class Xe{constructor(){this.values=new Map;this.listeners=new Set;this.notifyDepth=0;}get(t){return this.values.get(t)}has(t){return this.values.has(t)}set(t,n){let o=this.values.get(t);this.values.set(t,n),!(o!==void 0&&Zr(o,n))&&this.notify(t,n);}notify(t,n){if(!(this.notifyDepth>=Xe.MAX_NOTIFY_DEPTH)){this.notifyDepth++;try{for(let o of this.listeners)o(t,n);}finally{this.notifyDepth--;}}}subscribe(t){return this.listeners.add(t),()=>{this.listeners.delete(t);}}clear(){this.values.clear(),this.listeners.clear(),this.notifyDepth=0;}};Xe.MAX_NOTIFY_DEPTH=64;var xt=Xe;function Zr(e,t){if(e.type!==t.type||e.unit!==t.unit||(e.timedOut??false)!==(t.timedOut??false))return false;let n=e.value,o=t.value;if(Array.isArray(n)||Array.isArray(o)){if(!Array.isArray(n)||!Array.isArray(o)||n.length!==o.length)return false;for(let r=0;r<n.length;r++)if(!Object.is(n[r],o[r]))return false;return true}return Object.is(n,o)}var Nu=new xt;function gu(e){return `global:${e}`}var Hr={sydney:"Australia/Sydney",melbourne:"Australia/Melbourne",brisbane:"Australia/Brisbane",perth:"Australia/Perth",adelaide:"Australia/Adelaide",canberra:"Australia/Sydney",auckland:"Pacific/Auckland",wellington:"Pacific/Auckland",fiji:"Pacific/Fiji",chicago:"America/Chicago",seattle:"America/Los_Angeles",denver:"America/Denver",phoenix:"America/Phoenix",toronto:"America/Toronto",montreal:"America/Toronto",vancouver:"America/Vancouver",ottawa:"America/Toronto",honolulu:"Pacific/Honolulu",anchorage:"America/Anchorage",miami:"America/New_York",boston:"America/New_York",atlanta:"America/New_York",dallas:"America/Chicago",houston:"America/Chicago",lima:"America/Lima",bogota:"America/Bogota",caracas:"America/Caracas",santiago:"America/Santiago",montevideo:"America/Montevideo",quito:"America/Guayaquil",london:"Europe/London",paris:"Europe/Paris",berlin:"Europe/Berlin",madrid:"Europe/Madrid",rome:"Europe/Rome",amsterdam:"Europe/Amsterdam",dublin:"Europe/Dublin",lisbon:"Europe/Lisbon",vienna:"Europe/Vienna",zurich:"Europe/Zurich",geneva:"Europe/Zurich",moscow:"Europe/Moscow",istanbul:"Europe/Istanbul",athens:"Europe/Athens",stockholm:"Europe/Stockholm",oslo:"Europe/Oslo",helsinki:"Europe/Helsinki",warsaw:"Europe/Warsaw",prague:"Europe/Prague",budapest:"Europe/Budapest",brussels:"Europe/Brussels",copenhagen:"Europe/Copenhagen",reykjavik:"Atlantic/Reykjavik",kiev:"Europe/Kyiv",kyiv:"Europe/Kyiv",tokyo:"Asia/Tokyo",osaka:"Asia/Tokyo",beijing:"Asia/Shanghai",shanghai:"Asia/Shanghai",seoul:"Asia/Seoul",singapore:"Asia/Singapore",bangkok:"Asia/Bangkok",jakarta:"Asia/Jakarta",manila:"Asia/Manila",mumbai:"Asia/Kolkata",delhi:"Asia/Kolkata",bangalore:"Asia/Kolkata",dubai:"Asia/Dubai",abudhabi:"Asia/Dubai",karachi:"Asia/Karachi",dhaka:"Asia/Dhaka",hanoi:"Asia/Ho_Chi_Minh",taipei:"Asia/Taipei",islamabad:"Asia/Karachi",riyadh:"Asia/Riyadh",telaviv:"Asia/Jerusalem",jerusalem:"Asia/Jerusalem",cairo:"Africa/Cairo",lagos:"Africa/Lagos",nairobi:"Africa/Nairobi",johannesburg:"Africa/Johannesburg",casablanca:"Africa/Casablanca",accra:"Africa/Accra",tunis:"Africa/Tunis",addisababa:"Africa/Addis_Ababa",france:"Europe/Paris",germany:"Europe/Berlin",spain:"Europe/Madrid",italy:"Europe/Rome",japan:"Asia/Tokyo",china:"Asia/Shanghai",india:"Asia/Kolkata",brazil:"America/Sao_Paulo",russia:"Europe/Moscow",australia:"Australia/Sydney",canada:"America/Toronto",mexico:"America/Mexico_City",uk:"Europe/London",usa:"America/New_York",ireland:"Europe/Dublin",netherlands:"Europe/Amsterdam",sweden:"Europe/Stockholm",norway:"Europe/Oslo",poland:"Europe/Warsaw",turkey:"Europe/Istanbul",egypt:"Africa/Cairo",nigeria:"Africa/Lagos"},Wr={"new york":"America/New_York","los angeles":"America/Los_Angeles","san francisco":"America/Los_Angeles","las vegas":"America/Los_Angeles","mexico city":"America/Mexico_City","hong kong":"Asia/Hong_Kong","kuala lumpur":"Asia/Kuala_Lumpur","sao paulo":"America/Sao_Paulo","buenos aires":"America/Argentina/Buenos_Aires","rio de janeiro":"America/Sao_Paulo","cape town":"Africa/Johannesburg","new delhi":"Asia/Kolkata","united kingdom":"Europe/London","united states":"America/New_York","south africa":"Africa/Johannesburg"},Qr={pst:"America/Los_Angeles",pdt:"America/Los_Angeles",est:"America/New_York",edt:"America/New_York",cst:"America/Chicago",cdt:"America/Chicago",mst:"America/Denver",mdt:"America/Denver",hst:"Pacific/Honolulu",bst:"Europe/London",cet:"Europe/Paris",cest:"Europe/Paris",jst:"Asia/Tokyo",ist:"Asia/Kolkata",aest:"Australia/Sydney",aedt:"Australia/Sydney"},zr={...Hr,...Wr,...Qr};function Au(e){let t=e.trim().toLowerCase();return t==="utc"||t==="gmt"?"UTC":zr[t]??null}export{jn as A,Kn as B,Ga as C,fu as D,du as E,Xr as F,pu as G,At as H,bu as I,yu as J,Nu as K,gu as L,Wr as M,zr as N,Au as O,Me as a,_n as b,Vn as c,hn as d,Ci as e,Di as f,Pi as g,Li as h,Rn as i,me as j,Ae as k,Zi as l,Hi as m,Wi as n,xn as o,Qi as p,zi as q,ut as r,Ji as s,ea as t,ta as u,na as v,ve as w,ia as x,Pr as y,Yn as z};//# sourceMappingURL=chunk-EVY2Y4FT.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-EVY2Y4FT.js.map
|