libre-webui 0.6.3 → 0.7.0
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/backend/dist/db.d.ts.map +1 -1
- package/backend/dist/db.js +17 -0
- package/backend/dist/db.js.map +1 -1
- package/backend/dist/routes/auth.js +2 -2
- package/backend/dist/routes/auth.js.map +1 -1
- package/backend/dist/routes/plugins.d.ts.map +1 -1
- package/backend/dist/routes/plugins.js +162 -0
- package/backend/dist/routes/plugins.js.map +1 -1
- package/backend/dist/services/authService.d.ts +1 -1
- package/backend/dist/services/authService.d.ts.map +1 -1
- package/backend/dist/services/authService.js +1 -1
- package/backend/dist/services/authService.js.map +1 -1
- package/backend/dist/services/pluginService.d.ts +9 -0
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +99 -24
- package/backend/dist/services/pluginService.js.map +1 -1
- package/backend/dist/services/pluginVariablesService.d.ts +36 -0
- package/backend/dist/services/pluginVariablesService.d.ts.map +1 -0
- package/backend/dist/services/pluginVariablesService.js +218 -0
- package/backend/dist/services/pluginVariablesService.js.map +1 -0
- package/backend/dist/types/index.d.ts +14 -0
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/dist/types/index.js.map +1 -1
- package/frontend/dist/assets/index-DMlahgv7.js +51 -0
- package/frontend/dist/css/{index-wpq7d2po.css → index-D9uKnbHR.css} +1 -1
- package/frontend/dist/index.html +4 -4
- package/frontend/dist/js/{ArtifactContainer-3CkpcYwD.js → ArtifactContainer-D_igWPrR.js} +2 -2
- package/frontend/dist/js/{ArtifactDemoPage-oSYi__50.js → ArtifactDemoPage-BW64ikxs.js} +1 -1
- package/frontend/dist/js/{ChatPage-Cz0C9idF.js → ChatPage-CIUGXjJ_.js} +10 -10
- package/frontend/dist/js/{GalleryPage-cCtfDEU2.js → GalleryPage-CMqUQtns.js} +1 -1
- package/frontend/dist/js/ModelsPage-DQ2ud-YG.js +1 -0
- package/frontend/dist/js/{PersonasPage-5vnLrOBA.js → PersonasPage-HqcbbtTL.js} +1 -1
- package/frontend/dist/js/{UserManagementPage-BSrxERfr.js → UserManagementPage-C4vtOCZ6.js} +1 -1
- package/frontend/dist/js/{ui-vendor-mY5_zojY.js → ui-vendor-DxZsuKzb.js} +1 -1
- package/frontend/dist/js/{utils-vendor-DBPpO82s.js → utils-vendor-0Ymd3GFQ.js} +2 -2
- package/package.json +1 -1
- package/plugins/anthropic.json +74 -13
- package/plugins/comfyui.json +45 -4
- package/plugins/elevenlabs.json +42 -2
- package/plugins/gemini.json +106 -45
- package/plugins/github.json +72 -11
- package/plugins/groq.json +74 -13
- package/plugins/huggingface.json +93 -6
- package/plugins/kyutai-tts-1.6b.json +76 -14
- package/plugins/kyutai-tts.json +32 -3
- package/plugins/mistral.json +122 -61
- package/plugins/openai-tts.json +38 -3
- package/plugins/openai.json +81 -3
- package/plugins/openrouter.json +402 -341
- package/plugins/qwen-tts.json +33 -3
- package/frontend/dist/assets/index-DUg4kgBT.js +0 -51
- package/frontend/dist/js/ModelsPage-CPrYNnp9.js +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{o as O0,f as Z0,m as M0,s as on,a as un,c as cn,v as dn,S as hn,j as u,M as mn}from"./markdown-vendor-QwEm2Xso.js";import{R as Jt,r as A,e as hr,c as Ra,d as pn,u as fn}from"./router-vendor-CmbUVdlE.js";import{u as C0,O as gn,c as Y,a as
|
|
1
|
+
import{o as O0,f as Z0,m as M0,s as on,a as un,c as cn,v as dn,S as hn,j as u,M as mn}from"./markdown-vendor-QwEm2Xso.js";import{R as Jt,r as A,e as hr,c as Ra,d as pn,u as fn}from"./router-vendor-CmbUVdlE.js";import{u as C0,O as gn,c as Y,a as o0,t as dt,b as Pa,d as ze,p as Lr,f as vn,e as Qt,S as xn,T as bn,B as r0,o as Ct,h as Hr,i as Oa,g as $r,j as ht,w as Me,k as Gr}from"../assets/index-DMlahgv7.js";import{C as yt,J as La,d as yn,h as D0,q as wn,L as Ha,j as $a,a0 as kn,V as Sn,o as _t,a1 as er,u as Ga,S as Mn,X as g0,t as Nn,g as Ur,a2 as mt,a3 as Tn,a4 as zn,H as An,U as Ua,N as Va,a5 as jn,z as ue,a6 as Cn,O as Dn,B as Dt,Z as A0,a7 as Bn,a8 as Fn,a9 as Bt,s as Wa,aa as In,r as mr,I as Xa,ab as Ft,i as J0,f as It,ac as En,ad as Ya,ae as Ka,af as Za,y as Q0,ag as qn,M as Rn,ah as Vr}from"./ui-vendor-DxZsuKzb.js";import{A as Pn}from"./ArtifactContainer-D_igWPrR.js";import"./utils-vendor-0Ymd3GFQ.js";function On(r,e){const t=String(r);let a=t.indexOf(e),s=a,n=0,l=0;for(;a!==-1;)a===s?++n>l&&(l=n):n=1,s=a+e.length,a=t.indexOf(e,s);return l}function Ln(){return{enter:{mathFlow:r,mathFlowFenceMeta:e,mathText:n},exit:{mathFlow:s,mathFlowFence:a,mathFlowFenceMeta:t,mathFlowValue:c,mathText:l,mathTextData:c}};function r(d){const p={type:"element",tagName:"code",properties:{className:["language-math","math-display"]},children:[]};this.enter({type:"math",meta:null,value:"",data:{hName:"pre",hChildren:[p]}},d)}function e(){this.buffer()}function t(){const d=this.resume(),p=this.stack[this.stack.length-1];O0(p.type==="math"),p.meta=d}function a(){this.data.mathFlowInside||(this.buffer(),this.data.mathFlowInside=!0)}function s(d){const p=this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),f=this.stack[this.stack.length-1];O0(f.type==="math"),this.exit(d),f.value=p;const x=f.data.hChildren[0];O0(x.type==="element"),O0(x.tagName==="code"),x.children.push({type:"text",value:p}),this.data.mathFlowInside=void 0}function n(d){this.enter({type:"inlineMath",value:"",data:{hName:"code",hProperties:{className:["language-math","math-inline"]},hChildren:[]}},d),this.buffer()}function l(d){const p=this.resume(),f=this.stack[this.stack.length-1];O0(f.type==="inlineMath"),this.exit(d),f.value=p,f.data.hChildren.push({type:"text",value:p})}function c(d){this.config.enter.data.call(this,d),this.config.exit.data.call(this,d)}}function Hn(r){let e=(r||{}).singleDollarTextMath;return e==null&&(e=!0),a.peek=s,{unsafe:[{character:"\r",inConstruct:"mathFlowMeta"},{character:`
|
|
2
2
|
`,inConstruct:"mathFlowMeta"},{character:"$",after:e?void 0:"\\$",inConstruct:"phrasing"},{character:"$",inConstruct:"mathFlowMeta"},{atBreak:!0,character:"$",after:"\\$"}],handlers:{math:t,inlineMath:a}};function t(n,l,c,d){const p=n.value||"",f=c.createTracker(d),x="$".repeat(Math.max(On(p,"$")+1,2)),y=c.enter("mathFlow");let b=f.move(x);if(n.meta){const S=c.enter("mathFlowMeta");b+=f.move(c.safe(n.meta,{after:`
|
|
3
3
|
`,before:b,encode:["$"],...f.current()})),S()}return b+=f.move(`
|
|
4
4
|
`),p&&(b+=f.move(p+`
|
|
5
|
-
`)),b+=f.move(x),y(),b}function a(n,l,c){let d=n.value||"",p=1;for(e||p++;new RegExp("(^|[^$])"+"\\$".repeat(p)+"([^$]|$)").test(d);)p++;const f="$".repeat(p);/[^ \r\n]/.test(d)&&(/^[ \r\n]/.test(d)&&/[ \r\n]$/.test(d)||/^\$|\$$/.test(d))&&(d=" "+d+" ");let x=-1;for(;++x<c.unsafe.length;){const y=c.unsafe[x];if(!y.atBreak)continue;const b=c.compilePattern(y);let S;for(;S=b.exec(d);){let k=S.index;d.codePointAt(k)===10&&d.codePointAt(k-1)===13&&k--,d=d.slice(0,k)+" "+d.slice(S.index+1)}}return f+d+f}function s(){return"$"}}const $n={tokenize:Gn,concrete:!0,name:"mathFlow"},Wr={tokenize:Un,partial:!0};function Gn(r,e,t){const a=this,s=a.events[a.events.length-1],n=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0;let l=0;return c;function c(z){return r.enter("mathFlow"),r.enter("mathFlowFence"),r.enter("mathFlowFenceSequence"),d(z)}function d(z){return z===36?(r.consume(z),l++,d):l<2?t(z):(r.exit("mathFlowFenceSequence"),Z0(r,p,"whitespace")(z))}function p(z){return z===null||M0(z)?x(z):(r.enter("mathFlowFenceMeta"),r.enter("chunkString",{contentType:"string"}),f(z))}function f(z){return z===null||M0(z)?(r.exit("chunkString"),r.exit("mathFlowFenceMeta"),x(z)):z===36?t(z):(r.consume(z),f)}function x(z){return r.exit("mathFlowFence"),a.interrupt?e(z):r.attempt(Wr,y,C)(z)}function y(z){return r.attempt({tokenize:B,partial:!0},C,b)(z)}function b(z){return(n?Z0(r,S,"linePrefix",n+1):S)(z)}function S(z){return z===null?C(z):M0(z)?r.attempt(Wr,y,C)(z):(r.enter("mathFlowValue"),k(z))}function k(z){return z===null||M0(z)?(r.exit("mathFlowValue"),S(z)):(r.consume(z),k)}function C(z){return r.exit("mathFlow"),e(z)}function B(z,U,R){let O=0;return Z0(z,X,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function X(N){return z.enter("mathFlowFence"),z.enter("mathFlowFenceSequence"),F(N)}function F(N){return N===36?(O++,z.consume(N),F):O<l?R(N):(z.exit("mathFlowFenceSequence"),Z0(z,q,"whitespace")(N))}function q(N){return N===null||M0(N)?(z.exit("mathFlowFence"),U(N)):R(N)}}}function Un(r,e,t){const a=this;return s;function s(l){return l===null?e(l):(r.enter("lineEnding"),r.consume(l),r.exit("lineEnding"),n)}function n(l){return a.parser.lazy[a.now().line]?t(l):e(l)}}function Vn(r){let t=(r||{}).singleDollarTextMath;return t==null&&(t=!0),{tokenize:a,resolve:Wn,previous:Xn,name:"mathText"};function a(s,n,l){let c=0,d,p;return f;function f(k){return s.enter("mathText"),s.enter("mathTextSequence"),x(k)}function x(k){return k===36?(s.consume(k),c++,x):c<2&&!t?l(k):(s.exit("mathTextSequence"),y(k))}function y(k){return k===null?l(k):k===36?(p=s.enter("mathTextSequence"),d=0,S(k)):k===32?(s.enter("space"),s.consume(k),s.exit("space"),y):M0(k)?(s.enter("lineEnding"),s.consume(k),s.exit("lineEnding"),y):(s.enter("mathTextData"),b(k))}function b(k){return k===null||k===32||k===36||M0(k)?(s.exit("mathTextData"),y(k)):(s.consume(k),b)}function S(k){return k===36?(s.consume(k),d++,S):d===c?(s.exit("mathTextSequence"),s.exit("mathText"),n(k)):(p.type="mathTextData",b(k))}}}function Wn(r){let e=r.length-4,t=3,a,s;if((r[t][1].type==="lineEnding"||r[t][1].type==="space")&&(r[e][1].type==="lineEnding"||r[e][1].type==="space")){for(a=t;++a<e;)if(r[a][1].type==="mathTextData"){r[e][1].type="mathTextPadding",r[t][1].type="mathTextPadding",t+=2,e-=2;break}}for(a=t-1,e++;++a<=e;)s===void 0?a!==e&&r[a][1].type!=="lineEnding"&&(s=a):(a===e||r[a][1].type==="lineEnding")&&(r[s][1].type="mathTextData",a!==s+2&&(r[s][1].end=r[a-1][1].end,r.splice(s+2,a-s-2),e-=a-s-2,a=s+2),s=void 0);return r}function Xn(r){return r!==36||this.events[this.events.length-1][1].type==="characterEscape"}function Yn(r){return{flow:{36:$n},text:{36:Vn(r)}}}class Ee{constructor(e,t,a){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=a}static range(e,t){return t?!e||!e.loc||!t.loc||e.loc.lexer!==t.loc.lexer?null:new Ee(e.loc.lexer,e.loc.start,t.loc.end):e&&e.loc}}class Oe{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(e,t){return new Oe(t,Ee.range(this,e))}}class E{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var a="KaTeX parse error: "+e,s,n,l=t&&t.loc;if(l&&l.start<=l.end){var c=l.lexer.input;s=l.start,n=l.end,s===c.length?a+=" at end of input: ":a+=" at position "+(s+1)+": ";var d=c.slice(s,n).replace(/[^]/g,"$&̲"),p;s>15?p="…"+c.slice(s-15,s):p=c.slice(0,s);var f;n+15<c.length?f=c.slice(n,n+15)+"…":f=c.slice(n),a+=p+d+f}var x=new Error(a);return x.name="ParseError",x.__proto__=E.prototype,x.position=s,s!=null&&n!=null&&(x.length=n-s),x.rawMessage=e,x}}E.prototype.__proto__=Error.prototype;var Kn=function(e,t){return e===void 0?t:e},Zn=/([A-Z])/g,Jn=function(e){return e.replace(Zn,"-$1").toLowerCase()},Qn={"&":"&",">":">","<":"<",'"':""","'":"'"},_n=/[&><"']/g;function ei(r){return String(r).replace(_n,e=>Qn[e])}var Ja=function r(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?r(e.body[0]):e:e.type==="font"?r(e.body):e},ti=function(e){var t=Ja(e);return t.type==="mathord"||t.type==="textord"||t.type==="atom"},ri=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},ai=function(e){var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},ie={deflt:Kn,escape:ei,hyphenate:Jn,getBaseElem:Ja,isCharacterBox:ti,protocolFromUrl:ai},ut={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:r=>"#"+r},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(r,e)=>(e.push(r),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:r=>Math.max(0,r),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:r=>Math.max(0,r),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:r=>Math.max(0,r),cli:"-e, --max-expand <n>",cliProcessor:r=>r==="Infinity"?1/0:parseInt(r)},globalGroup:{type:"boolean",cli:!1}};function si(r){if(r.default)return r.default;var e=r.type,t=Array.isArray(e)?e[0]:e;if(typeof t!="string")return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class pr{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var t in ut)if(ut.hasOwnProperty(t)){var a=ut[t];this[t]=e[t]!==void 0?a.processor?a.processor(e[t]):e[t]:si(a)}}reportNonstrict(e,t,a){var s=this.strict;if(typeof s=="function"&&(s=s(e,t,a)),!(!s||s==="ignore")){if(s===!0||s==="error")throw new E("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" ["+e+"]"),a);s==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+t+" ["+e+"]"))}}useStrictBehavior(e,t,a){var s=this.strict;if(typeof s=="function")try{s=s(e,t,a)}catch{s="error"}return!s||s==="ignore"?!1:s===!0||s==="error"?!0:s==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+t+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var t=ie.protocolFromUrl(e.url);if(t==null)return!1;e.protocol=t}var a=typeof this.trust=="function"?this.trust(e):this.trust;return!!a}}class h0{constructor(e,t,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=a}sup(){return Ye[ni[this.id]]}sub(){return Ye[ii[this.id]]}fracNum(){return Ye[li[this.id]]}fracDen(){return Ye[oi[this.id]]}cramp(){return Ye[ui[this.id]]}text(){return Ye[ci[this.id]]}isTight(){return this.size>=2}}var fr=0,pt=1,j0=2,a0=3,U0=4,$e=5,B0=6,De=7,Ye=[new h0(fr,0,!1),new h0(pt,0,!0),new h0(j0,1,!1),new h0(a0,1,!0),new h0(U0,2,!1),new h0($e,2,!0),new h0(B0,3,!1),new h0(De,3,!0)],ni=[U0,$e,U0,$e,B0,De,B0,De],ii=[$e,$e,$e,$e,De,De,De,De],li=[j0,a0,U0,$e,B0,De,B0,De],oi=[a0,a0,$e,$e,De,De,De,De],ui=[pt,pt,a0,a0,$e,$e,De,De],ci=[fr,pt,j0,a0,j0,a0,j0,a0],Z={DISPLAY:Ye[fr],TEXT:Ye[j0],SCRIPT:Ye[U0],SCRIPTSCRIPT:Ye[B0]},tr=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function di(r){for(var e=0;e<tr.length;e++)for(var t=tr[e],a=0;a<t.blocks.length;a++){var s=t.blocks[a];if(r>=s[0]&&r<=s[1])return t.name}return null}var ct=[];tr.forEach(r=>r.blocks.forEach(e=>ct.push(...e)));function Qa(r){for(var e=0;e<ct.length;e+=2)if(r>=ct[e]&&r<=ct[e+1])return!0;return!1}var z0=80,hi=function(e,t){return"M95,"+(622+e+t)+`
|
|
5
|
+
`)),b+=f.move(x),y(),b}function a(n,l,c){let d=n.value||"",p=1;for(e||p++;new RegExp("(^|[^$])"+"\\$".repeat(p)+"([^$]|$)").test(d);)p++;const f="$".repeat(p);/[^ \r\n]/.test(d)&&(/^[ \r\n]/.test(d)&&/[ \r\n]$/.test(d)||/^\$|\$$/.test(d))&&(d=" "+d+" ");let x=-1;for(;++x<c.unsafe.length;){const y=c.unsafe[x];if(!y.atBreak)continue;const b=c.compilePattern(y);let S;for(;S=b.exec(d);){let k=S.index;d.codePointAt(k)===10&&d.codePointAt(k-1)===13&&k--,d=d.slice(0,k)+" "+d.slice(S.index+1)}}return f+d+f}function s(){return"$"}}const $n={tokenize:Gn,concrete:!0,name:"mathFlow"},Wr={tokenize:Un,partial:!0};function Gn(r,e,t){const a=this,s=a.events[a.events.length-1],n=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0;let l=0;return c;function c(z){return r.enter("mathFlow"),r.enter("mathFlowFence"),r.enter("mathFlowFenceSequence"),d(z)}function d(z){return z===36?(r.consume(z),l++,d):l<2?t(z):(r.exit("mathFlowFenceSequence"),Z0(r,p,"whitespace")(z))}function p(z){return z===null||M0(z)?x(z):(r.enter("mathFlowFenceMeta"),r.enter("chunkString",{contentType:"string"}),f(z))}function f(z){return z===null||M0(z)?(r.exit("chunkString"),r.exit("mathFlowFenceMeta"),x(z)):z===36?t(z):(r.consume(z),f)}function x(z){return r.exit("mathFlowFence"),a.interrupt?e(z):r.attempt(Wr,y,C)(z)}function y(z){return r.attempt({tokenize:B,partial:!0},C,b)(z)}function b(z){return(n?Z0(r,S,"linePrefix",n+1):S)(z)}function S(z){return z===null?C(z):M0(z)?r.attempt(Wr,y,C)(z):(r.enter("mathFlowValue"),k(z))}function k(z){return z===null||M0(z)?(r.exit("mathFlowValue"),S(z)):(r.consume(z),k)}function C(z){return r.exit("mathFlow"),e(z)}function B(z,U,R){let O=0;return Z0(z,X,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function X(N){return z.enter("mathFlowFence"),z.enter("mathFlowFenceSequence"),F(N)}function F(N){return N===36?(O++,z.consume(N),F):O<l?R(N):(z.exit("mathFlowFenceSequence"),Z0(z,q,"whitespace")(N))}function q(N){return N===null||M0(N)?(z.exit("mathFlowFence"),U(N)):R(N)}}}function Un(r,e,t){const a=this;return s;function s(l){return l===null?e(l):(r.enter("lineEnding"),r.consume(l),r.exit("lineEnding"),n)}function n(l){return a.parser.lazy[a.now().line]?t(l):e(l)}}function Vn(r){let t=(r||{}).singleDollarTextMath;return t==null&&(t=!0),{tokenize:a,resolve:Wn,previous:Xn,name:"mathText"};function a(s,n,l){let c=0,d,p;return f;function f(k){return s.enter("mathText"),s.enter("mathTextSequence"),x(k)}function x(k){return k===36?(s.consume(k),c++,x):c<2&&!t?l(k):(s.exit("mathTextSequence"),y(k))}function y(k){return k===null?l(k):k===36?(p=s.enter("mathTextSequence"),d=0,S(k)):k===32?(s.enter("space"),s.consume(k),s.exit("space"),y):M0(k)?(s.enter("lineEnding"),s.consume(k),s.exit("lineEnding"),y):(s.enter("mathTextData"),b(k))}function b(k){return k===null||k===32||k===36||M0(k)?(s.exit("mathTextData"),y(k)):(s.consume(k),b)}function S(k){return k===36?(s.consume(k),d++,S):d===c?(s.exit("mathTextSequence"),s.exit("mathText"),n(k)):(p.type="mathTextData",b(k))}}}function Wn(r){let e=r.length-4,t=3,a,s;if((r[t][1].type==="lineEnding"||r[t][1].type==="space")&&(r[e][1].type==="lineEnding"||r[e][1].type==="space")){for(a=t;++a<e;)if(r[a][1].type==="mathTextData"){r[e][1].type="mathTextPadding",r[t][1].type="mathTextPadding",t+=2,e-=2;break}}for(a=t-1,e++;++a<=e;)s===void 0?a!==e&&r[a][1].type!=="lineEnding"&&(s=a):(a===e||r[a][1].type==="lineEnding")&&(r[s][1].type="mathTextData",a!==s+2&&(r[s][1].end=r[a-1][1].end,r.splice(s+2,a-s-2),e-=a-s-2,a=s+2),s=void 0);return r}function Xn(r){return r!==36||this.events[this.events.length-1][1].type==="characterEscape"}function Yn(r){return{flow:{36:$n},text:{36:Vn(r)}}}class Ee{constructor(e,t,a){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=a}static range(e,t){return t?!e||!e.loc||!t.loc||e.loc.lexer!==t.loc.lexer?null:new Ee(e.loc.lexer,e.loc.start,t.loc.end):e&&e.loc}}class Oe{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(e,t){return new Oe(t,Ee.range(this,e))}}class E{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var a="KaTeX parse error: "+e,s,n,l=t&&t.loc;if(l&&l.start<=l.end){var c=l.lexer.input;s=l.start,n=l.end,s===c.length?a+=" at end of input: ":a+=" at position "+(s+1)+": ";var d=c.slice(s,n).replace(/[^]/g,"$&̲"),p;s>15?p="…"+c.slice(s-15,s):p=c.slice(0,s);var f;n+15<c.length?f=c.slice(n,n+15)+"…":f=c.slice(n),a+=p+d+f}var x=new Error(a);return x.name="ParseError",x.__proto__=E.prototype,x.position=s,s!=null&&n!=null&&(x.length=n-s),x.rawMessage=e,x}}E.prototype.__proto__=Error.prototype;var Kn=function(e,t){return e===void 0?t:e},Zn=/([A-Z])/g,Jn=function(e){return e.replace(Zn,"-$1").toLowerCase()},Qn={"&":"&",">":">","<":"<",'"':""","'":"'"},_n=/[&><"']/g;function ei(r){return String(r).replace(_n,e=>Qn[e])}var Ja=function r(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?r(e.body[0]):e:e.type==="font"?r(e.body):e},ti=function(e){var t=Ja(e);return t.type==="mathord"||t.type==="textord"||t.type==="atom"},ri=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},ai=function(e){var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},ie={deflt:Kn,escape:ei,hyphenate:Jn,getBaseElem:Ja,isCharacterBox:ti,protocolFromUrl:ai},ut={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:r=>"#"+r},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(r,e)=>(e.push(r),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:r=>Math.max(0,r),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:r=>Math.max(0,r),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:r=>Math.max(0,r),cli:"-e, --max-expand <n>",cliProcessor:r=>r==="Infinity"?1/0:parseInt(r)},globalGroup:{type:"boolean",cli:!1}};function si(r){if(r.default)return r.default;var e=r.type,t=Array.isArray(e)?e[0]:e;if(typeof t!="string")return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class pr{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var t in ut)if(ut.hasOwnProperty(t)){var a=ut[t];this[t]=e[t]!==void 0?a.processor?a.processor(e[t]):e[t]:si(a)}}reportNonstrict(e,t,a){var s=this.strict;if(typeof s=="function"&&(s=s(e,t,a)),!(!s||s==="ignore")){if(s===!0||s==="error")throw new E("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" ["+e+"]"),a);s==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+t+" ["+e+"]"))}}useStrictBehavior(e,t,a){var s=this.strict;if(typeof s=="function")try{s=s(e,t,a)}catch{s="error"}return!s||s==="ignore"?!1:s===!0||s==="error"?!0:s==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+t+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var t=ie.protocolFromUrl(e.url);if(t==null)return!1;e.protocol=t}var a=typeof this.trust=="function"?this.trust(e):this.trust;return!!a}}class m0{constructor(e,t,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=a}sup(){return Ye[ni[this.id]]}sub(){return Ye[ii[this.id]]}fracNum(){return Ye[li[this.id]]}fracDen(){return Ye[oi[this.id]]}cramp(){return Ye[ui[this.id]]}text(){return Ye[ci[this.id]]}isTight(){return this.size>=2}}var fr=0,pt=1,j0=2,a0=3,U0=4,$e=5,B0=6,De=7,Ye=[new m0(fr,0,!1),new m0(pt,0,!0),new m0(j0,1,!1),new m0(a0,1,!0),new m0(U0,2,!1),new m0($e,2,!0),new m0(B0,3,!1),new m0(De,3,!0)],ni=[U0,$e,U0,$e,B0,De,B0,De],ii=[$e,$e,$e,$e,De,De,De,De],li=[j0,a0,U0,$e,B0,De,B0,De],oi=[a0,a0,$e,$e,De,De,De,De],ui=[pt,pt,a0,a0,$e,$e,De,De],ci=[fr,pt,j0,a0,j0,a0,j0,a0],Z={DISPLAY:Ye[fr],TEXT:Ye[j0],SCRIPT:Ye[U0],SCRIPTSCRIPT:Ye[B0]},tr=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function di(r){for(var e=0;e<tr.length;e++)for(var t=tr[e],a=0;a<t.blocks.length;a++){var s=t.blocks[a];if(r>=s[0]&&r<=s[1])return t.name}return null}var ct=[];tr.forEach(r=>r.blocks.forEach(e=>ct.push(...e)));function Qa(r){for(var e=0;e<ct.length;e+=2)if(r>=ct[e]&&r<=ct[e+1])return!0;return!1}var z0=80,hi=function(e,t){return"M95,"+(622+e+t)+`
|
|
6
6
|
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
|
|
7
7
|
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
|
|
8
8
|
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
|
|
@@ -256,26 +256,26 @@ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6
|
|
|
256
256
|
c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
|
|
257
257
|
c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
|
|
258
258
|
l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
|
|
259
|
-
-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class W0{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){var e=t=>t.toText();return this.children.map(e).join("")}}var Ke={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},_0={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Yr={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function ki(r,e){Ke[r]=e}function gr(r,e,t){if(!Ke[e])throw new Error("Font metrics not found for font: "+e+".");var a=r.charCodeAt(0),s=Ke[e][a];if(!s&&r[0]in Yr&&(a=Yr[r[0]].charCodeAt(0),s=Ke[e][a]),!s&&t==="text"&&Qa(a)&&(s=Ke[e][77]),s)return{depth:s[0],height:s[1],italic:s[2],skew:s[3],width:s[4]}}var Et={};function Si(r){var e;if(r>=5?e=0:r>=3?e=1:e=2,!Et[e]){var t=Et[e]={cssEmPerMu:_0.quad[e]/18};for(var a in _0)_0.hasOwnProperty(a)&&(t[a]=_0[a][e])}return Et[e]}var Mi=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Kr=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Zr=function(e,t){return t.size<2?e:Mi[e-1][t.size-1]};class t0{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t0.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=Kr[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var a in e)e.hasOwnProperty(a)&&(t[a]=e[a]);return new t0(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:Zr(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:Kr[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=Zr(t0.BASESIZE,e);return this.size===t&&this.textSize===t0.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==t0.BASESIZE?["sizing","reset-size"+this.size,"size"+t0.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=Si(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}t0.BASESIZE=6;var rr={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},Ni={ex:!0,em:!0,mu:!0},_a=function(e){return typeof e!="string"&&(e=e.unit),e in rr||e in Ni||e==="ex"},fe=function(e,t){var a;if(e.unit in rr)a=rr[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit==="mu")a=t.fontMetrics().cssEmPerMu;else{var s;if(t.style.isTight()?s=t.havingStyle(t.style.text()):s=t,e.unit==="ex")a=s.fontMetrics().xHeight;else if(e.unit==="em")a=s.fontMetrics().quad;else throw new E("Invalid unit: '"+e.unit+"'");s!==t&&(a*=s.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*a,t.maxSize)},P=function(e){return+e.toFixed(4)+"em"},g0=function(e){return e.filter(t=>t).join(" ")},es=function(e,t,a){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=a||{},t){t.style.isTight()&&this.classes.push("mtight");var s=t.getColor();s&&(this.style.color=s)}},ts=function(e){var t=document.createElement(e);t.className=g0(this.classes);for(var a in this.style)this.style.hasOwnProperty(a)&&(t.style[a]=this.style[a]);for(var s in this.attributes)this.attributes.hasOwnProperty(s)&&t.setAttribute(s,this.attributes[s]);for(var n=0;n<this.children.length;n++)t.appendChild(this.children[n].toNode());return t},Ti=/[\s"'>/=\x00-\x1f]/,rs=function(e){var t="<"+e;this.classes.length&&(t+=' class="'+ie.escape(g0(this.classes))+'"');var a="";for(var s in this.style)this.style.hasOwnProperty(s)&&(a+=ie.hyphenate(s)+":"+this.style[s]+";");a&&(t+=' style="'+ie.escape(a)+'"');for(var n in this.attributes)if(this.attributes.hasOwnProperty(n)){if(Ti.test(n))throw new E("Invalid attribute name '"+n+"'");t+=" "+n+'="'+ie.escape(this.attributes[n])+'"'}t+=">";for(var l=0;l<this.children.length;l++)t+=this.children[l].toMarkup();return t+="</"+e+">",t};class X0{constructor(e,t,a,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,es.call(this,e,a,s),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return ts.call(this,"span")}toMarkup(){return rs.call(this,"span")}}class vr{constructor(e,t,a,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,es.call(this,t,s),this.children=a||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return ts.call(this,"a")}toMarkup(){return rs.call(this,"a")}}class zi{constructor(e,t,a){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=a}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var t in this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){var e='<img src="'+ie.escape(this.src)+'"'+(' alt="'+ie.escape(this.alt)+'"'),t="";for(var a in this.style)this.style.hasOwnProperty(a)&&(t+=ie.hyphenate(a)+":"+this.style[a]+";");return t&&(e+=' style="'+ie.escape(t)+'"'),e+="'/>",e}}var Ai={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class Ge{constructor(e,t,a,s,n,l,c,d){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=a||0,this.italic=s||0,this.skew=n||0,this.width=l||0,this.classes=c||[],this.style=d||{},this.maxFontSize=0;var p=di(this.text.charCodeAt(0));p&&this.classes.push(p+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=Ai[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),t=null;this.italic>0&&(t=document.createElement("span"),t.style.marginRight=P(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=g0(this.classes));for(var a in this.style)this.style.hasOwnProperty(a)&&(t=t||document.createElement("span"),t.style[a]=this.style[a]);return t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="<span";this.classes.length&&(e=!0,t+=' class="',t+=ie.escape(g0(this.classes)),t+='"');var a="";this.italic>0&&(a+="margin-right:"+this.italic+"em;");for(var s in this.style)this.style.hasOwnProperty(s)&&(a+=ie.hyphenate(s)+":"+this.style[s]+";");a&&(e=!0,t+=' style="'+ie.escape(a)+'"');var n=ie.escape(this.text);return e?(t+=">",t+=n,t+="</span>",t):n}}class n0{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"svg");for(var a in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,a)&&t.setAttribute(a,this.attributes[a]);for(var s=0;s<this.children.length;s++)t.appendChild(this.children[s].toNode());return t}toMarkup(){var e='<svg xmlns="http://www.w3.org/2000/svg"';for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="'+ie.escape(this.attributes[t])+'"');e+=">";for(var a=0;a<this.children.length;a++)e+=this.children[a].toMarkup();return e+="</svg>",e}}class v0{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"path");return this.alternate?t.setAttribute("d",this.alternate):t.setAttribute("d",Xr[this.pathName]),t}toMarkup(){return this.alternate?'<path d="'+ie.escape(this.alternate)+'"/>':'<path d="'+ie.escape(Xr[this.pathName])+'"/>'}}class ar{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"line");for(var a in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,a)&&t.setAttribute(a,this.attributes[a]);return t}toMarkup(){var e="<line";for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="'+ie.escape(this.attributes[t])+'"');return e+="/>",e}}function Jr(r){if(r instanceof Ge)return r;throw new Error("Expected symbolNode but got "+String(r)+".")}function ji(r){if(r instanceof X0)return r;throw new Error("Expected span<HtmlDomNode> but got "+String(r)+".")}var Ci={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Di={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},de={math:{},text:{}};function i(r,e,t,a,s,n){de[r][s]={font:e,group:t,replace:a},n&&a&&(de[r][a]=de[r][s])}var o="math",D="text",h="main",g="ams",me="accent-token",G="bin",Be="close",F0="inner",K="mathord",ye="op-token",Le="open",wt="punct",v="rel",o0="spacing",w="textord";i(o,h,v,"≡","\\equiv",!0);i(o,h,v,"≺","\\prec",!0);i(o,h,v,"≻","\\succ",!0);i(o,h,v,"∼","\\sim",!0);i(o,h,v,"⊥","\\perp");i(o,h,v,"⪯","\\preceq",!0);i(o,h,v,"⪰","\\succeq",!0);i(o,h,v,"≃","\\simeq",!0);i(o,h,v,"∣","\\mid",!0);i(o,h,v,"≪","\\ll",!0);i(o,h,v,"≫","\\gg",!0);i(o,h,v,"≍","\\asymp",!0);i(o,h,v,"∥","\\parallel");i(o,h,v,"⋈","\\bowtie",!0);i(o,h,v,"⌣","\\smile",!0);i(o,h,v,"⊑","\\sqsubseteq",!0);i(o,h,v,"⊒","\\sqsupseteq",!0);i(o,h,v,"≐","\\doteq",!0);i(o,h,v,"⌢","\\frown",!0);i(o,h,v,"∋","\\ni",!0);i(o,h,v,"∝","\\propto",!0);i(o,h,v,"⊢","\\vdash",!0);i(o,h,v,"⊣","\\dashv",!0);i(o,h,v,"∋","\\owns");i(o,h,wt,".","\\ldotp");i(o,h,wt,"⋅","\\cdotp");i(o,h,w,"#","\\#");i(D,h,w,"#","\\#");i(o,h,w,"&","\\&");i(D,h,w,"&","\\&");i(o,h,w,"ℵ","\\aleph",!0);i(o,h,w,"∀","\\forall",!0);i(o,h,w,"ℏ","\\hbar",!0);i(o,h,w,"∃","\\exists",!0);i(o,h,w,"∇","\\nabla",!0);i(o,h,w,"♭","\\flat",!0);i(o,h,w,"ℓ","\\ell",!0);i(o,h,w,"♮","\\natural",!0);i(o,h,w,"♣","\\clubsuit",!0);i(o,h,w,"℘","\\wp",!0);i(o,h,w,"♯","\\sharp",!0);i(o,h,w,"♢","\\diamondsuit",!0);i(o,h,w,"ℜ","\\Re",!0);i(o,h,w,"♡","\\heartsuit",!0);i(o,h,w,"ℑ","\\Im",!0);i(o,h,w,"♠","\\spadesuit",!0);i(o,h,w,"§","\\S",!0);i(D,h,w,"§","\\S");i(o,h,w,"¶","\\P",!0);i(D,h,w,"¶","\\P");i(o,h,w,"†","\\dag");i(D,h,w,"†","\\dag");i(D,h,w,"†","\\textdagger");i(o,h,w,"‡","\\ddag");i(D,h,w,"‡","\\ddag");i(D,h,w,"‡","\\textdaggerdbl");i(o,h,Be,"⎱","\\rmoustache",!0);i(o,h,Le,"⎰","\\lmoustache",!0);i(o,h,Be,"⟯","\\rgroup",!0);i(o,h,Le,"⟮","\\lgroup",!0);i(o,h,G,"∓","\\mp",!0);i(o,h,G,"⊖","\\ominus",!0);i(o,h,G,"⊎","\\uplus",!0);i(o,h,G,"⊓","\\sqcap",!0);i(o,h,G,"∗","\\ast");i(o,h,G,"⊔","\\sqcup",!0);i(o,h,G,"◯","\\bigcirc",!0);i(o,h,G,"∙","\\bullet",!0);i(o,h,G,"‡","\\ddagger");i(o,h,G,"≀","\\wr",!0);i(o,h,G,"⨿","\\amalg");i(o,h,G,"&","\\And");i(o,h,v,"⟵","\\longleftarrow",!0);i(o,h,v,"⇐","\\Leftarrow",!0);i(o,h,v,"⟸","\\Longleftarrow",!0);i(o,h,v,"⟶","\\longrightarrow",!0);i(o,h,v,"⇒","\\Rightarrow",!0);i(o,h,v,"⟹","\\Longrightarrow",!0);i(o,h,v,"↔","\\leftrightarrow",!0);i(o,h,v,"⟷","\\longleftrightarrow",!0);i(o,h,v,"⇔","\\Leftrightarrow",!0);i(o,h,v,"⟺","\\Longleftrightarrow",!0);i(o,h,v,"↦","\\mapsto",!0);i(o,h,v,"⟼","\\longmapsto",!0);i(o,h,v,"↗","\\nearrow",!0);i(o,h,v,"↩","\\hookleftarrow",!0);i(o,h,v,"↪","\\hookrightarrow",!0);i(o,h,v,"↘","\\searrow",!0);i(o,h,v,"↼","\\leftharpoonup",!0);i(o,h,v,"⇀","\\rightharpoonup",!0);i(o,h,v,"↙","\\swarrow",!0);i(o,h,v,"↽","\\leftharpoondown",!0);i(o,h,v,"⇁","\\rightharpoondown",!0);i(o,h,v,"↖","\\nwarrow",!0);i(o,h,v,"⇌","\\rightleftharpoons",!0);i(o,g,v,"≮","\\nless",!0);i(o,g,v,"","\\@nleqslant");i(o,g,v,"","\\@nleqq");i(o,g,v,"⪇","\\lneq",!0);i(o,g,v,"≨","\\lneqq",!0);i(o,g,v,"","\\@lvertneqq");i(o,g,v,"⋦","\\lnsim",!0);i(o,g,v,"⪉","\\lnapprox",!0);i(o,g,v,"⊀","\\nprec",!0);i(o,g,v,"⋠","\\npreceq",!0);i(o,g,v,"⋨","\\precnsim",!0);i(o,g,v,"⪹","\\precnapprox",!0);i(o,g,v,"≁","\\nsim",!0);i(o,g,v,"","\\@nshortmid");i(o,g,v,"∤","\\nmid",!0);i(o,g,v,"⊬","\\nvdash",!0);i(o,g,v,"⊭","\\nvDash",!0);i(o,g,v,"⋪","\\ntriangleleft");i(o,g,v,"⋬","\\ntrianglelefteq",!0);i(o,g,v,"⊊","\\subsetneq",!0);i(o,g,v,"","\\@varsubsetneq");i(o,g,v,"⫋","\\subsetneqq",!0);i(o,g,v,"","\\@varsubsetneqq");i(o,g,v,"≯","\\ngtr",!0);i(o,g,v,"","\\@ngeqslant");i(o,g,v,"","\\@ngeqq");i(o,g,v,"⪈","\\gneq",!0);i(o,g,v,"≩","\\gneqq",!0);i(o,g,v,"","\\@gvertneqq");i(o,g,v,"⋧","\\gnsim",!0);i(o,g,v,"⪊","\\gnapprox",!0);i(o,g,v,"⊁","\\nsucc",!0);i(o,g,v,"⋡","\\nsucceq",!0);i(o,g,v,"⋩","\\succnsim",!0);i(o,g,v,"⪺","\\succnapprox",!0);i(o,g,v,"≆","\\ncong",!0);i(o,g,v,"","\\@nshortparallel");i(o,g,v,"∦","\\nparallel",!0);i(o,g,v,"⊯","\\nVDash",!0);i(o,g,v,"⋫","\\ntriangleright");i(o,g,v,"⋭","\\ntrianglerighteq",!0);i(o,g,v,"","\\@nsupseteqq");i(o,g,v,"⊋","\\supsetneq",!0);i(o,g,v,"","\\@varsupsetneq");i(o,g,v,"⫌","\\supsetneqq",!0);i(o,g,v,"","\\@varsupsetneqq");i(o,g,v,"⊮","\\nVdash",!0);i(o,g,v,"⪵","\\precneqq",!0);i(o,g,v,"⪶","\\succneqq",!0);i(o,g,v,"","\\@nsubseteqq");i(o,g,G,"⊴","\\unlhd");i(o,g,G,"⊵","\\unrhd");i(o,g,v,"↚","\\nleftarrow",!0);i(o,g,v,"↛","\\nrightarrow",!0);i(o,g,v,"⇍","\\nLeftarrow",!0);i(o,g,v,"⇏","\\nRightarrow",!0);i(o,g,v,"↮","\\nleftrightarrow",!0);i(o,g,v,"⇎","\\nLeftrightarrow",!0);i(o,g,v,"△","\\vartriangle");i(o,g,w,"ℏ","\\hslash");i(o,g,w,"▽","\\triangledown");i(o,g,w,"◊","\\lozenge");i(o,g,w,"Ⓢ","\\circledS");i(o,g,w,"®","\\circledR");i(D,g,w,"®","\\circledR");i(o,g,w,"∡","\\measuredangle",!0);i(o,g,w,"∄","\\nexists");i(o,g,w,"℧","\\mho");i(o,g,w,"Ⅎ","\\Finv",!0);i(o,g,w,"⅁","\\Game",!0);i(o,g,w,"‵","\\backprime");i(o,g,w,"▲","\\blacktriangle");i(o,g,w,"▼","\\blacktriangledown");i(o,g,w,"■","\\blacksquare");i(o,g,w,"⧫","\\blacklozenge");i(o,g,w,"★","\\bigstar");i(o,g,w,"∢","\\sphericalangle",!0);i(o,g,w,"∁","\\complement",!0);i(o,g,w,"ð","\\eth",!0);i(D,h,w,"ð","ð");i(o,g,w,"╱","\\diagup");i(o,g,w,"╲","\\diagdown");i(o,g,w,"□","\\square");i(o,g,w,"□","\\Box");i(o,g,w,"◊","\\Diamond");i(o,g,w,"¥","\\yen",!0);i(D,g,w,"¥","\\yen",!0);i(o,g,w,"✓","\\checkmark",!0);i(D,g,w,"✓","\\checkmark");i(o,g,w,"ℶ","\\beth",!0);i(o,g,w,"ℸ","\\daleth",!0);i(o,g,w,"ℷ","\\gimel",!0);i(o,g,w,"ϝ","\\digamma",!0);i(o,g,w,"ϰ","\\varkappa");i(o,g,Le,"┌","\\@ulcorner",!0);i(o,g,Be,"┐","\\@urcorner",!0);i(o,g,Le,"└","\\@llcorner",!0);i(o,g,Be,"┘","\\@lrcorner",!0);i(o,g,v,"≦","\\leqq",!0);i(o,g,v,"⩽","\\leqslant",!0);i(o,g,v,"⪕","\\eqslantless",!0);i(o,g,v,"≲","\\lesssim",!0);i(o,g,v,"⪅","\\lessapprox",!0);i(o,g,v,"≊","\\approxeq",!0);i(o,g,G,"⋖","\\lessdot");i(o,g,v,"⋘","\\lll",!0);i(o,g,v,"≶","\\lessgtr",!0);i(o,g,v,"⋚","\\lesseqgtr",!0);i(o,g,v,"⪋","\\lesseqqgtr",!0);i(o,g,v,"≑","\\doteqdot");i(o,g,v,"≓","\\risingdotseq",!0);i(o,g,v,"≒","\\fallingdotseq",!0);i(o,g,v,"∽","\\backsim",!0);i(o,g,v,"⋍","\\backsimeq",!0);i(o,g,v,"⫅","\\subseteqq",!0);i(o,g,v,"⋐","\\Subset",!0);i(o,g,v,"⊏","\\sqsubset",!0);i(o,g,v,"≼","\\preccurlyeq",!0);i(o,g,v,"⋞","\\curlyeqprec",!0);i(o,g,v,"≾","\\precsim",!0);i(o,g,v,"⪷","\\precapprox",!0);i(o,g,v,"⊲","\\vartriangleleft");i(o,g,v,"⊴","\\trianglelefteq");i(o,g,v,"⊨","\\vDash",!0);i(o,g,v,"⊪","\\Vvdash",!0);i(o,g,v,"⌣","\\smallsmile");i(o,g,v,"⌢","\\smallfrown");i(o,g,v,"≏","\\bumpeq",!0);i(o,g,v,"≎","\\Bumpeq",!0);i(o,g,v,"≧","\\geqq",!0);i(o,g,v,"⩾","\\geqslant",!0);i(o,g,v,"⪖","\\eqslantgtr",!0);i(o,g,v,"≳","\\gtrsim",!0);i(o,g,v,"⪆","\\gtrapprox",!0);i(o,g,G,"⋗","\\gtrdot");i(o,g,v,"⋙","\\ggg",!0);i(o,g,v,"≷","\\gtrless",!0);i(o,g,v,"⋛","\\gtreqless",!0);i(o,g,v,"⪌","\\gtreqqless",!0);i(o,g,v,"≖","\\eqcirc",!0);i(o,g,v,"≗","\\circeq",!0);i(o,g,v,"≜","\\triangleq",!0);i(o,g,v,"∼","\\thicksim");i(o,g,v,"≈","\\thickapprox");i(o,g,v,"⫆","\\supseteqq",!0);i(o,g,v,"⋑","\\Supset",!0);i(o,g,v,"⊐","\\sqsupset",!0);i(o,g,v,"≽","\\succcurlyeq",!0);i(o,g,v,"⋟","\\curlyeqsucc",!0);i(o,g,v,"≿","\\succsim",!0);i(o,g,v,"⪸","\\succapprox",!0);i(o,g,v,"⊳","\\vartriangleright");i(o,g,v,"⊵","\\trianglerighteq");i(o,g,v,"⊩","\\Vdash",!0);i(o,g,v,"∣","\\shortmid");i(o,g,v,"∥","\\shortparallel");i(o,g,v,"≬","\\between",!0);i(o,g,v,"⋔","\\pitchfork",!0);i(o,g,v,"∝","\\varpropto");i(o,g,v,"◀","\\blacktriangleleft");i(o,g,v,"∴","\\therefore",!0);i(o,g,v,"∍","\\backepsilon");i(o,g,v,"▶","\\blacktriangleright");i(o,g,v,"∵","\\because",!0);i(o,g,v,"⋘","\\llless");i(o,g,v,"⋙","\\gggtr");i(o,g,G,"⊲","\\lhd");i(o,g,G,"⊳","\\rhd");i(o,g,v,"≂","\\eqsim",!0);i(o,h,v,"⋈","\\Join");i(o,g,v,"≑","\\Doteq",!0);i(o,g,G,"∔","\\dotplus",!0);i(o,g,G,"∖","\\smallsetminus");i(o,g,G,"⋒","\\Cap",!0);i(o,g,G,"⋓","\\Cup",!0);i(o,g,G,"⩞","\\doublebarwedge",!0);i(o,g,G,"⊟","\\boxminus",!0);i(o,g,G,"⊞","\\boxplus",!0);i(o,g,G,"⋇","\\divideontimes",!0);i(o,g,G,"⋉","\\ltimes",!0);i(o,g,G,"⋊","\\rtimes",!0);i(o,g,G,"⋋","\\leftthreetimes",!0);i(o,g,G,"⋌","\\rightthreetimes",!0);i(o,g,G,"⋏","\\curlywedge",!0);i(o,g,G,"⋎","\\curlyvee",!0);i(o,g,G,"⊝","\\circleddash",!0);i(o,g,G,"⊛","\\circledast",!0);i(o,g,G,"⋅","\\centerdot");i(o,g,G,"⊺","\\intercal",!0);i(o,g,G,"⋒","\\doublecap");i(o,g,G,"⋓","\\doublecup");i(o,g,G,"⊠","\\boxtimes",!0);i(o,g,v,"⇢","\\dashrightarrow",!0);i(o,g,v,"⇠","\\dashleftarrow",!0);i(o,g,v,"⇇","\\leftleftarrows",!0);i(o,g,v,"⇆","\\leftrightarrows",!0);i(o,g,v,"⇚","\\Lleftarrow",!0);i(o,g,v,"↞","\\twoheadleftarrow",!0);i(o,g,v,"↢","\\leftarrowtail",!0);i(o,g,v,"↫","\\looparrowleft",!0);i(o,g,v,"⇋","\\leftrightharpoons",!0);i(o,g,v,"↶","\\curvearrowleft",!0);i(o,g,v,"↺","\\circlearrowleft",!0);i(o,g,v,"↰","\\Lsh",!0);i(o,g,v,"⇈","\\upuparrows",!0);i(o,g,v,"↿","\\upharpoonleft",!0);i(o,g,v,"⇃","\\downharpoonleft",!0);i(o,h,v,"⊶","\\origof",!0);i(o,h,v,"⊷","\\imageof",!0);i(o,g,v,"⊸","\\multimap",!0);i(o,g,v,"↭","\\leftrightsquigarrow",!0);i(o,g,v,"⇉","\\rightrightarrows",!0);i(o,g,v,"⇄","\\rightleftarrows",!0);i(o,g,v,"↠","\\twoheadrightarrow",!0);i(o,g,v,"↣","\\rightarrowtail",!0);i(o,g,v,"↬","\\looparrowright",!0);i(o,g,v,"↷","\\curvearrowright",!0);i(o,g,v,"↻","\\circlearrowright",!0);i(o,g,v,"↱","\\Rsh",!0);i(o,g,v,"⇊","\\downdownarrows",!0);i(o,g,v,"↾","\\upharpoonright",!0);i(o,g,v,"⇂","\\downharpoonright",!0);i(o,g,v,"⇝","\\rightsquigarrow",!0);i(o,g,v,"⇝","\\leadsto");i(o,g,v,"⇛","\\Rrightarrow",!0);i(o,g,v,"↾","\\restriction");i(o,h,w,"‘","`");i(o,h,w,"$","\\$");i(D,h,w,"$","\\$");i(D,h,w,"$","\\textdollar");i(o,h,w,"%","\\%");i(D,h,w,"%","\\%");i(o,h,w,"_","\\_");i(D,h,w,"_","\\_");i(D,h,w,"_","\\textunderscore");i(o,h,w,"∠","\\angle",!0);i(o,h,w,"∞","\\infty",!0);i(o,h,w,"′","\\prime");i(o,h,w,"△","\\triangle");i(o,h,w,"Γ","\\Gamma",!0);i(o,h,w,"Δ","\\Delta",!0);i(o,h,w,"Θ","\\Theta",!0);i(o,h,w,"Λ","\\Lambda",!0);i(o,h,w,"Ξ","\\Xi",!0);i(o,h,w,"Π","\\Pi",!0);i(o,h,w,"Σ","\\Sigma",!0);i(o,h,w,"Υ","\\Upsilon",!0);i(o,h,w,"Φ","\\Phi",!0);i(o,h,w,"Ψ","\\Psi",!0);i(o,h,w,"Ω","\\Omega",!0);i(o,h,w,"A","Α");i(o,h,w,"B","Β");i(o,h,w,"E","Ε");i(o,h,w,"Z","Ζ");i(o,h,w,"H","Η");i(o,h,w,"I","Ι");i(o,h,w,"K","Κ");i(o,h,w,"M","Μ");i(o,h,w,"N","Ν");i(o,h,w,"O","Ο");i(o,h,w,"P","Ρ");i(o,h,w,"T","Τ");i(o,h,w,"X","Χ");i(o,h,w,"¬","\\neg",!0);i(o,h,w,"¬","\\lnot");i(o,h,w,"⊤","\\top");i(o,h,w,"⊥","\\bot");i(o,h,w,"∅","\\emptyset");i(o,g,w,"∅","\\varnothing");i(o,h,K,"α","\\alpha",!0);i(o,h,K,"β","\\beta",!0);i(o,h,K,"γ","\\gamma",!0);i(o,h,K,"δ","\\delta",!0);i(o,h,K,"ϵ","\\epsilon",!0);i(o,h,K,"ζ","\\zeta",!0);i(o,h,K,"η","\\eta",!0);i(o,h,K,"θ","\\theta",!0);i(o,h,K,"ι","\\iota",!0);i(o,h,K,"κ","\\kappa",!0);i(o,h,K,"λ","\\lambda",!0);i(o,h,K,"μ","\\mu",!0);i(o,h,K,"ν","\\nu",!0);i(o,h,K,"ξ","\\xi",!0);i(o,h,K,"ο","\\omicron",!0);i(o,h,K,"π","\\pi",!0);i(o,h,K,"ρ","\\rho",!0);i(o,h,K,"σ","\\sigma",!0);i(o,h,K,"τ","\\tau",!0);i(o,h,K,"υ","\\upsilon",!0);i(o,h,K,"ϕ","\\phi",!0);i(o,h,K,"χ","\\chi",!0);i(o,h,K,"ψ","\\psi",!0);i(o,h,K,"ω","\\omega",!0);i(o,h,K,"ε","\\varepsilon",!0);i(o,h,K,"ϑ","\\vartheta",!0);i(o,h,K,"ϖ","\\varpi",!0);i(o,h,K,"ϱ","\\varrho",!0);i(o,h,K,"ς","\\varsigma",!0);i(o,h,K,"φ","\\varphi",!0);i(o,h,G,"∗","*",!0);i(o,h,G,"+","+");i(o,h,G,"−","-",!0);i(o,h,G,"⋅","\\cdot",!0);i(o,h,G,"∘","\\circ",!0);i(o,h,G,"÷","\\div",!0);i(o,h,G,"±","\\pm",!0);i(o,h,G,"×","\\times",!0);i(o,h,G,"∩","\\cap",!0);i(o,h,G,"∪","\\cup",!0);i(o,h,G,"∖","\\setminus",!0);i(o,h,G,"∧","\\land");i(o,h,G,"∨","\\lor");i(o,h,G,"∧","\\wedge",!0);i(o,h,G,"∨","\\vee",!0);i(o,h,w,"√","\\surd");i(o,h,Le,"⟨","\\langle",!0);i(o,h,Le,"∣","\\lvert");i(o,h,Le,"∥","\\lVert");i(o,h,Be,"?","?");i(o,h,Be,"!","!");i(o,h,Be,"⟩","\\rangle",!0);i(o,h,Be,"∣","\\rvert");i(o,h,Be,"∥","\\rVert");i(o,h,v,"=","=");i(o,h,v,":",":");i(o,h,v,"≈","\\approx",!0);i(o,h,v,"≅","\\cong",!0);i(o,h,v,"≥","\\ge");i(o,h,v,"≥","\\geq",!0);i(o,h,v,"←","\\gets");i(o,h,v,">","\\gt",!0);i(o,h,v,"∈","\\in",!0);i(o,h,v,"","\\@not");i(o,h,v,"⊂","\\subset",!0);i(o,h,v,"⊃","\\supset",!0);i(o,h,v,"⊆","\\subseteq",!0);i(o,h,v,"⊇","\\supseteq",!0);i(o,g,v,"⊈","\\nsubseteq",!0);i(o,g,v,"⊉","\\nsupseteq",!0);i(o,h,v,"⊨","\\models");i(o,h,v,"←","\\leftarrow",!0);i(o,h,v,"≤","\\le");i(o,h,v,"≤","\\leq",!0);i(o,h,v,"<","\\lt",!0);i(o,h,v,"→","\\rightarrow",!0);i(o,h,v,"→","\\to");i(o,g,v,"≱","\\ngeq",!0);i(o,g,v,"≰","\\nleq",!0);i(o,h,o0," ","\\ ");i(o,h,o0," ","\\space");i(o,h,o0," ","\\nobreakspace");i(D,h,o0," ","\\ ");i(D,h,o0," "," ");i(D,h,o0," ","\\space");i(D,h,o0," ","\\nobreakspace");i(o,h,o0,null,"\\nobreak");i(o,h,o0,null,"\\allowbreak");i(o,h,wt,",",",");i(o,h,wt,";",";");i(o,g,G,"⊼","\\barwedge",!0);i(o,g,G,"⊻","\\veebar",!0);i(o,h,G,"⊙","\\odot",!0);i(o,h,G,"⊕","\\oplus",!0);i(o,h,G,"⊗","\\otimes",!0);i(o,h,w,"∂","\\partial",!0);i(o,h,G,"⊘","\\oslash",!0);i(o,g,G,"⊚","\\circledcirc",!0);i(o,g,G,"⊡","\\boxdot",!0);i(o,h,G,"△","\\bigtriangleup");i(o,h,G,"▽","\\bigtriangledown");i(o,h,G,"†","\\dagger");i(o,h,G,"⋄","\\diamond");i(o,h,G,"⋆","\\star");i(o,h,G,"◃","\\triangleleft");i(o,h,G,"▹","\\triangleright");i(o,h,Le,"{","\\{");i(D,h,w,"{","\\{");i(D,h,w,"{","\\textbraceleft");i(o,h,Be,"}","\\}");i(D,h,w,"}","\\}");i(D,h,w,"}","\\textbraceright");i(o,h,Le,"{","\\lbrace");i(o,h,Be,"}","\\rbrace");i(o,h,Le,"[","\\lbrack",!0);i(D,h,w,"[","\\lbrack",!0);i(o,h,Be,"]","\\rbrack",!0);i(D,h,w,"]","\\rbrack",!0);i(o,h,Le,"(","\\lparen",!0);i(o,h,Be,")","\\rparen",!0);i(D,h,w,"<","\\textless",!0);i(D,h,w,">","\\textgreater",!0);i(o,h,Le,"⌊","\\lfloor",!0);i(o,h,Be,"⌋","\\rfloor",!0);i(o,h,Le,"⌈","\\lceil",!0);i(o,h,Be,"⌉","\\rceil",!0);i(o,h,w,"\\","\\backslash");i(o,h,w,"∣","|");i(o,h,w,"∣","\\vert");i(D,h,w,"|","\\textbar",!0);i(o,h,w,"∥","\\|");i(o,h,w,"∥","\\Vert");i(D,h,w,"∥","\\textbardbl");i(D,h,w,"~","\\textasciitilde");i(D,h,w,"\\","\\textbackslash");i(D,h,w,"^","\\textasciicircum");i(o,h,v,"↑","\\uparrow",!0);i(o,h,v,"⇑","\\Uparrow",!0);i(o,h,v,"↓","\\downarrow",!0);i(o,h,v,"⇓","\\Downarrow",!0);i(o,h,v,"↕","\\updownarrow",!0);i(o,h,v,"⇕","\\Updownarrow",!0);i(o,h,ye,"∐","\\coprod");i(o,h,ye,"⋁","\\bigvee");i(o,h,ye,"⋀","\\bigwedge");i(o,h,ye,"⨄","\\biguplus");i(o,h,ye,"⋂","\\bigcap");i(o,h,ye,"⋃","\\bigcup");i(o,h,ye,"∫","\\int");i(o,h,ye,"∫","\\intop");i(o,h,ye,"∬","\\iint");i(o,h,ye,"∭","\\iiint");i(o,h,ye,"∏","\\prod");i(o,h,ye,"∑","\\sum");i(o,h,ye,"⨂","\\bigotimes");i(o,h,ye,"⨁","\\bigoplus");i(o,h,ye,"⨀","\\bigodot");i(o,h,ye,"∮","\\oint");i(o,h,ye,"∯","\\oiint");i(o,h,ye,"∰","\\oiiint");i(o,h,ye,"⨆","\\bigsqcup");i(o,h,ye,"∫","\\smallint");i(D,h,F0,"…","\\textellipsis");i(o,h,F0,"…","\\mathellipsis");i(D,h,F0,"…","\\ldots",!0);i(o,h,F0,"…","\\ldots",!0);i(o,h,F0,"⋯","\\@cdots",!0);i(o,h,F0,"⋱","\\ddots",!0);i(o,h,w,"⋮","\\varvdots");i(D,h,w,"⋮","\\varvdots");i(o,h,me,"ˊ","\\acute");i(o,h,me,"ˋ","\\grave");i(o,h,me,"¨","\\ddot");i(o,h,me,"~","\\tilde");i(o,h,me,"ˉ","\\bar");i(o,h,me,"˘","\\breve");i(o,h,me,"ˇ","\\check");i(o,h,me,"^","\\hat");i(o,h,me,"⃗","\\vec");i(o,h,me,"˙","\\dot");i(o,h,me,"˚","\\mathring");i(o,h,K,"","\\@imath");i(o,h,K,"","\\@jmath");i(o,h,w,"ı","ı");i(o,h,w,"ȷ","ȷ");i(D,h,w,"ı","\\i",!0);i(D,h,w,"ȷ","\\j",!0);i(D,h,w,"ß","\\ss",!0);i(D,h,w,"æ","\\ae",!0);i(D,h,w,"œ","\\oe",!0);i(D,h,w,"ø","\\o",!0);i(D,h,w,"Æ","\\AE",!0);i(D,h,w,"Œ","\\OE",!0);i(D,h,w,"Ø","\\O",!0);i(D,h,me,"ˊ","\\'");i(D,h,me,"ˋ","\\`");i(D,h,me,"ˆ","\\^");i(D,h,me,"˜","\\~");i(D,h,me,"ˉ","\\=");i(D,h,me,"˘","\\u");i(D,h,me,"˙","\\.");i(D,h,me,"¸","\\c");i(D,h,me,"˚","\\r");i(D,h,me,"ˇ","\\v");i(D,h,me,"¨",'\\"');i(D,h,me,"˝","\\H");i(D,h,me,"◯","\\textcircled");var as={"--":!0,"---":!0,"``":!0,"''":!0};i(D,h,w,"–","--",!0);i(D,h,w,"–","\\textendash");i(D,h,w,"—","---",!0);i(D,h,w,"—","\\textemdash");i(D,h,w,"‘","`",!0);i(D,h,w,"‘","\\textquoteleft");i(D,h,w,"’","'",!0);i(D,h,w,"’","\\textquoteright");i(D,h,w,"“","``",!0);i(D,h,w,"“","\\textquotedblleft");i(D,h,w,"”","''",!0);i(D,h,w,"”","\\textquotedblright");i(o,h,w,"°","\\degree",!0);i(D,h,w,"°","\\degree");i(D,h,w,"°","\\textdegree",!0);i(o,h,w,"£","\\pounds");i(o,h,w,"£","\\mathsterling",!0);i(D,h,w,"£","\\pounds");i(D,h,w,"£","\\textsterling",!0);i(o,g,w,"✠","\\maltese");i(D,g,w,"✠","\\maltese");var Qr='0123456789/@."';for(var qt=0;qt<Qr.length;qt++){var _r=Qr.charAt(qt);i(o,h,w,_r,_r)}var ea='0123456789!@*()-=+";:?/.,';for(var Rt=0;Rt<ea.length;Rt++){var ta=ea.charAt(Rt);i(D,h,w,ta,ta)}var ft="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(var Pt=0;Pt<ft.length;Pt++){var et=ft.charAt(Pt);i(o,h,K,et,et),i(D,h,w,et,et)}i(o,g,w,"C","ℂ");i(D,g,w,"C","ℂ");i(o,g,w,"H","ℍ");i(D,g,w,"H","ℍ");i(o,g,w,"N","ℕ");i(D,g,w,"N","ℕ");i(o,g,w,"P","ℙ");i(D,g,w,"P","ℙ");i(o,g,w,"Q","ℚ");i(D,g,w,"Q","ℚ");i(o,g,w,"R","ℝ");i(D,g,w,"R","ℝ");i(o,g,w,"Z","ℤ");i(D,g,w,"Z","ℤ");i(o,h,K,"h","ℎ");i(D,h,K,"h","ℎ");var J="";for(var Ce=0;Ce<ft.length;Ce++){var ve=ft.charAt(Ce);J=String.fromCharCode(55349,56320+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56372+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56424+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56580+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56684+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56736+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56788+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56840+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56944+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),Ce<26&&(J=String.fromCharCode(55349,56632+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56476+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J))}J="𝕜";i(o,h,K,"k",J);i(D,h,w,"k",J);for(var k0=0;k0<10;k0++){var m0=k0.toString();J=String.fromCharCode(55349,57294+k0),i(o,h,K,m0,J),i(D,h,w,m0,J),J=String.fromCharCode(55349,57314+k0),i(o,h,K,m0,J),i(D,h,w,m0,J),J=String.fromCharCode(55349,57324+k0),i(o,h,K,m0,J),i(D,h,w,m0,J),J=String.fromCharCode(55349,57334+k0),i(o,h,K,m0,J),i(D,h,w,m0,J)}var sr="ÐÞþ";for(var Ot=0;Ot<sr.length;Ot++){var tt=sr.charAt(Ot);i(o,h,K,tt,tt),i(D,h,w,tt,tt)}var rt=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],ra=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],Bi=function(e,t){var a=e.charCodeAt(0),s=e.charCodeAt(1),n=(a-55296)*1024+(s-56320)+65536,l=t==="math"?0:1;if(119808<=n&&n<120484){var c=Math.floor((n-119808)/26);return[rt[c][2],rt[c][l]]}else if(120782<=n&&n<=120831){var d=Math.floor((n-120782)/10);return[ra[d][2],ra[d][l]]}else{if(n===120485||n===120486)return[rt[0][2],rt[0][l]];if(120486<n&&n<120782)return["",""];throw new E("Unsupported character: "+e)}},kt=function(e,t,a){return de[a][e]&&de[a][e].replace&&(e=de[a][e].replace),{value:e,metrics:gr(e,t,a)}},We=function(e,t,a,s,n){var l=kt(e,t,a),c=l.metrics;e=l.value;var d;if(c){var p=c.italic;(a==="text"||s&&s.font==="mathit")&&(p=0),d=new Ge(e,c.height,c.depth,p,c.skew,c.width,n)}else typeof console<"u"&&console.warn("No character metrics "+("for '"+e+"' in style '"+t+"' and mode '"+a+"'")),d=new Ge(e,0,0,0,0,0,n);if(s){d.maxFontSize=s.sizeMultiplier,s.style.isTight()&&d.classes.push("mtight");var f=s.getColor();f&&(d.style.color=f)}return d},Fi=function(e,t,a,s){return s===void 0&&(s=[]),a.font==="boldsymbol"&&kt(e,"Main-Bold",t).metrics?We(e,"Main-Bold",t,a,s.concat(["mathbf"])):e==="\\"||de[t][e].font==="main"?We(e,"Main-Regular",t,a,s):We(e,"AMS-Regular",t,a,s.concat(["amsrm"]))},Ii=function(e,t,a,s,n){return n!=="textord"&&kt(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}},Ei=function(e,t,a){var s=e.mode,n=e.text,l=["mord"],c=s==="math"||s==="text"&&t.font,d=c?t.font:t.fontFamily,p="",f="";if(n.charCodeAt(0)===55349&&([p,f]=Bi(n,s)),p.length>0)return We(n,p,s,t,l.concat(f));if(d){var x,y;if(d==="boldsymbol"){var b=Ii(n,s,t,l,a);x=b.fontName,y=[b.fontClass]}else c?(x=is[d].fontName,y=[d]):(x=at(d,t.fontWeight,t.fontShape),y=[d,t.fontWeight,t.fontShape]);if(kt(n,x,s).metrics)return We(n,x,s,t,l.concat(y));if(as.hasOwnProperty(n)&&x.slice(0,10)==="Typewriter"){for(var S=[],k=0;k<n.length;k++)S.push(We(n[k],x,s,t,l.concat(y)));return ns(S)}}if(a==="mathord")return We(n,"Math-Italic",s,t,l.concat(["mathnormal"]));if(a==="textord"){var C=de[s][n]&&de[s][n].font;if(C==="ams"){var B=at("amsrm",t.fontWeight,t.fontShape);return We(n,B,s,t,l.concat("amsrm",t.fontWeight,t.fontShape))}else if(C==="main"||!C){var z=at("textrm",t.fontWeight,t.fontShape);return We(n,z,s,t,l.concat(t.fontWeight,t.fontShape))}else{var U=at(C,t.fontWeight,t.fontShape);return We(n,U,s,t,l.concat(U,t.fontWeight,t.fontShape))}}else throw new Error("unexpected type: "+a+" in makeOrd")},qi=(r,e)=>{if(g0(r.classes)!==g0(e.classes)||r.skew!==e.skew||r.maxFontSize!==e.maxFontSize)return!1;if(r.classes.length===1){var t=r.classes[0];if(t==="mbin"||t==="mord")return!1}for(var a in r.style)if(r.style.hasOwnProperty(a)&&r.style[a]!==e.style[a])return!1;for(var s in e.style)if(e.style.hasOwnProperty(s)&&r.style[s]!==e.style[s])return!1;return!0},Ri=r=>{for(var e=0;e<r.length-1;e++){var t=r[e],a=r[e+1];t instanceof Ge&&a instanceof Ge&&qi(t,a)&&(t.text+=a.text,t.height=Math.max(t.height,a.height),t.depth=Math.max(t.depth,a.depth),t.italic=a.italic,r.splice(e+1,1),e--)}return r},xr=function(e){for(var t=0,a=0,s=0,n=0;n<e.children.length;n++){var l=e.children[n];l.height>t&&(t=l.height),l.depth>a&&(a=l.depth),l.maxFontSize>s&&(s=l.maxFontSize)}e.height=t,e.depth=a,e.maxFontSize=s},Ie=function(e,t,a,s){var n=new X0(e,t,a,s);return xr(n),n},ss=(r,e,t,a)=>new X0(r,e,t,a),Pi=function(e,t,a){var s=Ie([e],[],t);return s.height=Math.max(a||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),s.style.borderBottomWidth=P(s.height),s.maxFontSize=1,s},Oi=function(e,t,a,s){var n=new vr(e,t,a,s);return xr(n),n},ns=function(e){var t=new W0(e);return xr(t),t},Li=function(e,t){return e instanceof W0?Ie([],[e],t):e},Hi=function(e){if(e.positionType==="individualShift"){for(var t=e.children,a=[t[0]],s=-t[0].shift-t[0].elem.depth,n=s,l=1;l<t.length;l++){var c=-t[l].shift-n-t[l].elem.depth,d=c-(t[l-1].elem.height+t[l-1].elem.depth);n=n+c,a.push({type:"kern",size:d}),a.push(t[l])}return{children:a,depth:s}}var p;if(e.positionType==="top"){for(var f=e.positionData,x=0;x<e.children.length;x++){var y=e.children[x];f-=y.type==="kern"?y.size:y.elem.height+y.elem.depth}p=f}else if(e.positionType==="bottom")p=-e.positionData;else{var b=e.children[0];if(b.type!=="elem")throw new Error('First child must have type "elem".');if(e.positionType==="shift")p=-b.elem.depth-e.positionData;else if(e.positionType==="firstBaseline")p=-b.elem.depth;else throw new Error("Invalid positionType "+e.positionType+".")}return{children:e.children,depth:p}},$i=function(e,t){for(var{children:a,depth:s}=Hi(e),n=0,l=0;l<a.length;l++){var c=a[l];if(c.type==="elem"){var d=c.elem;n=Math.max(n,d.maxFontSize,d.height)}}n+=2;var p=Ie(["pstrut"],[]);p.style.height=P(n);for(var f=[],x=s,y=s,b=s,S=0;S<a.length;S++){var k=a[S];if(k.type==="kern")b+=k.size;else{var C=k.elem,B=k.wrapperClasses||[],z=k.wrapperStyle||{},U=Ie(B,[p,C],void 0,z);U.style.top=P(-n-b-C.depth),k.marginLeft&&(U.style.marginLeft=k.marginLeft),k.marginRight&&(U.style.marginRight=k.marginRight),f.push(U),b+=C.height+C.depth}x=Math.min(x,b),y=Math.max(y,b)}var R=Ie(["vlist"],f);R.style.height=P(y);var O;if(x<0){var X=Ie([],[]),F=Ie(["vlist"],[X]);F.style.height=P(-x);var q=Ie(["vlist-s"],[new Ge("")]);O=[Ie(["vlist-r"],[R,q]),Ie(["vlist-r"],[F])]}else O=[Ie(["vlist-r"],[R])];var N=Ie(["vlist-t"],O);return O.length===2&&N.classes.push("vlist-t2"),N.height=y,N.depth=-x,N},Gi=(r,e)=>{var t=Ie(["mspace"],[],e),a=fe(r,e);return t.style.marginRight=P(a),t},at=function(e,t,a){var s="";switch(e){case"amsrm":s="AMS";break;case"textrm":s="Main";break;case"textsf":s="SansSerif";break;case"texttt":s="Typewriter";break;default:s=e}var n;return t==="textbf"&&a==="textit"?n="BoldItalic":t==="textbf"?n="Bold":t==="textit"?n="Italic":n="Regular",s+"-"+n},is={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},ls={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Ui=function(e,t){var[a,s,n]=ls[e],l=new v0(a),c=new n0([l],{width:P(s),height:P(n),style:"width:"+P(s),viewBox:"0 0 "+1e3*s+" "+1e3*n,preserveAspectRatio:"xMinYMin"}),d=ss(["overlay"],[c],t);return d.height=n,d.style.height=P(n),d.style.width=P(s),d},M={fontMap:is,makeSymbol:We,mathsym:Fi,makeSpan:Ie,makeSvgSpan:ss,makeLineSpan:Pi,makeAnchor:Oi,makeFragment:ns,wrapFragment:Li,makeVList:$i,makeOrd:Ei,makeGlue:Gi,staticSvg:Ui,svgData:ls,tryCombineChars:Ri},pe={number:3,unit:"mu"},S0={number:4,unit:"mu"},e0={number:5,unit:"mu"},Vi={mord:{mop:pe,mbin:S0,mrel:e0,minner:pe},mop:{mord:pe,mop:pe,mrel:e0,minner:pe},mbin:{mord:S0,mop:S0,mopen:S0,minner:S0},mrel:{mord:e0,mop:e0,mopen:e0,minner:e0},mopen:{},mclose:{mop:pe,mbin:S0,mrel:e0,minner:pe},mpunct:{mord:pe,mop:pe,mrel:e0,mopen:pe,mclose:pe,mpunct:pe,minner:pe},minner:{mord:pe,mop:pe,mbin:S0,mrel:e0,mopen:pe,mpunct:pe,minner:pe}},Wi={mord:{mop:pe},mop:{mord:pe,mop:pe},mbin:{},mrel:{},mopen:{},mclose:{mop:pe},mpunct:{},minner:{mop:pe}},os={},gt={},vt={};function $(r){for(var{type:e,names:t,props:a,handler:s,htmlBuilder:n,mathmlBuilder:l}=r,c={type:e,numArgs:a.numArgs,argTypes:a.argTypes,allowedInArgument:!!a.allowedInArgument,allowedInText:!!a.allowedInText,allowedInMath:a.allowedInMath===void 0?!0:a.allowedInMath,numOptionalArgs:a.numOptionalArgs||0,infix:!!a.infix,primitive:!!a.primitive,handler:s},d=0;d<t.length;++d)os[t[d]]=c;e&&(n&&(gt[e]=n),l&&(vt[e]=l))}function N0(r){var{type:e,htmlBuilder:t,mathmlBuilder:a}=r;$({type:e,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},htmlBuilder:t,mathmlBuilder:a})}var xt=function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},xe=function(e){return e.type==="ordgroup"?e.body:[e]},i0=M.makeSpan,Xi=["leftmost","mbin","mopen","mrel","mop","mpunct"],Yi=["rightmost","mrel","mclose","mpunct"],Ki={display:Z.DISPLAY,text:Z.TEXT,script:Z.SCRIPT,scriptscript:Z.SCRIPTSCRIPT},Zi={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},we=function(e,t,a,s){s===void 0&&(s=[null,null]);for(var n=[],l=0;l<e.length;l++){var c=ne(e[l],t);if(c instanceof W0){var d=c.children;n.push(...d)}else n.push(c)}if(M.tryCombineChars(n),!a)return n;var p=t;if(e.length===1){var f=e[0];f.type==="sizing"?p=t.havingSize(f.size):f.type==="styling"&&(p=t.havingStyle(Ki[f.style]))}var x=i0([s[0]||"leftmost"],[],t),y=i0([s[1]||"rightmost"],[],t),b=a==="root";return aa(n,(S,k)=>{var C=k.classes[0],B=S.classes[0];C==="mbin"&&Yi.includes(B)?k.classes[0]="mord":B==="mbin"&&Xi.includes(C)&&(S.classes[0]="mord")},{node:x},y,b),aa(n,(S,k)=>{var C=nr(k),B=nr(S),z=C&&B?S.hasClass("mtight")?Wi[C][B]:Vi[C][B]:null;if(z)return M.makeGlue(z,p)},{node:x},y,b),n},aa=function r(e,t,a,s,n){s&&e.push(s);for(var l=0;l<e.length;l++){var c=e[l],d=us(c);if(d){r(d.children,t,a,null,n);continue}var p=!c.hasClass("mspace");if(p){var f=t(c,a.node);f&&(a.insertAfter?a.insertAfter(f):(e.unshift(f),l++))}p?a.node=c:n&&c.hasClass("newline")&&(a.node=i0(["leftmost"])),a.insertAfter=(x=>y=>{e.splice(x+1,0,y),l++})(l)}s&&e.pop()},us=function(e){return e instanceof W0||e instanceof vr||e instanceof X0&&e.hasClass("enclosing")?e:null},Ji=function r(e,t){var a=us(e);if(a){var s=a.children;if(s.length){if(t==="right")return r(s[s.length-1],"right");if(t==="left")return r(s[0],"left")}}return e},nr=function(e,t){return e?(t&&(e=Ji(e,t)),Zi[e.classes[0]]||null):null},V0=function(e,t){var a=["nulldelimiter"].concat(e.baseSizingClasses());return i0(t.concat(a))},ne=function(e,t,a){if(!e)return i0();if(gt[e.type]){var s=gt[e.type](e,t);if(a&&t.size!==a.size){s=i0(t.sizingClasses(a),[s],t);var n=t.sizeMultiplier/a.sizeMultiplier;s.height*=n,s.depth*=n}return s}else throw new E("Got group of unknown type: '"+e.type+"'")};function st(r,e){var t=i0(["base"],r,e),a=i0(["strut"]);return a.style.height=P(t.height+t.depth),t.depth&&(a.style.verticalAlign=P(-t.depth)),t.children.unshift(a),t}function ir(r,e){var t=null;r.length===1&&r[0].type==="tag"&&(t=r[0].tag,r=r[0].body);var a=we(r,e,"root"),s;a.length===2&&a[1].hasClass("tag")&&(s=a.pop());for(var n=[],l=[],c=0;c<a.length;c++)if(l.push(a[c]),a[c].hasClass("mbin")||a[c].hasClass("mrel")||a[c].hasClass("allowbreak")){for(var d=!1;c<a.length-1&&a[c+1].hasClass("mspace")&&!a[c+1].hasClass("newline");)c++,l.push(a[c]),a[c].hasClass("nobreak")&&(d=!0);d||(n.push(st(l,e)),l=[])}else a[c].hasClass("newline")&&(l.pop(),l.length>0&&(n.push(st(l,e)),l=[]),n.push(a[c]));l.length>0&&n.push(st(l,e));var p;t?(p=st(we(t,e,!0)),p.classes=["tag"],n.push(p)):s&&n.push(s);var f=i0(["katex-html"],n);if(f.setAttribute("aria-hidden","true"),p){var x=p.children[0];x.style.height=P(f.height+f.depth),f.depth&&(x.style.verticalAlign=P(-f.depth))}return f}function cs(r){return new W0(r)}class Pe{constructor(e,t,a){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=a||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=g0(this.classes));for(var a=0;a<this.children.length;a++)if(this.children[a]instanceof Ze&&this.children[a+1]instanceof Ze){for(var s=this.children[a].toText()+this.children[++a].toText();this.children[a+1]instanceof Ze;)s+=this.children[++a].toText();e.appendChild(new Ze(s).toNode())}else e.appendChild(this.children[a].toNode());return e}toMarkup(){var e="<"+this.type;for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="',e+=ie.escape(this.attributes[t]),e+='"');this.classes.length>0&&(e+=' class ="'+ie.escape(g0(this.classes))+'"'),e+=">";for(var a=0;a<this.children.length;a++)e+=this.children[a].toMarkup();return e+="</"+this.type+">",e}toText(){return this.children.map(e=>e.toText()).join("")}}class Ze{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return ie.escape(this.toText())}toText(){return this.text}}class Qi{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character=" ":e>=-.05556&&e<=-.05555?this.character=" ":e>=-.1667&&e<=-.1666?this.character=" ":e>=-.2223&&e<=-.2222?this.character=" ":e>=-.2778&&e<=-.2777?this.character=" ":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",P(this.width)),e}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+P(this.width)+'"/>'}toText(){return this.character?this.character:" "}}var I={MathNode:Pe,TextNode:Ze,SpaceNode:Qi,newDocumentFragment:cs},Ue=function(e,t,a){return de[t][e]&&de[t][e].replace&&e.charCodeAt(0)!==55349&&!(as.hasOwnProperty(e)&&a&&(a.fontFamily&&a.fontFamily.slice(4,6)==="tt"||a.font&&a.font.slice(4,6)==="tt"))&&(e=de[t][e].replace),new I.TextNode(e)},br=function(e){return e.length===1?e[0]:new I.MathNode("mrow",e)},yr=function(e,t){if(t.fontFamily==="texttt")return"monospace";if(t.fontFamily==="textsf")return t.fontShape==="textit"&&t.fontWeight==="textbf"?"sans-serif-bold-italic":t.fontShape==="textit"?"sans-serif-italic":t.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(t.fontShape==="textit"&&t.fontWeight==="textbf")return"bold-italic";if(t.fontShape==="textit")return"italic";if(t.fontWeight==="textbf")return"bold";var a=t.font;if(!a||a==="mathnormal")return null;var s=e.mode;if(a==="mathit")return"italic";if(a==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(a==="mathbf")return"bold";if(a==="mathbb")return"double-struck";if(a==="mathsfit")return"sans-serif-italic";if(a==="mathfrak")return"fraktur";if(a==="mathscr"||a==="mathcal")return"script";if(a==="mathsf")return"sans-serif";if(a==="mathtt")return"monospace";var n=e.text;if(["\\imath","\\jmath"].includes(n))return null;de[s][n]&&de[s][n].replace&&(n=de[s][n].replace);var l=M.fontMap[a].fontName;return gr(n,l,s)?M.fontMap[a].variant:null};function Lt(r){if(!r)return!1;if(r.type==="mi"&&r.children.length===1){var e=r.children[0];return e instanceof Ze&&e.text==="."}else if(r.type==="mo"&&r.children.length===1&&r.getAttribute("separator")==="true"&&r.getAttribute("lspace")==="0em"&&r.getAttribute("rspace")==="0em"){var t=r.children[0];return t instanceof Ze&&t.text===","}else return!1}var qe=function(e,t,a){if(e.length===1){var s=ce(e[0],t);return a&&s instanceof Pe&&s.type==="mo"&&(s.setAttribute("lspace","0em"),s.setAttribute("rspace","0em")),[s]}for(var n=[],l,c=0;c<e.length;c++){var d=ce(e[c],t);if(d instanceof Pe&&l instanceof Pe){if(d.type==="mtext"&&l.type==="mtext"&&d.getAttribute("mathvariant")===l.getAttribute("mathvariant")){l.children.push(...d.children);continue}else if(d.type==="mn"&&l.type==="mn"){l.children.push(...d.children);continue}else if(Lt(d)&&l.type==="mn"){l.children.push(...d.children);continue}else if(d.type==="mn"&&Lt(l))d.children=[...l.children,...d.children],n.pop();else if((d.type==="msup"||d.type==="msub")&&d.children.length>=1&&(l.type==="mn"||Lt(l))){var p=d.children[0];p instanceof Pe&&p.type==="mn"&&(p.children=[...l.children,...p.children],n.pop())}else if(l.type==="mi"&&l.children.length===1){var f=l.children[0];if(f instanceof Ze&&f.text==="̸"&&(d.type==="mo"||d.type==="mi"||d.type==="mn")){var x=d.children[0];x instanceof Ze&&x.text.length>0&&(x.text=x.text.slice(0,1)+"̸"+x.text.slice(1),n.pop())}}}n.push(d),l=d}return n},x0=function(e,t,a){return br(qe(e,t,a))},ce=function(e,t){if(!e)return new I.MathNode("mrow");if(vt[e.type]){var a=vt[e.type](e,t);return a}else throw new E("Got group of unknown type: '"+e.type+"'")};function sa(r,e,t,a,s){var n=qe(r,t),l;n.length===1&&n[0]instanceof Pe&&["mrow","mtable"].includes(n[0].type)?l=n[0]:l=new I.MathNode("mrow",n);var c=new I.MathNode("annotation",[new I.TextNode(e)]);c.setAttribute("encoding","application/x-tex");var d=new I.MathNode("semantics",[l,c]),p=new I.MathNode("math",[d]);p.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&p.setAttribute("display","block");var f=s?"katex":"katex-mathml";return M.makeSpan([f],[p])}var ds=function(e){return new t0({style:e.displayMode?Z.DISPLAY:Z.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},hs=function(e,t){if(t.displayMode){var a=["katex-display"];t.leqno&&a.push("leqno"),t.fleqn&&a.push("fleqn"),e=M.makeSpan(a,[e])}return e},_i=function(e,t,a){var s=ds(a),n;if(a.output==="mathml")return sa(e,t,s,a.displayMode,!0);if(a.output==="html"){var l=ir(e,s);n=M.makeSpan(["katex"],[l])}else{var c=sa(e,t,s,a.displayMode,!1),d=ir(e,s);n=M.makeSpan(["katex"],[c,d])}return hs(n,a)},el=function(e,t,a){var s=ds(a),n=ir(e,s),l=M.makeSpan(["katex"],[n]);return hs(l,a)},tl={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},rl=function(e){var t=new I.MathNode("mo",[new I.TextNode(tl[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},al={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},sl=function(e){return e.type==="ordgroup"?e.body.length:1},nl=function(e,t){function a(){var c=4e5,d=e.label.slice(1);if(["widehat","widecheck","widetilde","utilde"].includes(d)){var p=e,f=sl(p.base),x,y,b;if(f>5)d==="widehat"||d==="widecheck"?(x=420,c=2364,b=.42,y=d+"4"):(x=312,c=2340,b=.34,y="tilde4");else{var S=[1,1,2,2,3,3][f];d==="widehat"||d==="widecheck"?(c=[0,1062,2364,2364,2364][S],x=[0,239,300,360,420][S],b=[0,.24,.3,.3,.36,.42][S],y=d+S):(c=[0,600,1033,2339,2340][S],x=[0,260,286,306,312][S],b=[0,.26,.286,.3,.306,.34][S],y="tilde"+S)}var k=new v0(y),C=new n0([k],{width:"100%",height:P(b),viewBox:"0 0 "+c+" "+x,preserveAspectRatio:"none"});return{span:M.makeSvgSpan([],[C],t),minWidth:0,height:b}}else{var B=[],z=al[d],[U,R,O]=z,X=O/1e3,F=U.length,q,N;if(F===1){var j=z[3];q=["hide-tail"],N=[j]}else if(F===2)q=["halfarrow-left","halfarrow-right"],N=["xMinYMin","xMaxYMin"];else if(F===3)q=["brace-left","brace-center","brace-right"],N=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support
|
|
260
|
-
`+F+" children.");for(var L=0;L<F;L++){var H=new v0(U[L]),V=new n0([H],{width:"400em",height:P(X),viewBox:"0 0 "+c+" "+O,preserveAspectRatio:N[L]+" slice"}),Q=M.makeSvgSpan([q[L]],[V],t);if(F===1)return{span:Q,minWidth:R,height:X};Q.style.height=P(X),B.push(Q)}return{span:M.makeSpan(["stretchy"],B,t),minWidth:R,height:X}}}var{span:s,minWidth:n,height:l}=a();return s.height=l,s.style.height=P(l),n>0&&(s.style.minWidth=P(n)),s},il=function(e,t,a,s,n){var l,c=e.height+e.depth+a+s;if(/fbox|color|angl/.test(t)){if(l=M.makeSpan(["stretchy",t],[],n),t==="fbox"){var d=n.color&&n.getColor();d&&(l.style.borderColor=d)}}else{var p=[];/^[bx]cancel$/.test(t)&&p.push(new ar({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&p.push(new ar({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new n0(p,{width:"100%",height:P(c)});l=M.makeSvgSpan([],[f],n)}return l.height=c,l.style.height=P(c),l},l0={encloseSpan:il,mathMLnode:rl,svgSpan:nl};function ae(r,e){if(!r||r.type!==e)throw new Error("Expected node of type "+e+", but got "+(r?"node of type "+r.type:String(r)));return r}function wr(r){var e=St(r);if(!e)throw new Error("Expected node of symbol group type, but got "+(r?"node of type "+r.type:String(r)));return e}function St(r){return r&&(r.type==="atom"||Di.hasOwnProperty(r.type))?r:null}var kr=(r,e)=>{var t,a,s;r&&r.type==="supsub"?(a=ae(r.base,"accent"),t=a.base,r.base=t,s=ji(ne(r,e)),r.base=a):(a=ae(r,"accent"),t=a.base);var n=ne(t,e.havingCrampedStyle()),l=a.isShifty&&ie.isCharacterBox(t),c=0;if(l){var d=ie.getBaseElem(t),p=ne(d,e.havingCrampedStyle());c=Jr(p).skew}var f=a.label==="\\c",x=f?n.height+n.depth:Math.min(n.height,e.fontMetrics().xHeight),y;if(a.isStretchy)y=l0.svgSpan(a,e),y=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"elem",elem:y,wrapperClasses:["svg-align"],wrapperStyle:c>0?{width:"calc(100% - "+P(2*c)+")",marginLeft:P(2*c)}:void 0}]},e);else{var b,S;a.label==="\\vec"?(b=M.staticSvg("vec",e),S=M.svgData.vec[1]):(b=M.makeOrd({mode:a.mode,text:a.label},e,"textord"),b=Jr(b),b.italic=0,S=b.width,f&&(x+=b.depth)),y=M.makeSpan(["accent-body"],[b]);var k=a.label==="\\textcircled";k&&(y.classes.push("accent-full"),x=n.height);var C=c;k||(C-=S/2),y.style.left=P(C),a.label==="\\textcircled"&&(y.style.top=".2em"),y=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:-x},{type:"elem",elem:y}]},e)}var B=M.makeSpan(["mord","accent"],[y],e);return s?(s.children[0]=B,s.height=Math.max(B.height,s.height),s.classes[0]="mord",s):B},ms=(r,e)=>{var t=r.isStretchy?l0.mathMLnode(r.label):new I.MathNode("mo",[Ue(r.label,r.mode)]),a=new I.MathNode("mover",[ce(r.base,e),t]);return a.setAttribute("accent","true"),a},ll=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(r=>"\\"+r).join("|"));$({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(r,e)=>{var t=xt(e[0]),a=!ll.test(r.funcName),s=!a||r.funcName==="\\widehat"||r.funcName==="\\widetilde"||r.funcName==="\\widecheck";return{type:"accent",mode:r.parser.mode,label:r.funcName,isStretchy:a,isShifty:s,base:t}},htmlBuilder:kr,mathmlBuilder:ms});$({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(r,e)=>{var t=e[0],a=r.parser.mode;return a==="math"&&(r.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+r.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:r.funcName,isStretchy:!1,isShifty:!0,base:t}},htmlBuilder:kr,mathmlBuilder:ms});$({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0];return{type:"accentUnder",mode:t.mode,label:a,base:s}},htmlBuilder:(r,e)=>{var t=ne(r.base,e),a=l0.svgSpan(r,e),s=r.label==="\\utilde"?.12:0,n=M.makeVList({positionType:"top",positionData:t.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:s},{type:"elem",elem:t}]},e);return M.makeSpan(["mord","accentunder"],[n],e)},mathmlBuilder:(r,e)=>{var t=l0.mathMLnode(r.label),a=new I.MathNode("munder",[ce(r.base,e),t]);return a.setAttribute("accentunder","true"),a}});var nt=r=>{var e=new I.MathNode("mpadded",r?[r]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};$({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:a,funcName:s}=r;return{type:"xArrow",mode:a.mode,label:s,body:e[0],below:t[0]}},htmlBuilder(r,e){var t=e.style,a=e.havingStyle(t.sup()),s=M.wrapFragment(ne(r.body,a,e),e),n=r.label.slice(0,2)==="\\x"?"x":"cd";s.classes.push(n+"-arrow-pad");var l;r.below&&(a=e.havingStyle(t.sub()),l=M.wrapFragment(ne(r.below,a,e),e),l.classes.push(n+"-arrow-pad"));var c=l0.svgSpan(r,e),d=-e.fontMetrics().axisHeight+.5*c.height,p=-e.fontMetrics().axisHeight-.5*c.height-.111;(s.depth>.25||r.label==="\\xleftequilibrium")&&(p-=s.depth);var f;if(l){var x=-e.fontMetrics().axisHeight+l.height+.5*c.height+.111;f=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:p},{type:"elem",elem:c,shift:d},{type:"elem",elem:l,shift:x}]},e)}else f=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:p},{type:"elem",elem:c,shift:d}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),M.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(r,e){var t=l0.mathMLnode(r.label);t.setAttribute("minsize",r.label.charAt(0)==="x"?"1.75em":"3.0em");var a;if(r.body){var s=nt(ce(r.body,e));if(r.below){var n=nt(ce(r.below,e));a=new I.MathNode("munderover",[t,n,s])}else a=new I.MathNode("mover",[t,s])}else if(r.below){var l=nt(ce(r.below,e));a=new I.MathNode("munder",[t,l])}else a=nt(),a=new I.MathNode("mover",[t,a]);return a}});var ol=M.makeSpan;function ps(r,e){var t=we(r.body,e,!0);return ol([r.mclass],t,e)}function fs(r,e){var t,a=qe(r.body,e);return r.mclass==="minner"?t=new I.MathNode("mpadded",a):r.mclass==="mord"?r.isCharacterBox?(t=a[0],t.type="mi"):t=new I.MathNode("mi",a):(r.isCharacterBox?(t=a[0],t.type="mo"):t=new I.MathNode("mo",a),r.mclass==="mbin"?(t.attributes.lspace="0.22em",t.attributes.rspace="0.22em"):r.mclass==="mpunct"?(t.attributes.lspace="0em",t.attributes.rspace="0.17em"):r.mclass==="mopen"||r.mclass==="mclose"?(t.attributes.lspace="0em",t.attributes.rspace="0em"):r.mclass==="minner"&&(t.attributes.lspace="0.0556em",t.attributes.width="+0.1111em")),t}$({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(r,e){var{parser:t,funcName:a}=r,s=e[0];return{type:"mclass",mode:t.mode,mclass:"m"+a.slice(5),body:xe(s),isCharacterBox:ie.isCharacterBox(s)}},htmlBuilder:ps,mathmlBuilder:fs});var Mt=r=>{var e=r.type==="ordgroup"&&r.body.length?r.body[0]:r;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};$({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(r,e){var{parser:t}=r;return{type:"mclass",mode:t.mode,mclass:Mt(e[0]),body:xe(e[1]),isCharacterBox:ie.isCharacterBox(e[1])}}});$({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(r,e){var{parser:t,funcName:a}=r,s=e[1],n=e[0],l;a!=="\\stackrel"?l=Mt(s):l="mrel";var c={type:"op",mode:s.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:a!=="\\stackrel",body:xe(s)},d={type:"supsub",mode:n.mode,base:c,sup:a==="\\underset"?null:n,sub:a==="\\underset"?n:null};return{type:"mclass",mode:t.mode,mclass:l,body:[d],isCharacterBox:ie.isCharacterBox(d)}},htmlBuilder:ps,mathmlBuilder:fs});$({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"pmb",mode:t.mode,mclass:Mt(e[0]),body:xe(e[0])}},htmlBuilder(r,e){var t=we(r.body,e,!0),a=M.makeSpan([r.mclass],t,e);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(r,e){var t=qe(r.body,e),a=new I.MathNode("mstyle",t);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var ul={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},na=()=>({type:"styling",body:[],mode:"math",style:"display"}),ia=r=>r.type==="textord"&&r.text==="@",cl=(r,e)=>(r.type==="mathord"||r.type==="atom")&&r.text===e;function dl(r,e,t){var a=ul[r];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return t.callFunction(a,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var s=t.callFunction("\\\\cdleft",[e[0]],[]),n={type:"atom",text:a,mode:"math",family:"rel"},l=t.callFunction("\\Big",[n],[]),c=t.callFunction("\\\\cdright",[e[1]],[]),d={type:"ordgroup",mode:"math",body:[s,l,c]};return t.callFunction("\\\\cdparent",[d],[])}case"\\\\cdlongequal":return t.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var p={type:"textord",text:"\\Vert",mode:"math"};return t.callFunction("\\Big",[p],[])}default:return{type:"textord",text:" ",mode:"math"}}}function hl(r){var e=[];for(r.gullet.beginGroup(),r.gullet.macros.set("\\cr","\\\\\\relax"),r.gullet.beginGroup();;){e.push(r.parseExpression(!1,"\\\\")),r.gullet.endGroup(),r.gullet.beginGroup();var t=r.fetch().text;if(t==="&"||t==="\\\\")r.consume();else if(t==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new E("Expected \\\\ or \\cr or \\end",r.nextToken)}for(var a=[],s=[a],n=0;n<e.length;n++){for(var l=e[n],c=na(),d=0;d<l.length;d++)if(!ia(l[d]))c.body.push(l[d]);else{a.push(c),d+=1;var p=wr(l[d]).text,f=new Array(2);if(f[0]={type:"ordgroup",mode:"math",body:[]},f[1]={type:"ordgroup",mode:"math",body:[]},!("=|.".indexOf(p)>-1))if("<>AV".indexOf(p)>-1)for(var x=0;x<2;x++){for(var y=!0,b=d+1;b<l.length;b++){if(cl(l[b],p)){y=!1,d=b;break}if(ia(l[b]))throw new E("Missing a "+p+" character to complete a CD arrow.",l[b]);f[x].body.push(l[b])}if(y)throw new E("Missing a "+p+" character to complete a CD arrow.",l[d])}else throw new E('Expected one of "<>AV=|." after @',l[d]);var S=dl(p,f,r),k={type:"styling",body:[S],mode:"math",style:"display"};a.push(k),c=na()}n%2===0?a.push(c):a.shift(),a=[],s.push(a)}r.gullet.endGroup(),r.gullet.endGroup();var C=new Array(s[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:s,arraystretch:1,addJot:!0,rowGaps:[null],cols:C,colSeparationType:"CD",hLinesBeforeRow:new Array(s.length+1).fill([])}}$({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"cdlabel",mode:t.mode,side:a.slice(4),label:e[0]}},htmlBuilder(r,e){var t=e.havingStyle(e.style.sup()),a=M.wrapFragment(ne(r.label,t,e),e);return a.classes.push("cd-label-"+r.side),a.style.bottom=P(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(r,e){var t=new I.MathNode("mrow",[ce(r.label,e)]);return t=new I.MathNode("mpadded",[t]),t.setAttribute("width","0"),r.side==="left"&&t.setAttribute("lspace","-1width"),t.setAttribute("voffset","0.7em"),t=new I.MathNode("mstyle",[t]),t.setAttribute("displaystyle","false"),t.setAttribute("scriptlevel","1"),t}});$({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(r,e){var{parser:t}=r;return{type:"cdlabelparent",mode:t.mode,fragment:e[0]}},htmlBuilder(r,e){var t=M.wrapFragment(ne(r.fragment,e),e);return t.classes.push("cd-vert-arrow"),t},mathmlBuilder(r,e){return new I.MathNode("mrow",[ce(r.fragment,e)])}});$({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(r,e){for(var{parser:t}=r,a=ae(e[0],"ordgroup"),s=a.body,n="",l=0;l<s.length;l++){var c=ae(s[l],"textord");n+=c.text}var d=parseInt(n),p;if(isNaN(d))throw new E("\\@char has non-numeric argument "+n);if(d<0||d>=1114111)throw new E("\\@char with invalid code point "+n);return d<=65535?p=String.fromCharCode(d):(d-=65536,p=String.fromCharCode((d>>10)+55296,(d&1023)+56320)),{type:"textord",mode:t.mode,text:p}}});var gs=(r,e)=>{var t=we(r.body,e.withColor(r.color),!1);return M.makeFragment(t)},vs=(r,e)=>{var t=qe(r.body,e.withColor(r.color)),a=new I.MathNode("mstyle",t);return a.setAttribute("mathcolor",r.color),a};$({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(r,e){var{parser:t}=r,a=ae(e[0],"color-token").color,s=e[1];return{type:"color",mode:t.mode,color:a,body:xe(s)}},htmlBuilder:gs,mathmlBuilder:vs});$({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(r,e){var{parser:t,breakOnTokenText:a}=r,s=ae(e[0],"color-token").color;t.gullet.macros.set("\\current@color",s);var n=t.parseExpression(!0,a);return{type:"color",mode:t.mode,color:s,body:n}},htmlBuilder:gs,mathmlBuilder:vs});$({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(r,e,t){var{parser:a}=r,s=a.gullet.future().text==="["?a.parseSizeGroup(!0):null,n=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:n,size:s&&ae(s,"size").value}},htmlBuilder(r,e){var t=M.makeSpan(["mspace"],[],e);return r.newLine&&(t.classes.push("newline"),r.size&&(t.style.marginTop=P(fe(r.size,e)))),t},mathmlBuilder(r,e){var t=new I.MathNode("mspace");return r.newLine&&(t.setAttribute("linebreak","newline"),r.size&&t.setAttribute("height",P(fe(r.size,e)))),t}});var lr={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},xs=r=>{var e=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new E("Expected a control sequence",r);return e},ml=r=>{var e=r.gullet.popToken();return e.text==="="&&(e=r.gullet.popToken(),e.text===" "&&(e=r.gullet.popToken())),e},bs=(r,e,t,a)=>{var s=r.gullet.macros.get(t.text);s==null&&(t.noexpand=!0,s={tokens:[t],numArgs:0,unexpandable:!r.gullet.isExpandable(t.text)}),r.gullet.macros.set(e,s,a)};$({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(r){var{parser:e,funcName:t}=r;e.consumeSpaces();var a=e.fetch();if(lr[a.text])return(t==="\\global"||t==="\\\\globallong")&&(a.text=lr[a.text]),ae(e.parseFunction(),"internal");throw new E("Invalid token after macro prefix",a)}});$({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=e.gullet.popToken(),s=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new E("Expected a control sequence",a);for(var n=0,l,c=[[]];e.gullet.future().text!=="{";)if(a=e.gullet.popToken(),a.text==="#"){if(e.gullet.future().text==="{"){l=e.gullet.future(),c[n].push("{");break}if(a=e.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new E('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==n+1)throw new E('Argument number "'+a.text+'" out of order');n++,c.push([])}else{if(a.text==="EOF")throw new E("Expected a macro definition");c[n].push(a.text)}var{tokens:d}=e.gullet.consumeArg();return l&&d.unshift(l),(t==="\\edef"||t==="\\xdef")&&(d=e.gullet.expandTokens(d),d.reverse()),e.gullet.macros.set(s,{tokens:d,numArgs:n,delimiters:c},t===lr[t]),{type:"internal",mode:e.mode}}});$({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=xs(e.gullet.popToken());e.gullet.consumeSpaces();var s=ml(e);return bs(e,a,s,t==="\\\\globallet"),{type:"internal",mode:e.mode}}});$({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=xs(e.gullet.popToken()),s=e.gullet.popToken(),n=e.gullet.popToken();return bs(e,a,n,t==="\\\\globalfuture"),e.gullet.pushToken(n),e.gullet.pushToken(s),{type:"internal",mode:e.mode}}});var $0=function(e,t,a){var s=de.math[e]&&de.math[e].replace,n=gr(s||e,t,a);if(!n)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return n},Sr=function(e,t,a,s){var n=a.havingBaseStyle(t),l=M.makeSpan(s.concat(n.sizingClasses(a)),[e],a),c=n.sizeMultiplier/a.sizeMultiplier;return l.height*=c,l.depth*=c,l.maxFontSize=n.sizeMultiplier,l},ys=function(e,t,a){var s=t.havingBaseStyle(a),n=(1-t.sizeMultiplier/s.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=P(n),e.height-=n,e.depth+=n},pl=function(e,t,a,s,n,l){var c=M.makeSymbol(e,"Main-Regular",n,s),d=Sr(c,t,s,l);return a&&ys(d,s,t),d},fl=function(e,t,a,s){return M.makeSymbol(e,"Size"+t+"-Regular",a,s)},ws=function(e,t,a,s,n,l){var c=fl(e,t,n,s),d=Sr(M.makeSpan(["delimsizing","size"+t],[c],s),Z.TEXT,s,l);return a&&ys(d,s,Z.TEXT),d},Ht=function(e,t,a){var s;t==="Size1-Regular"?s="delim-size1":s="delim-size4";var n=M.makeSpan(["delimsizinginner",s],[M.makeSpan([],[M.makeSymbol(e,t,a)])]);return{type:"elem",elem:n}},$t=function(e,t,a){var s=Ke["Size4-Regular"][e.charCodeAt(0)]?Ke["Size4-Regular"][e.charCodeAt(0)][4]:Ke["Size1-Regular"][e.charCodeAt(0)][4],n=new v0("inner",yi(e,Math.round(1e3*t))),l=new n0([n],{width:P(s),height:P(t),style:"width:"+P(s),viewBox:"0 0 "+1e3*s+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),c=M.makeSvgSpan([],[l],a);return c.height=t,c.style.height=P(t),c.style.width=P(s),{type:"elem",elem:c}},or=.008,it={type:"kern",size:-1*or},gl=["|","\\lvert","\\rvert","\\vert"],vl=["\\|","\\lVert","\\rVert","\\Vert"],ks=function(e,t,a,s,n,l){var c,d,p,f,x="",y=0;c=p=f=e,d=null;var b="Size1-Regular";e==="\\uparrow"?p=f="⏐":e==="\\Uparrow"?p=f="‖":e==="\\downarrow"?c=p="⏐":e==="\\Downarrow"?c=p="‖":e==="\\updownarrow"?(c="\\uparrow",p="⏐",f="\\downarrow"):e==="\\Updownarrow"?(c="\\Uparrow",p="‖",f="\\Downarrow"):gl.includes(e)?(p="∣",x="vert",y=333):vl.includes(e)?(p="∥",x="doublevert",y=556):e==="["||e==="\\lbrack"?(c="⎡",p="⎢",f="⎣",b="Size4-Regular",x="lbrack",y=667):e==="]"||e==="\\rbrack"?(c="⎤",p="⎥",f="⎦",b="Size4-Regular",x="rbrack",y=667):e==="\\lfloor"||e==="⌊"?(p=c="⎢",f="⎣",b="Size4-Regular",x="lfloor",y=667):e==="\\lceil"||e==="⌈"?(c="⎡",p=f="⎢",b="Size4-Regular",x="lceil",y=667):e==="\\rfloor"||e==="⌋"?(p=c="⎥",f="⎦",b="Size4-Regular",x="rfloor",y=667):e==="\\rceil"||e==="⌉"?(c="⎤",p=f="⎥",b="Size4-Regular",x="rceil",y=667):e==="("||e==="\\lparen"?(c="⎛",p="⎜",f="⎝",b="Size4-Regular",x="lparen",y=875):e===")"||e==="\\rparen"?(c="⎞",p="⎟",f="⎠",b="Size4-Regular",x="rparen",y=875):e==="\\{"||e==="\\lbrace"?(c="⎧",d="⎨",f="⎩",p="⎪",b="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(c="⎫",d="⎬",f="⎭",p="⎪",b="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(c="⎧",f="⎩",p="⎪",b="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(c="⎫",f="⎭",p="⎪",b="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(c="⎧",f="⎭",p="⎪",b="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(c="⎫",f="⎩",p="⎪",b="Size4-Regular");var S=$0(c,b,n),k=S.height+S.depth,C=$0(p,b,n),B=C.height+C.depth,z=$0(f,b,n),U=z.height+z.depth,R=0,O=1;if(d!==null){var X=$0(d,b,n);R=X.height+X.depth,O=2}var F=k+U+R,q=Math.max(0,Math.ceil((t-F)/(O*B))),N=F+q*O*B,j=s.fontMetrics().axisHeight;a&&(j*=s.sizeMultiplier);var L=N/2-j,H=[];if(x.length>0){var V=N-k-U,Q=Math.round(N*1e3),W=wi(x,Math.round(V*1e3)),te=new v0(x,W),le=(y/1e3).toFixed(3)+"em",be=(Q/1e3).toFixed(3)+"em",ke=new n0([te],{width:le,height:be,viewBox:"0 0 "+y+" "+Q}),Ae=M.makeSvgSpan([],[ke],s);Ae.height=Q/1e3,Ae.style.width=le,Ae.style.height=be,H.push({type:"elem",elem:Ae})}else{if(H.push(Ht(f,b,n)),H.push(it),d===null){var re=N-k-U+2*or;H.push($t(p,re,s))}else{var ee=(N-k-U-R)/2+2*or;H.push($t(p,ee,s)),H.push(it),H.push(Ht(d,b,n)),H.push(it),H.push($t(p,ee,s))}H.push(it),H.push(Ht(c,b,n))}var he=s.havingBaseStyle(Z.TEXT),He=M.makeVList({positionType:"bottom",positionData:L,children:H},he);return Sr(M.makeSpan(["delimsizing","mult"],[He],he),Z.TEXT,s,l)},Gt=80,Ut=.08,Vt=function(e,t,a,s,n){var l=bi(e,s,a),c=new v0(e,l),d=new n0([c],{width:"400em",height:P(t),viewBox:"0 0 400000 "+a,preserveAspectRatio:"xMinYMin slice"});return M.makeSvgSpan(["hide-tail"],[d],n)},xl=function(e,t){var a=t.havingBaseSizing(),s=Ts("\\surd",e*a.sizeMultiplier,Ns,a),n=a.sizeMultiplier,l=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),c,d=0,p=0,f=0,x;return s.type==="small"?(f=1e3+1e3*l+Gt,e<1?n=1:e<1.4&&(n=.7),d=(1+l+Ut)/n,p=(1+l)/n,c=Vt("sqrtMain",d,f,l,t),c.style.minWidth="0.853em",x=.833/n):s.type==="large"?(f=(1e3+Gt)*G0[s.size],p=(G0[s.size]+l)/n,d=(G0[s.size]+l+Ut)/n,c=Vt("sqrtSize"+s.size,d,f,l,t),c.style.minWidth="1.02em",x=1/n):(d=e+l+Ut,p=e+l,f=Math.floor(1e3*e+l)+Gt,c=Vt("sqrtTall",d,f,l,t),c.style.minWidth="0.742em",x=1.056),c.height=p,c.style.height=P(d),{span:c,advanceWidth:x,ruleWidth:(t.fontMetrics().sqrtRuleThickness+l)*n}},Ss=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],bl=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],Ms=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],G0=[0,1.2,1.8,2.4,3],yl=function(e,t,a,s,n){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Ss.includes(e)||Ms.includes(e))return ws(e,t,!1,a,s,n);if(bl.includes(e))return ks(e,G0[t],!1,a,s,n);throw new E("Illegal delimiter: '"+e+"'")},wl=[{type:"small",style:Z.SCRIPTSCRIPT},{type:"small",style:Z.SCRIPT},{type:"small",style:Z.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],kl=[{type:"small",style:Z.SCRIPTSCRIPT},{type:"small",style:Z.SCRIPT},{type:"small",style:Z.TEXT},{type:"stack"}],Ns=[{type:"small",style:Z.SCRIPTSCRIPT},{type:"small",style:Z.SCRIPT},{type:"small",style:Z.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Sl=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},Ts=function(e,t,a,s){for(var n=Math.min(2,3-s.style.size),l=n;l<a.length&&a[l].type!=="stack";l++){var c=$0(e,Sl(a[l]),"math"),d=c.height+c.depth;if(a[l].type==="small"){var p=s.havingBaseStyle(a[l].style);d*=p.sizeMultiplier}if(d>t)return a[l]}return a[a.length-1]},zs=function(e,t,a,s,n,l){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var c;Ms.includes(e)?c=wl:Ss.includes(e)?c=Ns:c=kl;var d=Ts(e,t,c,s);return d.type==="small"?pl(e,d.style,a,s,n,l):d.type==="large"?ws(e,d.size,a,s,n,l):ks(e,t,a,s,n,l)},Ml=function(e,t,a,s,n,l){var c=s.fontMetrics().axisHeight*s.sizeMultiplier,d=901,p=5/s.fontMetrics().ptPerEm,f=Math.max(t-c,a+c),x=Math.max(f/500*d,2*f-p);return zs(e,x,!0,s,n,l)},s0={sqrtImage:xl,sizedDelim:yl,sizeToMaxHeight:G0,customSizedDelim:zs,leftRightDelim:Ml},la={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Nl=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function Nt(r,e){var t=St(r);if(t&&Nl.includes(t.text))return t;throw t?new E("Invalid delimiter '"+t.text+"' after '"+e.funcName+"'",r):new E("Invalid delimiter type '"+r.type+"'",r)}$({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(r,e)=>{var t=Nt(e[0],r);return{type:"delimsizing",mode:r.parser.mode,size:la[r.funcName].size,mclass:la[r.funcName].mclass,delim:t.text}},htmlBuilder:(r,e)=>r.delim==="."?M.makeSpan([r.mclass]):s0.sizedDelim(r.delim,r.size,e,r.mode,[r.mclass]),mathmlBuilder:r=>{var e=[];r.delim!=="."&&e.push(Ue(r.delim,r.mode));var t=new I.MathNode("mo",e);r.mclass==="mopen"||r.mclass==="mclose"?t.setAttribute("fence","true"):t.setAttribute("fence","false"),t.setAttribute("stretchy","true");var a=P(s0.sizeToMaxHeight[r.size]);return t.setAttribute("minsize",a),t.setAttribute("maxsize",a),t}});function oa(r){if(!r.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}$({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=r.parser.gullet.macros.get("\\current@color");if(t&&typeof t!="string")throw new E("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:r.parser.mode,delim:Nt(e[0],r).text,color:t}}});$({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=Nt(e[0],r),a=r.parser;++a.leftrightDepth;var s=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var n=ae(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:s,left:t.text,right:n.delim,rightColor:n.color}},htmlBuilder:(r,e)=>{oa(r);for(var t=we(r.body,e,!0,["mopen","mclose"]),a=0,s=0,n=!1,l=0;l<t.length;l++)t[l].isMiddle?n=!0:(a=Math.max(t[l].height,a),s=Math.max(t[l].depth,s));a*=e.sizeMultiplier,s*=e.sizeMultiplier;var c;if(r.left==="."?c=V0(e,["mopen"]):c=s0.leftRightDelim(r.left,a,s,e,r.mode,["mopen"]),t.unshift(c),n)for(var d=1;d<t.length;d++){var p=t[d],f=p.isMiddle;f&&(t[d]=s0.leftRightDelim(f.delim,a,s,f.options,r.mode,[]))}var x;if(r.right===".")x=V0(e,["mclose"]);else{var y=r.rightColor?e.withColor(r.rightColor):e;x=s0.leftRightDelim(r.right,a,s,y,r.mode,["mclose"])}return t.push(x),M.makeSpan(["minner"],t,e)},mathmlBuilder:(r,e)=>{oa(r);var t=qe(r.body,e);if(r.left!=="."){var a=new I.MathNode("mo",[Ue(r.left,r.mode)]);a.setAttribute("fence","true"),t.unshift(a)}if(r.right!=="."){var s=new I.MathNode("mo",[Ue(r.right,r.mode)]);s.setAttribute("fence","true"),r.rightColor&&s.setAttribute("mathcolor",r.rightColor),t.push(s)}return br(t)}});$({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=Nt(e[0],r);if(!r.parser.leftrightDepth)throw new E("\\middle without preceding \\left",t);return{type:"middle",mode:r.parser.mode,delim:t.text}},htmlBuilder:(r,e)=>{var t;if(r.delim===".")t=V0(e,[]);else{t=s0.sizedDelim(r.delim,1,e,r.mode,[]);var a={delim:r.delim,options:e};t.isMiddle=a}return t},mathmlBuilder:(r,e)=>{var t=r.delim==="\\vert"||r.delim==="|"?Ue("|","text"):Ue(r.delim,r.mode),a=new I.MathNode("mo",[t]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var Mr=(r,e)=>{var t=M.wrapFragment(ne(r.body,e),e),a=r.label.slice(1),s=e.sizeMultiplier,n,l=0,c=ie.isCharacterBox(r.body);if(a==="sout")n=M.makeSpan(["stretchy","sout"]),n.height=e.fontMetrics().defaultRuleThickness/s,l=-.5*e.fontMetrics().xHeight;else if(a==="phase"){var d=fe({number:.6,unit:"pt"},e),p=fe({number:.35,unit:"ex"},e),f=e.havingBaseSizing();s=s/f.sizeMultiplier;var x=t.height+t.depth+d+p;t.style.paddingLeft=P(x/2+d);var y=Math.floor(1e3*x*s),b=vi(y),S=new n0([new v0("phase",b)],{width:"400em",height:P(y/1e3),viewBox:"0 0 400000 "+y,preserveAspectRatio:"xMinYMin slice"});n=M.makeSvgSpan(["hide-tail"],[S],e),n.style.height=P(x),l=t.depth+d+p}else{/cancel/.test(a)?c||t.classes.push("cancel-pad"):a==="angl"?t.classes.push("anglpad"):t.classes.push("boxpad");var k=0,C=0,B=0;/box/.test(a)?(B=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),k=e.fontMetrics().fboxsep+(a==="colorbox"?0:B),C=k):a==="angl"?(B=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),k=4*B,C=Math.max(0,.25-t.depth)):(k=c?.2:0,C=k),n=l0.encloseSpan(t,a,k,C,e),/fbox|boxed|fcolorbox/.test(a)?(n.style.borderStyle="solid",n.style.borderWidth=P(B)):a==="angl"&&B!==.049&&(n.style.borderTopWidth=P(B),n.style.borderRightWidth=P(B)),l=t.depth+C,r.backgroundColor&&(n.style.backgroundColor=r.backgroundColor,r.borderColor&&(n.style.borderColor=r.borderColor))}var z;if(r.backgroundColor)z=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:l},{type:"elem",elem:t,shift:0}]},e);else{var U=/cancel|phase/.test(a)?["svg-align"]:[];z=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:t,shift:0},{type:"elem",elem:n,shift:l,wrapperClasses:U}]},e)}return/cancel/.test(a)&&(z.height=t.height,z.depth=t.depth),/cancel/.test(a)&&!c?M.makeSpan(["mord","cancel-lap"],[z],e):M.makeSpan(["mord"],[z],e)},Nr=(r,e)=>{var t=0,a=new I.MathNode(r.label.indexOf("colorbox")>-1?"mpadded":"menclose",[ce(r.body,e)]);switch(r.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(t=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*t+"pt"),a.setAttribute("height","+"+2*t+"pt"),a.setAttribute("lspace",t+"pt"),a.setAttribute("voffset",t+"pt"),r.label==="\\fcolorbox"){var s=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);a.setAttribute("style","border: "+s+"em solid "+String(r.borderColor))}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return r.backgroundColor&&a.setAttribute("mathbackground",r.backgroundColor),a};$({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(r,e,t){var{parser:a,funcName:s}=r,n=ae(e[0],"color-token").color,l=e[1];return{type:"enclose",mode:a.mode,label:s,backgroundColor:n,body:l}},htmlBuilder:Mr,mathmlBuilder:Nr});$({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(r,e,t){var{parser:a,funcName:s}=r,n=ae(e[0],"color-token").color,l=ae(e[1],"color-token").color,c=e[2];return{type:"enclose",mode:a.mode,label:s,backgroundColor:l,borderColor:n,body:c}},htmlBuilder:Mr,mathmlBuilder:Nr});$({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\fbox",body:e[0]}}});$({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r,s=e[0];return{type:"enclose",mode:t.mode,label:a,body:s}},htmlBuilder:Mr,mathmlBuilder:Nr});$({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\angl",body:e[0]}}});var As={};function Je(r){for(var{type:e,names:t,props:a,handler:s,htmlBuilder:n,mathmlBuilder:l}=r,c={type:e,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:s},d=0;d<t.length;++d)As[t[d]]=c;n&&(gt[e]=n),l&&(vt[e]=l)}var js={};function m(r,e){js[r]=e}function ua(r){var e=[];r.consumeSpaces();var t=r.fetch().text;for(t==="\\relax"&&(r.consume(),r.consumeSpaces(),t=r.fetch().text);t==="\\hline"||t==="\\hdashline";)r.consume(),e.push(t==="\\hdashline"),r.consumeSpaces(),t=r.fetch().text;return e}var Tt=r=>{var e=r.parser.settings;if(!e.displayMode)throw new E("{"+r.envName+"} can be used only in display mode.")};function Tr(r){if(r.indexOf("ed")===-1)return r.indexOf("*")===-1}function y0(r,e,t){var{hskipBeforeAndAfter:a,addJot:s,cols:n,arraystretch:l,colSeparationType:c,autoTag:d,singleRow:p,emptySingleRow:f,maxNumCols:x,leqno:y}=e;if(r.gullet.beginGroup(),p||r.gullet.macros.set("\\cr","\\\\\\relax"),!l){var b=r.gullet.expandMacroAsText("\\arraystretch");if(b==null)l=1;else if(l=parseFloat(b),!l||l<0)throw new E("Invalid \\arraystretch: "+b)}r.gullet.beginGroup();var S=[],k=[S],C=[],B=[],z=d!=null?[]:void 0;function U(){d&&r.gullet.macros.set("\\@eqnsw","1",!0)}function R(){z&&(r.gullet.macros.get("\\df@tag")?(z.push(r.subparse([new Oe("\\df@tag")])),r.gullet.macros.set("\\df@tag",void 0,!0)):z.push(!!d&&r.gullet.macros.get("\\@eqnsw")==="1"))}for(U(),B.push(ua(r));;){var O=r.parseExpression(!1,p?"\\end":"\\\\");r.gullet.endGroup(),r.gullet.beginGroup(),O={type:"ordgroup",mode:r.mode,body:O},t&&(O={type:"styling",mode:r.mode,style:t,body:[O]}),S.push(O);var X=r.fetch().text;if(X==="&"){if(x&&S.length===x){if(p||c)throw new E("Too many tab characters: &",r.nextToken);r.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}r.consume()}else if(X==="\\end"){R(),S.length===1&&O.type==="styling"&&O.body[0].body.length===0&&(k.length>1||!f)&&k.pop(),B.length<k.length+1&&B.push([]);break}else if(X==="\\\\"){r.consume();var F=void 0;r.gullet.future().text!==" "&&(F=r.parseSizeGroup(!0)),C.push(F?F.value:null),R(),B.push(ua(r)),S=[],k.push(S),U()}else throw new E("Expected & or \\\\ or \\cr or \\end",r.nextToken)}return r.gullet.endGroup(),r.gullet.endGroup(),{type:"array",mode:r.mode,addJot:s,arraystretch:l,body:k,cols:n,rowGaps:C,hskipBeforeAndAfter:a,hLinesBeforeRow:B,colSeparationType:c,tags:z,leqno:y}}function zr(r){return r.slice(0,1)==="d"?"display":"text"}var Qe=function(e,t){var a,s,n=e.body.length,l=e.hLinesBeforeRow,c=0,d=new Array(n),p=[],f=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),x=1/t.fontMetrics().ptPerEm,y=5*x;if(e.colSeparationType&&e.colSeparationType==="small"){var b=t.havingStyle(Z.SCRIPT).sizeMultiplier;y=.2778*(b/t.sizeMultiplier)}var S=e.colSeparationType==="CD"?fe({number:3,unit:"ex"},t):12*x,k=3*x,C=e.arraystretch*S,B=.7*C,z=.3*C,U=0;function R(c0){for(var d0=0;d0<c0.length;++d0)d0>0&&(U+=.25),p.push({pos:U,isDashed:c0[d0]})}for(R(l[0]),a=0;a<e.body.length;++a){var O=e.body[a],X=B,F=z;c<O.length&&(c=O.length);var q=new Array(O.length);for(s=0;s<O.length;++s){var N=ne(O[s],t);F<N.depth&&(F=N.depth),X<N.height&&(X=N.height),q[s]=N}var j=e.rowGaps[a],L=0;j&&(L=fe(j,t),L>0&&(L+=z,F<L&&(F=L),L=0)),e.addJot&&(F+=k),q.height=X,q.depth=F,U+=X,q.pos=U,U+=F+L,d[a]=q,R(l[a+1])}var H=U/2+t.fontMetrics().axisHeight,V=e.cols||[],Q=[],W,te,le=[];if(e.tags&&e.tags.some(c0=>c0))for(a=0;a<n;++a){var be=d[a],ke=be.pos-H,Ae=e.tags[a],re=void 0;Ae===!0?re=M.makeSpan(["eqn-num"],[],t):Ae===!1?re=M.makeSpan([],[],t):re=M.makeSpan([],we(Ae,t,!0),t),re.depth=be.depth,re.height=be.height,le.push({type:"elem",elem:re,shift:ke})}for(s=0,te=0;s<c||te<V.length;++s,++te){for(var ee=V[te]||{},he=!0;ee.type==="separator";){if(he||(W=M.makeSpan(["arraycolsep"],[]),W.style.width=P(t.fontMetrics().doubleRuleSep),Q.push(W)),ee.separator==="|"||ee.separator===":"){var He=ee.separator==="|"?"solid":"dashed",Xe=M.makeSpan(["vertical-separator"],[],t);Xe.style.height=P(U),Xe.style.borderRightWidth=P(f),Xe.style.borderRightStyle=He,Xe.style.margin="0 "+P(-f/2);var w0=U-H;w0&&(Xe.style.verticalAlign=P(-w0)),Q.push(Xe)}else throw new E("Invalid separator type: "+ee.separator);te++,ee=V[te]||{},he=!1}if(!(s>=c)){var Ne=void 0;(s>0||e.hskipBeforeAndAfter)&&(Ne=ie.deflt(ee.pregap,y),Ne!==0&&(W=M.makeSpan(["arraycolsep"],[]),W.style.width=P(Ne),Q.push(W)));var Se=[];for(a=0;a<n;++a){var se=d[a],oe=se[s];if(oe){var Te=se.pos-H;oe.depth=se.depth,oe.height=se.height,Se.push({type:"elem",elem:oe,shift:Te})}}Se=M.makeVList({positionType:"individualShift",children:Se},t),Se=M.makeSpan(["col-align-"+(ee.align||"c")],[Se]),Q.push(Se),(s<c-1||e.hskipBeforeAndAfter)&&(Ne=ie.deflt(ee.postgap,y),Ne!==0&&(W=M.makeSpan(["arraycolsep"],[]),W.style.width=P(Ne),Q.push(W)))}}if(d=M.makeSpan(["mtable"],Q),p.length>0){for(var Ve=M.makeLineSpan("hline",t,f),u0=M.makeLineSpan("hdashline",t,f),K0=[{type:"elem",elem:d,shift:0}];p.length>0;){var E0=p.pop(),q0=E0.pos-H;E0.isDashed?K0.push({type:"elem",elem:u0,shift:q0}):K0.push({type:"elem",elem:Ve,shift:q0})}d=M.makeVList({positionType:"individualShift",children:K0},t)}if(le.length===0)return M.makeSpan(["mord"],[d],t);var Re=M.makeVList({positionType:"individualShift",children:le},t);return Re=M.makeSpan(["tag"],[Re],t),M.makeFragment([d,Re])},Tl={c:"center ",l:"left ",r:"right "},_e=function(e,t){for(var a=[],s=new I.MathNode("mtd",[],["mtr-glue"]),n=new I.MathNode("mtd",[],["mml-eqn-num"]),l=0;l<e.body.length;l++){for(var c=e.body[l],d=[],p=0;p<c.length;p++)d.push(new I.MathNode("mtd",[ce(c[p],t)]));e.tags&&e.tags[l]&&(d.unshift(s),d.push(s),e.leqno?d.unshift(n):d.push(n)),a.push(new I.MathNode("mtr",d))}var f=new I.MathNode("mtable",a),x=e.arraystretch===.5?.1:.16+e.arraystretch-1+(e.addJot?.09:0);f.setAttribute("rowspacing",P(x));var y="",b="";if(e.cols&&e.cols.length>0){var S=e.cols,k="",C=!1,B=0,z=S.length;S[0].type==="separator"&&(y+="top ",B=1),S[S.length-1].type==="separator"&&(y+="bottom ",z-=1);for(var U=B;U<z;U++)S[U].type==="align"?(b+=Tl[S[U].align],C&&(k+="none "),C=!0):S[U].type==="separator"&&C&&(k+=S[U].separator==="|"?"solid ":"dashed ",C=!1);f.setAttribute("columnalign",b.trim()),/[sd]/.test(k)&&f.setAttribute("columnlines",k.trim())}if(e.colSeparationType==="align"){for(var R=e.cols||[],O="",X=1;X<R.length;X++)O+=X%2?"0em ":"1em ";f.setAttribute("columnspacing",O.trim())}else e.colSeparationType==="alignat"||e.colSeparationType==="gather"?f.setAttribute("columnspacing","0em"):e.colSeparationType==="small"?f.setAttribute("columnspacing","0.2778em"):e.colSeparationType==="CD"?f.setAttribute("columnspacing","0.5em"):f.setAttribute("columnspacing","1em");var F="",q=e.hLinesBeforeRow;y+=q[0].length>0?"left ":"",y+=q[q.length-1].length>0?"right ":"";for(var N=1;N<q.length-1;N++)F+=q[N].length===0?"none ":q[N][0]?"dashed ":"solid ";return/[sd]/.test(F)&&f.setAttribute("rowlines",F.trim()),y!==""&&(f=new I.MathNode("menclose",[f]),f.setAttribute("notation",y.trim())),e.arraystretch&&e.arraystretch<1&&(f=new I.MathNode("mstyle",[f]),f.setAttribute("scriptlevel","1")),f},Cs=function(e,t){e.envName.indexOf("ed")===-1&&Tt(e);var a=[],s=e.envName.indexOf("at")>-1?"alignat":"align",n=e.envName==="split",l=y0(e.parser,{cols:a,addJot:!0,autoTag:n?void 0:Tr(e.envName),emptySingleRow:!0,colSeparationType:s,maxNumCols:n?2:void 0,leqno:e.parser.settings.leqno},"display"),c,d=0,p={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&t[0].type==="ordgroup"){for(var f="",x=0;x<t[0].body.length;x++){var y=ae(t[0].body[x],"textord");f+=y.text}c=Number(f),d=c*2}var b=!d;l.body.forEach(function(B){for(var z=1;z<B.length;z+=2){var U=ae(B[z],"styling"),R=ae(U.body[0],"ordgroup");R.body.unshift(p)}if(b)d<B.length&&(d=B.length);else{var O=B.length/2;if(c<O)throw new E("Too many math in a row: "+("expected "+c+", but got "+O),B[0])}});for(var S=0;S<d;++S){var k="r",C=0;S%2===1?k="l":S>0&&b&&(C=1),a[S]={type:"align",align:k,pregap:C,postgap:0}}return l.colSeparationType=b?"align":"alignat",l};Je({type:"array",names:["array","darray"],props:{numArgs:1},handler(r,e){var t=St(e[0]),a=t?[e[0]]:ae(e[0],"ordgroup").body,s=a.map(function(l){var c=wr(l),d=c.text;if("lcr".indexOf(d)!==-1)return{type:"align",align:d};if(d==="|")return{type:"separator",separator:"|"};if(d===":")return{type:"separator",separator:":"};throw new E("Unknown column alignment: "+d,l)}),n={cols:s,hskipBeforeAndAfter:!0,maxNumCols:s.length};return y0(r.parser,n,zr(r.envName))},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(r){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[r.envName.replace("*","")],t="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:t}]};if(r.envName.charAt(r.envName.length-1)==="*"){var s=r.parser;if(s.consumeSpaces(),s.fetch().text==="["){if(s.consume(),s.consumeSpaces(),t=s.fetch().text,"lcr".indexOf(t)===-1)throw new E("Expected l or c or r",s.nextToken);s.consume(),s.consumeSpaces(),s.expect("]"),s.consume(),a.cols=[{type:"align",align:t}]}}var n=y0(r.parser,a,zr(r.envName)),l=Math.max(0,...n.body.map(c=>c.length));return n.cols=new Array(l).fill({type:"align",align:t}),e?{type:"leftright",mode:r.mode,body:[n],left:e[0],right:e[1],rightColor:void 0}:n},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(r){var e={arraystretch:.5},t=y0(r.parser,e,"script");return t.colSeparationType="small",t},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["subarray"],props:{numArgs:1},handler(r,e){var t=St(e[0]),a=t?[e[0]]:ae(e[0],"ordgroup").body,s=a.map(function(l){var c=wr(l),d=c.text;if("lc".indexOf(d)!==-1)return{type:"align",align:d};throw new E("Unknown column alignment: "+d,l)});if(s.length>1)throw new E("{subarray} can contain only one column");var n={cols:s,hskipBeforeAndAfter:!1,arraystretch:.5};if(n=y0(r.parser,n,"script"),n.body.length>0&&n.body[0].length>1)throw new E("{subarray} can contain only one column");return n},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(r){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},t=y0(r.parser,e,zr(r.envName));return{type:"leftright",mode:r.mode,body:[t],left:r.envName.indexOf("r")>-1?".":"\\{",right:r.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Cs,htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(r){["gather","gather*"].includes(r.envName)&&Tt(r);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Tr(r.envName),emptySingleRow:!0,leqno:r.parser.settings.leqno};return y0(r.parser,e,"display")},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Cs,htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(r){Tt(r);var e={autoTag:Tr(r.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:r.parser.settings.leqno};return y0(r.parser,e,"display")},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["CD"],props:{numArgs:0},handler(r){return Tt(r),hl(r.parser)},htmlBuilder:Qe,mathmlBuilder:_e});m("\\nonumber","\\gdef\\@eqnsw{0}");m("\\notag","\\nonumber");$({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(r,e){throw new E(r.funcName+" valid only within array environment")}});var ca=As;$({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(r,e){var{parser:t,funcName:a}=r,s=e[0];if(s.type!=="ordgroup")throw new E("Invalid environment name",s);for(var n="",l=0;l<s.body.length;++l)n+=ae(s.body[l],"textord").text;if(a==="\\begin"){if(!ca.hasOwnProperty(n))throw new E("No such environment: "+n,s);var c=ca[n],{args:d,optArgs:p}=t.parseArguments("\\begin{"+n+"}",c),f={mode:t.mode,envName:n,parser:t},x=c.handler(f,d,p);t.expect("\\end",!1);var y=t.nextToken,b=ae(t.parseFunction(),"environment");if(b.name!==n)throw new E("Mismatch: \\begin{"+n+"} matched by \\end{"+b.name+"}",y);return x}return{type:"environment",mode:t.mode,name:n,nameGroup:s}}});var Ds=(r,e)=>{var t=r.font,a=e.withFont(t);return ne(r.body,a)},Bs=(r,e)=>{var t=r.font,a=e.withFont(t);return ce(r.body,a)},da={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};$({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=xt(e[0]),n=a;return n in da&&(n=da[n]),{type:"font",mode:t.mode,font:n.slice(1),body:s}},htmlBuilder:Ds,mathmlBuilder:Bs});$({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(r,e)=>{var{parser:t}=r,a=e[0],s=ie.isCharacterBox(a);return{type:"mclass",mode:t.mode,mclass:Mt(a),body:[{type:"font",mode:t.mode,font:"boldsymbol",body:a}],isCharacterBox:s}}});$({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a,breakOnTokenText:s}=r,{mode:n}=t,l=t.parseExpression(!0,s),c="math"+a.slice(1);return{type:"font",mode:n,font:c,body:{type:"ordgroup",mode:t.mode,body:l}}},htmlBuilder:Ds,mathmlBuilder:Bs});var Fs=(r,e)=>{var t=e;return r==="display"?t=t.id>=Z.SCRIPT.id?t.text():Z.DISPLAY:r==="text"&&t.size===Z.DISPLAY.size?t=Z.TEXT:r==="script"?t=Z.SCRIPT:r==="scriptscript"&&(t=Z.SCRIPTSCRIPT),t},Ar=(r,e)=>{var t=Fs(r.size,e.style),a=t.fracNum(),s=t.fracDen(),n;n=e.havingStyle(a);var l=ne(r.numer,n,e);if(r.continued){var c=8.5/e.fontMetrics().ptPerEm,d=3.5/e.fontMetrics().ptPerEm;l.height=l.height<c?c:l.height,l.depth=l.depth<d?d:l.depth}n=e.havingStyle(s);var p=ne(r.denom,n,e),f,x,y;r.hasBarLine?(r.barSize?(x=fe(r.barSize,e),f=M.makeLineSpan("frac-line",e,x)):f=M.makeLineSpan("frac-line",e),x=f.height,y=f.height):(f=null,x=0,y=e.fontMetrics().defaultRuleThickness);var b,S,k;t.size===Z.DISPLAY.size||r.size==="display"?(b=e.fontMetrics().num1,x>0?S=3*y:S=7*y,k=e.fontMetrics().denom1):(x>0?(b=e.fontMetrics().num2,S=y):(b=e.fontMetrics().num3,S=3*y),k=e.fontMetrics().denom2);var C;if(f){var z=e.fontMetrics().axisHeight;b-l.depth-(z+.5*x)<S&&(b+=S-(b-l.depth-(z+.5*x))),z-.5*x-(p.height-k)<S&&(k+=S-(z-.5*x-(p.height-k)));var U=-(z-.5*x);C=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:p,shift:k},{type:"elem",elem:f,shift:U},{type:"elem",elem:l,shift:-b}]},e)}else{var B=b-l.depth-(p.height-k);B<S&&(b+=.5*(S-B),k+=.5*(S-B)),C=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:p,shift:k},{type:"elem",elem:l,shift:-b}]},e)}n=e.havingStyle(t),C.height*=n.sizeMultiplier/e.sizeMultiplier,C.depth*=n.sizeMultiplier/e.sizeMultiplier;var R;t.size===Z.DISPLAY.size?R=e.fontMetrics().delim1:t.size===Z.SCRIPTSCRIPT.size?R=e.havingStyle(Z.SCRIPT).fontMetrics().delim2:R=e.fontMetrics().delim2;var O,X;return r.leftDelim==null?O=V0(e,["mopen"]):O=s0.customSizedDelim(r.leftDelim,R,!0,e.havingStyle(t),r.mode,["mopen"]),r.continued?X=M.makeSpan([]):r.rightDelim==null?X=V0(e,["mclose"]):X=s0.customSizedDelim(r.rightDelim,R,!0,e.havingStyle(t),r.mode,["mclose"]),M.makeSpan(["mord"].concat(n.sizingClasses(e)),[O,M.makeSpan(["mfrac"],[C]),X],e)},jr=(r,e)=>{var t=new I.MathNode("mfrac",[ce(r.numer,e),ce(r.denom,e)]);if(!r.hasBarLine)t.setAttribute("linethickness","0px");else if(r.barSize){var a=fe(r.barSize,e);t.setAttribute("linethickness",P(a))}var s=Fs(r.size,e.style);if(s.size!==e.style.size){t=new I.MathNode("mstyle",[t]);var n=s.size===Z.DISPLAY.size?"true":"false";t.setAttribute("displaystyle",n),t.setAttribute("scriptlevel","0")}if(r.leftDelim!=null||r.rightDelim!=null){var l=[];if(r.leftDelim!=null){var c=new I.MathNode("mo",[new I.TextNode(r.leftDelim.replace("\\",""))]);c.setAttribute("fence","true"),l.push(c)}if(l.push(t),r.rightDelim!=null){var d=new I.MathNode("mo",[new I.TextNode(r.rightDelim.replace("\\",""))]);d.setAttribute("fence","true"),l.push(d)}return br(l)}return t};$({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0],n=e[1],l,c=null,d=null,p="auto";switch(a){case"\\dfrac":case"\\frac":case"\\tfrac":l=!0;break;case"\\\\atopfrac":l=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":l=!1,c="(",d=")";break;case"\\\\bracefrac":l=!1,c="\\{",d="\\}";break;case"\\\\brackfrac":l=!1,c="[",d="]";break;default:throw new Error("Unrecognized genfrac command")}switch(a){case"\\dfrac":case"\\dbinom":p="display";break;case"\\tfrac":case"\\tbinom":p="text";break}return{type:"genfrac",mode:t.mode,continued:!1,numer:s,denom:n,hasBarLine:l,leftDelim:c,rightDelim:d,size:p,barSize:null}},htmlBuilder:Ar,mathmlBuilder:jr});$({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0],n=e[1];return{type:"genfrac",mode:t.mode,continued:!0,numer:s,denom:n,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}});$({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(r){var{parser:e,funcName:t,token:a}=r,s;switch(t){case"\\over":s="\\frac";break;case"\\choose":s="\\binom";break;case"\\atop":s="\\\\atopfrac";break;case"\\brace":s="\\\\bracefrac";break;case"\\brack":s="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:s,token:a}}});var ha=["display","text","script","scriptscript"],ma=function(e){var t=null;return e.length>0&&(t=e,t=t==="."?null:t),t};$({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(r,e){var{parser:t}=r,a=e[4],s=e[5],n=xt(e[0]),l=n.type==="atom"&&n.family==="open"?ma(n.text):null,c=xt(e[1]),d=c.type==="atom"&&c.family==="close"?ma(c.text):null,p=ae(e[2],"size"),f,x=null;p.isBlank?f=!0:(x=p.value,f=x.number>0);var y="auto",b=e[3];if(b.type==="ordgroup"){if(b.body.length>0){var S=ae(b.body[0],"textord");y=ha[Number(S.text)]}}else b=ae(b,"textord"),y=ha[Number(b.text)];return{type:"genfrac",mode:t.mode,numer:a,denom:s,continued:!1,hasBarLine:f,barSize:x,leftDelim:l,rightDelim:d,size:y}},htmlBuilder:Ar,mathmlBuilder:jr});$({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(r,e){var{parser:t,funcName:a,token:s}=r;return{type:"infix",mode:t.mode,replaceWith:"\\\\abovefrac",size:ae(e[0],"size").value,token:s}}});$({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0],n=ri(ae(e[1],"infix").size),l=e[2],c=n.number>0;return{type:"genfrac",mode:t.mode,numer:s,denom:l,continued:!1,hasBarLine:c,barSize:n,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:Ar,mathmlBuilder:jr});var Is=(r,e)=>{var t=e.style,a,s;r.type==="supsub"?(a=r.sup?ne(r.sup,e.havingStyle(t.sup()),e):ne(r.sub,e.havingStyle(t.sub()),e),s=ae(r.base,"horizBrace")):s=ae(r,"horizBrace");var n=ne(s.base,e.havingBaseStyle(Z.DISPLAY)),l=l0.svgSpan(s,e),c;if(s.isOver?(c=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:.1},{type:"elem",elem:l}]},e),c.children[0].children[0].children[1].classes.push("svg-align")):(c=M.makeVList({positionType:"bottom",positionData:n.depth+.1+l.height,children:[{type:"elem",elem:l},{type:"kern",size:.1},{type:"elem",elem:n}]},e),c.children[0].children[0].children[0].classes.push("svg-align")),a){var d=M.makeSpan(["mord",s.isOver?"mover":"munder"],[c],e);s.isOver?c=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:d},{type:"kern",size:.2},{type:"elem",elem:a}]},e):c=M.makeVList({positionType:"bottom",positionData:d.depth+.2+a.height+a.depth,children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:d}]},e)}return M.makeSpan(["mord",s.isOver?"mover":"munder"],[c],e)},zl=(r,e)=>{var t=l0.mathMLnode(r.label);return new I.MathNode(r.isOver?"mover":"munder",[ce(r.base,e),t])};$({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"horizBrace",mode:t.mode,label:a,isOver:/^\\over/.test(a),base:e[0]}},htmlBuilder:Is,mathmlBuilder:zl});$({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[1],s=ae(e[0],"url").url;return t.settings.isTrusted({command:"\\href",url:s})?{type:"href",mode:t.mode,href:s,body:xe(a)}:t.formatUnsupportedCmd("\\href")},htmlBuilder:(r,e)=>{var t=we(r.body,e,!1);return M.makeAnchor(r.href,[],t,e)},mathmlBuilder:(r,e)=>{var t=x0(r.body,e);return t instanceof Pe||(t=new Pe("mrow",[t])),t.setAttribute("href",r.href),t}});$({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=ae(e[0],"url").url;if(!t.settings.isTrusted({command:"\\url",url:a}))return t.formatUnsupportedCmd("\\url");for(var s=[],n=0;n<a.length;n++){var l=a[n];l==="~"&&(l="\\textasciitilde"),s.push({type:"textord",mode:"text",text:l})}var c={type:"text",mode:t.mode,font:"\\texttt",body:s};return{type:"href",mode:t.mode,href:a,body:xe(c)}}});$({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(r,e){var{parser:t}=r;return{type:"hbox",mode:t.mode,body:xe(e[0])}},htmlBuilder(r,e){var t=we(r.body,e,!1);return M.makeFragment(t)},mathmlBuilder(r,e){return new I.MathNode("mrow",qe(r.body,e))}});$({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a,token:s}=r,n=ae(e[0],"raw").string,l=e[1];t.settings.strict&&t.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var c,d={};switch(a){case"\\htmlClass":d.class=n,c={command:"\\htmlClass",class:n};break;case"\\htmlId":d.id=n,c={command:"\\htmlId",id:n};break;case"\\htmlStyle":d.style=n,c={command:"\\htmlStyle",style:n};break;case"\\htmlData":{for(var p=n.split(","),f=0;f<p.length;f++){var x=p[f],y=x.indexOf("=");if(y<0)throw new E("\\htmlData key/value '"+x+"' missing equals sign");var b=x.slice(0,y),S=x.slice(y+1);d["data-"+b.trim()]=S}c={command:"\\htmlData",attributes:d};break}default:throw new Error("Unrecognized html command")}return t.settings.isTrusted(c)?{type:"html",mode:t.mode,attributes:d,body:xe(l)}:t.formatUnsupportedCmd(a)},htmlBuilder:(r,e)=>{var t=we(r.body,e,!1),a=["enclosing"];r.attributes.class&&a.push(...r.attributes.class.trim().split(/\s+/));var s=M.makeSpan(a,t,e);for(var n in r.attributes)n!=="class"&&r.attributes.hasOwnProperty(n)&&s.setAttribute(n,r.attributes[n]);return s},mathmlBuilder:(r,e)=>x0(r.body,e)});$({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"htmlmathml",mode:t.mode,html:xe(e[0]),mathml:xe(e[1])}},htmlBuilder:(r,e)=>{var t=we(r.html,e,!1);return M.makeFragment(t)},mathmlBuilder:(r,e)=>x0(r.mathml,e)});var Wt=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new E("Invalid size: '"+e+"' in \\includegraphics");var a={number:+(t[1]+t[2]),unit:t[3]};if(!_a(a))throw new E("Invalid unit: '"+a.unit+"' in \\includegraphics.");return a};$({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(r,e,t)=>{var{parser:a}=r,s={number:0,unit:"em"},n={number:.9,unit:"em"},l={number:0,unit:"em"},c="";if(t[0])for(var d=ae(t[0],"raw").string,p=d.split(","),f=0;f<p.length;f++){var x=p[f].split("=");if(x.length===2){var y=x[1].trim();switch(x[0].trim()){case"alt":c=y;break;case"width":s=Wt(y);break;case"height":n=Wt(y);break;case"totalheight":l=Wt(y);break;default:throw new E("Invalid key: '"+x[0]+"' in \\includegraphics.")}}}var b=ae(e[0],"url").url;return c===""&&(c=b,c=c.replace(/^.*[\\/]/,""),c=c.substring(0,c.lastIndexOf("."))),a.settings.isTrusted({command:"\\includegraphics",url:b})?{type:"includegraphics",mode:a.mode,alt:c,width:s,height:n,totalheight:l,src:b}:a.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(r,e)=>{var t=fe(r.height,e),a=0;r.totalheight.number>0&&(a=fe(r.totalheight,e)-t);var s=0;r.width.number>0&&(s=fe(r.width,e));var n={height:P(t+a)};s>0&&(n.width=P(s)),a>0&&(n.verticalAlign=P(-a));var l=new zi(r.src,r.alt,n);return l.height=t,l.depth=a,l},mathmlBuilder:(r,e)=>{var t=new I.MathNode("mglyph",[]);t.setAttribute("alt",r.alt);var a=fe(r.height,e),s=0;if(r.totalheight.number>0&&(s=fe(r.totalheight,e)-a,t.setAttribute("valign",P(-s))),t.setAttribute("height",P(a+s)),r.width.number>0){var n=fe(r.width,e);t.setAttribute("width",P(n))}return t.setAttribute("src",r.src),t}});$({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,s=ae(e[0],"size");if(t.settings.strict){var n=a[1]==="m",l=s.value.unit==="mu";n?(l||t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, "+("not "+s.value.unit+" units")),t.mode!=="math"&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):l&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:t.mode,dimension:s.value}},htmlBuilder(r,e){return M.makeGlue(r.dimension,e)},mathmlBuilder(r,e){var t=fe(r.dimension,e);return new I.SpaceNode(t)}});$({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0];return{type:"lap",mode:t.mode,alignment:a.slice(5),body:s}},htmlBuilder:(r,e)=>{var t;r.alignment==="clap"?(t=M.makeSpan([],[ne(r.body,e)]),t=M.makeSpan(["inner"],[t],e)):t=M.makeSpan(["inner"],[ne(r.body,e)]);var a=M.makeSpan(["fix"],[]),s=M.makeSpan([r.alignment],[t,a],e),n=M.makeSpan(["strut"]);return n.style.height=P(s.height+s.depth),s.depth&&(n.style.verticalAlign=P(-s.depth)),s.children.unshift(n),s=M.makeSpan(["thinbox"],[s],e),M.makeSpan(["mord","vbox"],[s],e)},mathmlBuilder:(r,e)=>{var t=new I.MathNode("mpadded",[ce(r.body,e)]);if(r.alignment!=="rlap"){var a=r.alignment==="llap"?"-1":"-0.5";t.setAttribute("lspace",a+"width")}return t.setAttribute("width","0px"),t}});$({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){var{funcName:t,parser:a}=r,s=a.mode;a.switchMode("math");var n=t==="\\("?"\\)":"$",l=a.parseExpression(!1,n);return a.expect(n),a.switchMode(s),{type:"styling",mode:a.mode,style:"text",body:l}}});$({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){throw new E("Mismatched "+r.funcName)}});var pa=(r,e)=>{switch(e.style.size){case Z.DISPLAY.size:return r.display;case Z.TEXT.size:return r.text;case Z.SCRIPT.size:return r.script;case Z.SCRIPTSCRIPT.size:return r.scriptscript;default:return r.text}};$({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"mathchoice",mode:t.mode,display:xe(e[0]),text:xe(e[1]),script:xe(e[2]),scriptscript:xe(e[3])}},htmlBuilder:(r,e)=>{var t=pa(r,e),a=we(t,e,!1);return M.makeFragment(a)},mathmlBuilder:(r,e)=>{var t=pa(r,e);return x0(t,e)}});var Es=(r,e,t,a,s,n,l)=>{r=M.makeSpan([],[r]);var c=t&&ie.isCharacterBox(t),d,p;if(e){var f=ne(e,a.havingStyle(s.sup()),a);p={elem:f,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-f.depth)}}if(t){var x=ne(t,a.havingStyle(s.sub()),a);d={elem:x,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-x.height)}}var y;if(p&&d){var b=a.fontMetrics().bigOpSpacing5+d.elem.height+d.elem.depth+d.kern+r.depth+l;y=M.makeVList({positionType:"bottom",positionData:b,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:d.elem,marginLeft:P(-n)},{type:"kern",size:d.kern},{type:"elem",elem:r},{type:"kern",size:p.kern},{type:"elem",elem:p.elem,marginLeft:P(n)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else if(d){var S=r.height-l;y=M.makeVList({positionType:"top",positionData:S,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:d.elem,marginLeft:P(-n)},{type:"kern",size:d.kern},{type:"elem",elem:r}]},a)}else if(p){var k=r.depth+l;y=M.makeVList({positionType:"bottom",positionData:k,children:[{type:"elem",elem:r},{type:"kern",size:p.kern},{type:"elem",elem:p.elem,marginLeft:P(n)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else return r;var C=[y];if(d&&n!==0&&!c){var B=M.makeSpan(["mspace"],[],a);B.style.marginRight=P(n),C.unshift(B)}return M.makeSpan(["mop","op-limits"],C,a)},qs=["\\smallint"],I0=(r,e)=>{var t,a,s=!1,n;r.type==="supsub"?(t=r.sup,a=r.sub,n=ae(r.base,"op"),s=!0):n=ae(r,"op");var l=e.style,c=!1;l.size===Z.DISPLAY.size&&n.symbol&&!qs.includes(n.name)&&(c=!0);var d;if(n.symbol){var p=c?"Size2-Regular":"Size1-Regular",f="";if((n.name==="\\oiint"||n.name==="\\oiiint")&&(f=n.name.slice(1),n.name=f==="oiint"?"\\iint":"\\iiint"),d=M.makeSymbol(n.name,p,"math",e,["mop","op-symbol",c?"large-op":"small-op"]),f.length>0){var x=d.italic,y=M.staticSvg(f+"Size"+(c?"2":"1"),e);d=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:d,shift:0},{type:"elem",elem:y,shift:c?.08:0}]},e),n.name="\\"+f,d.classes.unshift("mop"),d.italic=x}}else if(n.body){var b=we(n.body,e,!0);b.length===1&&b[0]instanceof Ge?(d=b[0],d.classes[0]="mop"):d=M.makeSpan(["mop"],b,e)}else{for(var S=[],k=1;k<n.name.length;k++)S.push(M.mathsym(n.name[k],n.mode,e));d=M.makeSpan(["mop"],S,e)}var C=0,B=0;return(d instanceof Ge||n.name==="\\oiint"||n.name==="\\oiiint")&&!n.suppressBaseShift&&(C=(d.height-d.depth)/2-e.fontMetrics().axisHeight,B=d.italic),s?Es(d,t,a,e,l,B,C):(C&&(d.style.position="relative",d.style.top=P(C)),d)},Y0=(r,e)=>{var t;if(r.symbol)t=new Pe("mo",[Ue(r.name,r.mode)]),qs.includes(r.name)&&t.setAttribute("largeop","false");else if(r.body)t=new Pe("mo",qe(r.body,e));else{t=new Pe("mi",[new Ze(r.name.slice(1))]);var a=new Pe("mo",[Ue("","text")]);r.parentIsSupSub?t=new Pe("mrow",[t,a]):t=cs([t,a])}return t},Al={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};$({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=a;return s.length===1&&(s=Al[s]),{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:s}},htmlBuilder:I0,mathmlBuilder:Y0});$({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:xe(a)}},htmlBuilder:I0,mathmlBuilder:Y0});var jl={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};$({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:I0,mathmlBuilder:Y0});$({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:I0,mathmlBuilder:Y0});$({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(r){var{parser:e,funcName:t}=r,a=t;return a.length===1&&(a=jl[a]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:I0,mathmlBuilder:Y0});var Rs=(r,e)=>{var t,a,s=!1,n;r.type==="supsub"?(t=r.sup,a=r.sub,n=ae(r.base,"operatorname"),s=!0):n=ae(r,"operatorname");var l;if(n.body.length>0){for(var c=n.body.map(x=>{var y=x.text;return typeof y=="string"?{type:"textord",mode:x.mode,text:y}:x}),d=we(c,e.withFont("mathrm"),!0),p=0;p<d.length;p++){var f=d[p];f instanceof Ge&&(f.text=f.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}l=M.makeSpan(["mop"],d,e)}else l=M.makeSpan(["mop"],[],e);return s?Es(l,t,a,e,e.style,0,0):l},Cl=(r,e)=>{for(var t=qe(r.body,e.withFont("mathrm")),a=!0,s=0;s<t.length;s++){var n=t[s];if(!(n instanceof I.SpaceNode))if(n instanceof I.MathNode)switch(n.type){case"mi":case"mn":case"ms":case"mspace":case"mtext":break;case"mo":{var l=n.children[0];n.children.length===1&&l instanceof I.TextNode?l.text=l.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):a=!1;break}default:a=!1}else a=!1}if(a){var c=t.map(f=>f.toText()).join("");t=[new I.TextNode(c)]}var d=new I.MathNode("mi",t);d.setAttribute("mathvariant","normal");var p=new I.MathNode("mo",[Ue("","text")]);return r.parentIsSupSub?new I.MathNode("mrow",[d,p]):I.newDocumentFragment([d,p])};$({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0];return{type:"operatorname",mode:t.mode,body:xe(s),alwaysHandleSupSub:a==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Rs,mathmlBuilder:Cl});m("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");N0({type:"ordgroup",htmlBuilder(r,e){return r.semisimple?M.makeFragment(we(r.body,e,!1)):M.makeSpan(["mord"],we(r.body,e,!0),e)},mathmlBuilder(r,e){return x0(r.body,e,!0)}});$({type:"overline",names:["\\overline"],props:{numArgs:1},handler(r,e){var{parser:t}=r,a=e[0];return{type:"overline",mode:t.mode,body:a}},htmlBuilder(r,e){var t=ne(r.body,e.havingCrampedStyle()),a=M.makeLineSpan("overline-line",e),s=e.fontMetrics().defaultRuleThickness,n=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t},{type:"kern",size:3*s},{type:"elem",elem:a},{type:"kern",size:s}]},e);return M.makeSpan(["mord","overline"],[n],e)},mathmlBuilder(r,e){var t=new I.MathNode("mo",[new I.TextNode("‾")]);t.setAttribute("stretchy","true");var a=new I.MathNode("mover",[ce(r.body,e),t]);return a.setAttribute("accent","true"),a}});$({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"phantom",mode:t.mode,body:xe(a)}},htmlBuilder:(r,e)=>{var t=we(r.body,e.withPhantom(),!1);return M.makeFragment(t)},mathmlBuilder:(r,e)=>{var t=qe(r.body,e);return new I.MathNode("mphantom",t)}});$({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"hphantom",mode:t.mode,body:a}},htmlBuilder:(r,e)=>{var t=M.makeSpan([],[ne(r.body,e.withPhantom())]);if(t.height=0,t.depth=0,t.children)for(var a=0;a<t.children.length;a++)t.children[a].height=0,t.children[a].depth=0;return t=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t}]},e),M.makeSpan(["mord"],[t],e)},mathmlBuilder:(r,e)=>{var t=qe(xe(r.body),e),a=new I.MathNode("mphantom",t),s=new I.MathNode("mpadded",[a]);return s.setAttribute("height","0px"),s.setAttribute("depth","0px"),s}});$({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"vphantom",mode:t.mode,body:a}},htmlBuilder:(r,e)=>{var t=M.makeSpan(["inner"],[ne(r.body,e.withPhantom())]),a=M.makeSpan(["fix"],[]);return M.makeSpan(["mord","rlap"],[t,a],e)},mathmlBuilder:(r,e)=>{var t=qe(xe(r.body),e),a=new I.MathNode("mphantom",t),s=new I.MathNode("mpadded",[a]);return s.setAttribute("width","0px"),s}});$({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r,a=ae(e[0],"size").value,s=e[1];return{type:"raisebox",mode:t.mode,dy:a,body:s}},htmlBuilder(r,e){var t=ne(r.body,e),a=fe(r.dy,e);return M.makeVList({positionType:"shift",positionData:-a,children:[{type:"elem",elem:t}]},e)},mathmlBuilder(r,e){var t=new I.MathNode("mpadded",[ce(r.body,e)]),a=r.dy.number+r.dy.unit;return t.setAttribute("voffset",a),t}});$({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(r){var{parser:e}=r;return{type:"internal",mode:e.mode}}});$({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(r,e,t){var{parser:a}=r,s=t[0],n=ae(e[0],"size"),l=ae(e[1],"size");return{type:"rule",mode:a.mode,shift:s&&ae(s,"size").value,width:n.value,height:l.value}},htmlBuilder(r,e){var t=M.makeSpan(["mord","rule"],[],e),a=fe(r.width,e),s=fe(r.height,e),n=r.shift?fe(r.shift,e):0;return t.style.borderRightWidth=P(a),t.style.borderTopWidth=P(s),t.style.bottom=P(n),t.width=a,t.height=s+n,t.depth=-n,t.maxFontSize=s*1.125*e.sizeMultiplier,t},mathmlBuilder(r,e){var t=fe(r.width,e),a=fe(r.height,e),s=r.shift?fe(r.shift,e):0,n=e.color&&e.getColor()||"black",l=new I.MathNode("mspace");l.setAttribute("mathbackground",n),l.setAttribute("width",P(t)),l.setAttribute("height",P(a));var c=new I.MathNode("mpadded",[l]);return s>=0?c.setAttribute("height",P(s)):(c.setAttribute("height",P(s)),c.setAttribute("depth",P(-s))),c.setAttribute("voffset",P(s)),c}});function Ps(r,e,t){for(var a=we(r,e,!1),s=e.sizeMultiplier/t.sizeMultiplier,n=0;n<a.length;n++){var l=a[n].classes.indexOf("sizing");l<0?Array.prototype.push.apply(a[n].classes,e.sizingClasses(t)):a[n].classes[l+1]==="reset-size"+e.size&&(a[n].classes[l+1]="reset-size"+t.size),a[n].height*=s,a[n].depth*=s}return M.makeFragment(a)}var fa=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],Dl=(r,e)=>{var t=e.havingSize(r.size);return Ps(r.body,t,e)};$({type:"sizing",names:fa,props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{breakOnTokenText:t,funcName:a,parser:s}=r,n=s.parseExpression(!1,t);return{type:"sizing",mode:s.mode,size:fa.indexOf(a)+1,body:n}},htmlBuilder:Dl,mathmlBuilder:(r,e)=>{var t=e.havingSize(r.size),a=qe(r.body,t),s=new I.MathNode("mstyle",a);return s.setAttribute("mathsize",P(t.sizeMultiplier)),s}});$({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(r,e,t)=>{var{parser:a}=r,s=!1,n=!1,l=t[0]&&ae(t[0],"ordgroup");if(l)for(var c="",d=0;d<l.body.length;++d){var p=l.body[d];if(c=p.text,c==="t")s=!0;else if(c==="b")n=!0;else{s=!1,n=!1;break}}else s=!0,n=!0;var f=e[0];return{type:"smash",mode:a.mode,body:f,smashHeight:s,smashDepth:n}},htmlBuilder:(r,e)=>{var t=M.makeSpan([],[ne(r.body,e)]);if(!r.smashHeight&&!r.smashDepth)return t;if(r.smashHeight&&(t.height=0,t.children))for(var a=0;a<t.children.length;a++)t.children[a].height=0;if(r.smashDepth&&(t.depth=0,t.children))for(var s=0;s<t.children.length;s++)t.children[s].depth=0;var n=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t}]},e);return M.makeSpan(["mord"],[n],e)},mathmlBuilder:(r,e)=>{var t=new I.MathNode("mpadded",[ce(r.body,e)]);return r.smashHeight&&t.setAttribute("height","0px"),r.smashDepth&&t.setAttribute("depth","0px"),t}});$({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:a}=r,s=t[0],n=e[0];return{type:"sqrt",mode:a.mode,body:n,index:s}},htmlBuilder(r,e){var t=ne(r.body,e.havingCrampedStyle());t.height===0&&(t.height=e.fontMetrics().xHeight),t=M.wrapFragment(t,e);var a=e.fontMetrics(),s=a.defaultRuleThickness,n=s;e.style.id<Z.TEXT.id&&(n=e.fontMetrics().xHeight);var l=s+n/4,c=t.height+t.depth+l+s,{span:d,ruleWidth:p,advanceWidth:f}=s0.sqrtImage(c,e),x=d.height-p;x>t.height+t.depth+l&&(l=(l+x-t.height-t.depth)/2);var y=d.height-t.height-l-p;t.style.paddingLeft=P(f);var b=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t,wrapperClasses:["svg-align"]},{type:"kern",size:-(t.height+y)},{type:"elem",elem:d},{type:"kern",size:p}]},e);if(r.index){var S=e.havingStyle(Z.SCRIPTSCRIPT),k=ne(r.index,S,e),C=.6*(b.height-b.depth),B=M.makeVList({positionType:"shift",positionData:-C,children:[{type:"elem",elem:k}]},e),z=M.makeSpan(["root"],[B]);return M.makeSpan(["mord","sqrt"],[z,b],e)}else return M.makeSpan(["mord","sqrt"],[b],e)},mathmlBuilder(r,e){var{body:t,index:a}=r;return a?new I.MathNode("mroot",[ce(t,e),ce(a,e)]):new I.MathNode("msqrt",[ce(t,e)])}});var ga={display:Z.DISPLAY,text:Z.TEXT,script:Z.SCRIPT,scriptscript:Z.SCRIPTSCRIPT};$({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r,e){var{breakOnTokenText:t,funcName:a,parser:s}=r,n=s.parseExpression(!0,t),l=a.slice(1,a.length-5);return{type:"styling",mode:s.mode,style:l,body:n}},htmlBuilder(r,e){var t=ga[r.style],a=e.havingStyle(t).withFont("");return Ps(r.body,a,e)},mathmlBuilder(r,e){var t=ga[r.style],a=e.havingStyle(t),s=qe(r.body,a),n=new I.MathNode("mstyle",s),l={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},c=l[r.style];return n.setAttribute("scriptlevel",c[0]),n.setAttribute("displaystyle",c[1]),n}});var Bl=function(e,t){var a=e.base;if(a)if(a.type==="op"){var s=a.limits&&(t.style.size===Z.DISPLAY.size||a.alwaysHandleSupSub);return s?I0:null}else if(a.type==="operatorname"){var n=a.alwaysHandleSupSub&&(t.style.size===Z.DISPLAY.size||a.limits);return n?Rs:null}else{if(a.type==="accent")return ie.isCharacterBox(a.base)?kr:null;if(a.type==="horizBrace"){var l=!e.sub;return l===a.isOver?Is:null}else return null}else return null};N0({type:"supsub",htmlBuilder(r,e){var t=Bl(r,e);if(t)return t(r,e);var{base:a,sup:s,sub:n}=r,l=ne(a,e),c,d,p=e.fontMetrics(),f=0,x=0,y=a&&ie.isCharacterBox(a);if(s){var b=e.havingStyle(e.style.sup());c=ne(s,b,e),y||(f=l.height-b.fontMetrics().supDrop*b.sizeMultiplier/e.sizeMultiplier)}if(n){var S=e.havingStyle(e.style.sub());d=ne(n,S,e),y||(x=l.depth+S.fontMetrics().subDrop*S.sizeMultiplier/e.sizeMultiplier)}var k;e.style===Z.DISPLAY?k=p.sup1:e.style.cramped?k=p.sup3:k=p.sup2;var C=e.sizeMultiplier,B=P(.5/p.ptPerEm/C),z=null;if(d){var U=r.base&&r.base.type==="op"&&r.base.name&&(r.base.name==="\\oiint"||r.base.name==="\\oiiint");(l instanceof Ge||U)&&(z=P(-l.italic))}var R;if(c&&d){f=Math.max(f,k,c.depth+.25*p.xHeight),x=Math.max(x,p.sub2);var O=p.defaultRuleThickness,X=4*O;if(f-c.depth-(d.height-x)<X){x=X-(f-c.depth)+d.height;var F=.8*p.xHeight-(f-c.depth);F>0&&(f+=F,x-=F)}var q=[{type:"elem",elem:d,shift:x,marginRight:B,marginLeft:z},{type:"elem",elem:c,shift:-f,marginRight:B}];R=M.makeVList({positionType:"individualShift",children:q},e)}else if(d){x=Math.max(x,p.sub1,d.height-.8*p.xHeight);var N=[{type:"elem",elem:d,marginLeft:z,marginRight:B}];R=M.makeVList({positionType:"shift",positionData:x,children:N},e)}else if(c)f=Math.max(f,k,c.depth+.25*p.xHeight),R=M.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:c,marginRight:B}]},e);else throw new Error("supsub must have either sup or sub.");var j=nr(l,"right")||"mord";return M.makeSpan([j],[l,M.makeSpan(["msupsub"],[R])],e)},mathmlBuilder(r,e){var t=!1,a,s;r.base&&r.base.type==="horizBrace"&&(s=!!r.sup,s===r.base.isOver&&(t=!0,a=r.base.isOver)),r.base&&(r.base.type==="op"||r.base.type==="operatorname")&&(r.base.parentIsSupSub=!0);var n=[ce(r.base,e)];r.sub&&n.push(ce(r.sub,e)),r.sup&&n.push(ce(r.sup,e));var l;if(t)l=a?"mover":"munder";else if(r.sub)if(r.sup){var p=r.base;p&&p.type==="op"&&p.limits&&e.style===Z.DISPLAY||p&&p.type==="operatorname"&&p.alwaysHandleSupSub&&(e.style===Z.DISPLAY||p.limits)?l="munderover":l="msubsup"}else{var d=r.base;d&&d.type==="op"&&d.limits&&(e.style===Z.DISPLAY||d.alwaysHandleSupSub)||d&&d.type==="operatorname"&&d.alwaysHandleSupSub&&(d.limits||e.style===Z.DISPLAY)?l="munder":l="msub"}else{var c=r.base;c&&c.type==="op"&&c.limits&&(e.style===Z.DISPLAY||c.alwaysHandleSupSub)||c&&c.type==="operatorname"&&c.alwaysHandleSupSub&&(c.limits||e.style===Z.DISPLAY)?l="mover":l="msup"}return new I.MathNode(l,n)}});N0({type:"atom",htmlBuilder(r,e){return M.mathsym(r.text,r.mode,e,["m"+r.family])},mathmlBuilder(r,e){var t=new I.MathNode("mo",[Ue(r.text,r.mode)]);if(r.family==="bin"){var a=yr(r,e);a==="bold-italic"&&t.setAttribute("mathvariant",a)}else r.family==="punct"?t.setAttribute("separator","true"):(r.family==="open"||r.family==="close")&&t.setAttribute("stretchy","false");return t}});var Os={mi:"italic",mn:"normal",mtext:"normal"};N0({type:"mathord",htmlBuilder(r,e){return M.makeOrd(r,e,"mathord")},mathmlBuilder(r,e){var t=new I.MathNode("mi",[Ue(r.text,r.mode,e)]),a=yr(r,e)||"italic";return a!==Os[t.type]&&t.setAttribute("mathvariant",a),t}});N0({type:"textord",htmlBuilder(r,e){return M.makeOrd(r,e,"textord")},mathmlBuilder(r,e){var t=Ue(r.text,r.mode,e),a=yr(r,e)||"normal",s;return r.mode==="text"?s=new I.MathNode("mtext",[t]):/[0-9]/.test(r.text)?s=new I.MathNode("mn",[t]):r.text==="\\prime"?s=new I.MathNode("mo",[t]):s=new I.MathNode("mi",[t]),a!==Os[s.type]&&s.setAttribute("mathvariant",a),s}});var Xt={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Yt={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};N0({type:"spacing",htmlBuilder(r,e){if(Yt.hasOwnProperty(r.text)){var t=Yt[r.text].className||"";if(r.mode==="text"){var a=M.makeOrd(r,e,"textord");return a.classes.push(t),a}else return M.makeSpan(["mspace",t],[M.mathsym(r.text,r.mode,e)],e)}else{if(Xt.hasOwnProperty(r.text))return M.makeSpan(["mspace",Xt[r.text]],[],e);throw new E('Unknown type of space "'+r.text+'"')}},mathmlBuilder(r,e){var t;if(Yt.hasOwnProperty(r.text))t=new I.MathNode("mtext",[new I.TextNode(" ")]);else{if(Xt.hasOwnProperty(r.text))return new I.MathNode("mspace");throw new E('Unknown type of space "'+r.text+'"')}return t}});var va=()=>{var r=new I.MathNode("mtd",[]);return r.setAttribute("width","50%"),r};N0({type:"tag",mathmlBuilder(r,e){var t=new I.MathNode("mtable",[new I.MathNode("mtr",[va(),new I.MathNode("mtd",[x0(r.body,e)]),va(),new I.MathNode("mtd",[x0(r.tag,e)])])]);return t.setAttribute("width","100%"),t}});var xa={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},ba={"\\textbf":"textbf","\\textmd":"textmd"},Fl={"\\textit":"textit","\\textup":"textup"},ya=(r,e)=>{var t=r.font;if(t){if(xa[t])return e.withTextFontFamily(xa[t]);if(ba[t])return e.withTextFontWeight(ba[t]);if(t==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(Fl[t])};$({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,s=e[0];return{type:"text",mode:t.mode,body:xe(s),font:a}},htmlBuilder(r,e){var t=ya(r,e),a=we(r.body,t,!0);return M.makeSpan(["mord","text"],a,t)},mathmlBuilder(r,e){var t=ya(r,e);return x0(r.body,t)}});$({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"underline",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=ne(r.body,e),a=M.makeLineSpan("underline-line",e),s=e.fontMetrics().defaultRuleThickness,n=M.makeVList({positionType:"top",positionData:t.height,children:[{type:"kern",size:s},{type:"elem",elem:a},{type:"kern",size:3*s},{type:"elem",elem:t}]},e);return M.makeSpan(["mord","underline"],[n],e)},mathmlBuilder(r,e){var t=new I.MathNode("mo",[new I.TextNode("‾")]);t.setAttribute("stretchy","true");var a=new I.MathNode("munder",[ce(r.body,e),t]);return a.setAttribute("accentunder","true"),a}});$({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"vcenter",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=ne(r.body,e),a=e.fontMetrics().axisHeight,s=.5*(t.height-a-(t.depth+a));return M.makeVList({positionType:"shift",positionData:s,children:[{type:"elem",elem:t}]},e)},mathmlBuilder(r,e){return new I.MathNode("mpadded",[ce(r.body,e)],["vcenter"])}});$({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(r,e,t){throw new E("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(r,e){for(var t=wa(r),a=[],s=e.havingStyle(e.style.text()),n=0;n<t.length;n++){var l=t[n];l==="~"&&(l="\\textasciitilde"),a.push(M.makeSymbol(l,"Typewriter-Regular",r.mode,s,["mord","texttt"]))}return M.makeSpan(["mord","text"].concat(s.sizingClasses(e)),M.tryCombineChars(a),s)},mathmlBuilder(r,e){var t=new I.TextNode(wa(r)),a=new I.MathNode("mtext",[t]);return a.setAttribute("mathvariant","monospace"),a}});var wa=r=>r.body.replace(/ /g,r.star?"␣":" "),p0=os,Ls=`[ \r
|
|
259
|
+
-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class W0{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){var e=t=>t.toText();return this.children.map(e).join("")}}var Ke={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},_0={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Yr={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function ki(r,e){Ke[r]=e}function gr(r,e,t){if(!Ke[e])throw new Error("Font metrics not found for font: "+e+".");var a=r.charCodeAt(0),s=Ke[e][a];if(!s&&r[0]in Yr&&(a=Yr[r[0]].charCodeAt(0),s=Ke[e][a]),!s&&t==="text"&&Qa(a)&&(s=Ke[e][77]),s)return{depth:s[0],height:s[1],italic:s[2],skew:s[3],width:s[4]}}var Et={};function Si(r){var e;if(r>=5?e=0:r>=3?e=1:e=2,!Et[e]){var t=Et[e]={cssEmPerMu:_0.quad[e]/18};for(var a in _0)_0.hasOwnProperty(a)&&(t[a]=_0[a][e])}return Et[e]}var Mi=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Kr=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Zr=function(e,t){return t.size<2?e:Mi[e-1][t.size-1]};class t0{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t0.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=Kr[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var a in e)e.hasOwnProperty(a)&&(t[a]=e[a]);return new t0(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:Zr(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:Kr[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=Zr(t0.BASESIZE,e);return this.size===t&&this.textSize===t0.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==t0.BASESIZE?["sizing","reset-size"+this.size,"size"+t0.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=Si(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}t0.BASESIZE=6;var rr={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},Ni={ex:!0,em:!0,mu:!0},_a=function(e){return typeof e!="string"&&(e=e.unit),e in rr||e in Ni||e==="ex"},fe=function(e,t){var a;if(e.unit in rr)a=rr[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit==="mu")a=t.fontMetrics().cssEmPerMu;else{var s;if(t.style.isTight()?s=t.havingStyle(t.style.text()):s=t,e.unit==="ex")a=s.fontMetrics().xHeight;else if(e.unit==="em")a=s.fontMetrics().quad;else throw new E("Invalid unit: '"+e.unit+"'");s!==t&&(a*=s.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*a,t.maxSize)},P=function(e){return+e.toFixed(4)+"em"},v0=function(e){return e.filter(t=>t).join(" ")},es=function(e,t,a){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=a||{},t){t.style.isTight()&&this.classes.push("mtight");var s=t.getColor();s&&(this.style.color=s)}},ts=function(e){var t=document.createElement(e);t.className=v0(this.classes);for(var a in this.style)this.style.hasOwnProperty(a)&&(t.style[a]=this.style[a]);for(var s in this.attributes)this.attributes.hasOwnProperty(s)&&t.setAttribute(s,this.attributes[s]);for(var n=0;n<this.children.length;n++)t.appendChild(this.children[n].toNode());return t},Ti=/[\s"'>/=\x00-\x1f]/,rs=function(e){var t="<"+e;this.classes.length&&(t+=' class="'+ie.escape(v0(this.classes))+'"');var a="";for(var s in this.style)this.style.hasOwnProperty(s)&&(a+=ie.hyphenate(s)+":"+this.style[s]+";");a&&(t+=' style="'+ie.escape(a)+'"');for(var n in this.attributes)if(this.attributes.hasOwnProperty(n)){if(Ti.test(n))throw new E("Invalid attribute name '"+n+"'");t+=" "+n+'="'+ie.escape(this.attributes[n])+'"'}t+=">";for(var l=0;l<this.children.length;l++)t+=this.children[l].toMarkup();return t+="</"+e+">",t};class X0{constructor(e,t,a,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,es.call(this,e,a,s),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return ts.call(this,"span")}toMarkup(){return rs.call(this,"span")}}class vr{constructor(e,t,a,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,es.call(this,t,s),this.children=a||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return ts.call(this,"a")}toMarkup(){return rs.call(this,"a")}}class zi{constructor(e,t,a){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=a}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var t in this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){var e='<img src="'+ie.escape(this.src)+'"'+(' alt="'+ie.escape(this.alt)+'"'),t="";for(var a in this.style)this.style.hasOwnProperty(a)&&(t+=ie.hyphenate(a)+":"+this.style[a]+";");return t&&(e+=' style="'+ie.escape(t)+'"'),e+="'/>",e}}var Ai={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class Ge{constructor(e,t,a,s,n,l,c,d){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=a||0,this.italic=s||0,this.skew=n||0,this.width=l||0,this.classes=c||[],this.style=d||{},this.maxFontSize=0;var p=di(this.text.charCodeAt(0));p&&this.classes.push(p+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=Ai[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),t=null;this.italic>0&&(t=document.createElement("span"),t.style.marginRight=P(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=v0(this.classes));for(var a in this.style)this.style.hasOwnProperty(a)&&(t=t||document.createElement("span"),t.style[a]=this.style[a]);return t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="<span";this.classes.length&&(e=!0,t+=' class="',t+=ie.escape(v0(this.classes)),t+='"');var a="";this.italic>0&&(a+="margin-right:"+this.italic+"em;");for(var s in this.style)this.style.hasOwnProperty(s)&&(a+=ie.hyphenate(s)+":"+this.style[s]+";");a&&(e=!0,t+=' style="'+ie.escape(a)+'"');var n=ie.escape(this.text);return e?(t+=">",t+=n,t+="</span>",t):n}}class n0{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"svg");for(var a in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,a)&&t.setAttribute(a,this.attributes[a]);for(var s=0;s<this.children.length;s++)t.appendChild(this.children[s].toNode());return t}toMarkup(){var e='<svg xmlns="http://www.w3.org/2000/svg"';for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="'+ie.escape(this.attributes[t])+'"');e+=">";for(var a=0;a<this.children.length;a++)e+=this.children[a].toMarkup();return e+="</svg>",e}}class x0{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"path");return this.alternate?t.setAttribute("d",this.alternate):t.setAttribute("d",Xr[this.pathName]),t}toMarkup(){return this.alternate?'<path d="'+ie.escape(this.alternate)+'"/>':'<path d="'+ie.escape(Xr[this.pathName])+'"/>'}}class ar{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"line");for(var a in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,a)&&t.setAttribute(a,this.attributes[a]);return t}toMarkup(){var e="<line";for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="'+ie.escape(this.attributes[t])+'"');return e+="/>",e}}function Jr(r){if(r instanceof Ge)return r;throw new Error("Expected symbolNode but got "+String(r)+".")}function ji(r){if(r instanceof X0)return r;throw new Error("Expected span<HtmlDomNode> but got "+String(r)+".")}var Ci={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Di={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},de={math:{},text:{}};function i(r,e,t,a,s,n){de[r][s]={font:e,group:t,replace:a},n&&a&&(de[r][a]=de[r][s])}var o="math",D="text",h="main",g="ams",me="accent-token",G="bin",Be="close",F0="inner",K="mathord",ye="op-token",Le="open",wt="punct",v="rel",u0="spacing",w="textord";i(o,h,v,"≡","\\equiv",!0);i(o,h,v,"≺","\\prec",!0);i(o,h,v,"≻","\\succ",!0);i(o,h,v,"∼","\\sim",!0);i(o,h,v,"⊥","\\perp");i(o,h,v,"⪯","\\preceq",!0);i(o,h,v,"⪰","\\succeq",!0);i(o,h,v,"≃","\\simeq",!0);i(o,h,v,"∣","\\mid",!0);i(o,h,v,"≪","\\ll",!0);i(o,h,v,"≫","\\gg",!0);i(o,h,v,"≍","\\asymp",!0);i(o,h,v,"∥","\\parallel");i(o,h,v,"⋈","\\bowtie",!0);i(o,h,v,"⌣","\\smile",!0);i(o,h,v,"⊑","\\sqsubseteq",!0);i(o,h,v,"⊒","\\sqsupseteq",!0);i(o,h,v,"≐","\\doteq",!0);i(o,h,v,"⌢","\\frown",!0);i(o,h,v,"∋","\\ni",!0);i(o,h,v,"∝","\\propto",!0);i(o,h,v,"⊢","\\vdash",!0);i(o,h,v,"⊣","\\dashv",!0);i(o,h,v,"∋","\\owns");i(o,h,wt,".","\\ldotp");i(o,h,wt,"⋅","\\cdotp");i(o,h,w,"#","\\#");i(D,h,w,"#","\\#");i(o,h,w,"&","\\&");i(D,h,w,"&","\\&");i(o,h,w,"ℵ","\\aleph",!0);i(o,h,w,"∀","\\forall",!0);i(o,h,w,"ℏ","\\hbar",!0);i(o,h,w,"∃","\\exists",!0);i(o,h,w,"∇","\\nabla",!0);i(o,h,w,"♭","\\flat",!0);i(o,h,w,"ℓ","\\ell",!0);i(o,h,w,"♮","\\natural",!0);i(o,h,w,"♣","\\clubsuit",!0);i(o,h,w,"℘","\\wp",!0);i(o,h,w,"♯","\\sharp",!0);i(o,h,w,"♢","\\diamondsuit",!0);i(o,h,w,"ℜ","\\Re",!0);i(o,h,w,"♡","\\heartsuit",!0);i(o,h,w,"ℑ","\\Im",!0);i(o,h,w,"♠","\\spadesuit",!0);i(o,h,w,"§","\\S",!0);i(D,h,w,"§","\\S");i(o,h,w,"¶","\\P",!0);i(D,h,w,"¶","\\P");i(o,h,w,"†","\\dag");i(D,h,w,"†","\\dag");i(D,h,w,"†","\\textdagger");i(o,h,w,"‡","\\ddag");i(D,h,w,"‡","\\ddag");i(D,h,w,"‡","\\textdaggerdbl");i(o,h,Be,"⎱","\\rmoustache",!0);i(o,h,Le,"⎰","\\lmoustache",!0);i(o,h,Be,"⟯","\\rgroup",!0);i(o,h,Le,"⟮","\\lgroup",!0);i(o,h,G,"∓","\\mp",!0);i(o,h,G,"⊖","\\ominus",!0);i(o,h,G,"⊎","\\uplus",!0);i(o,h,G,"⊓","\\sqcap",!0);i(o,h,G,"∗","\\ast");i(o,h,G,"⊔","\\sqcup",!0);i(o,h,G,"◯","\\bigcirc",!0);i(o,h,G,"∙","\\bullet",!0);i(o,h,G,"‡","\\ddagger");i(o,h,G,"≀","\\wr",!0);i(o,h,G,"⨿","\\amalg");i(o,h,G,"&","\\And");i(o,h,v,"⟵","\\longleftarrow",!0);i(o,h,v,"⇐","\\Leftarrow",!0);i(o,h,v,"⟸","\\Longleftarrow",!0);i(o,h,v,"⟶","\\longrightarrow",!0);i(o,h,v,"⇒","\\Rightarrow",!0);i(o,h,v,"⟹","\\Longrightarrow",!0);i(o,h,v,"↔","\\leftrightarrow",!0);i(o,h,v,"⟷","\\longleftrightarrow",!0);i(o,h,v,"⇔","\\Leftrightarrow",!0);i(o,h,v,"⟺","\\Longleftrightarrow",!0);i(o,h,v,"↦","\\mapsto",!0);i(o,h,v,"⟼","\\longmapsto",!0);i(o,h,v,"↗","\\nearrow",!0);i(o,h,v,"↩","\\hookleftarrow",!0);i(o,h,v,"↪","\\hookrightarrow",!0);i(o,h,v,"↘","\\searrow",!0);i(o,h,v,"↼","\\leftharpoonup",!0);i(o,h,v,"⇀","\\rightharpoonup",!0);i(o,h,v,"↙","\\swarrow",!0);i(o,h,v,"↽","\\leftharpoondown",!0);i(o,h,v,"⇁","\\rightharpoondown",!0);i(o,h,v,"↖","\\nwarrow",!0);i(o,h,v,"⇌","\\rightleftharpoons",!0);i(o,g,v,"≮","\\nless",!0);i(o,g,v,"","\\@nleqslant");i(o,g,v,"","\\@nleqq");i(o,g,v,"⪇","\\lneq",!0);i(o,g,v,"≨","\\lneqq",!0);i(o,g,v,"","\\@lvertneqq");i(o,g,v,"⋦","\\lnsim",!0);i(o,g,v,"⪉","\\lnapprox",!0);i(o,g,v,"⊀","\\nprec",!0);i(o,g,v,"⋠","\\npreceq",!0);i(o,g,v,"⋨","\\precnsim",!0);i(o,g,v,"⪹","\\precnapprox",!0);i(o,g,v,"≁","\\nsim",!0);i(o,g,v,"","\\@nshortmid");i(o,g,v,"∤","\\nmid",!0);i(o,g,v,"⊬","\\nvdash",!0);i(o,g,v,"⊭","\\nvDash",!0);i(o,g,v,"⋪","\\ntriangleleft");i(o,g,v,"⋬","\\ntrianglelefteq",!0);i(o,g,v,"⊊","\\subsetneq",!0);i(o,g,v,"","\\@varsubsetneq");i(o,g,v,"⫋","\\subsetneqq",!0);i(o,g,v,"","\\@varsubsetneqq");i(o,g,v,"≯","\\ngtr",!0);i(o,g,v,"","\\@ngeqslant");i(o,g,v,"","\\@ngeqq");i(o,g,v,"⪈","\\gneq",!0);i(o,g,v,"≩","\\gneqq",!0);i(o,g,v,"","\\@gvertneqq");i(o,g,v,"⋧","\\gnsim",!0);i(o,g,v,"⪊","\\gnapprox",!0);i(o,g,v,"⊁","\\nsucc",!0);i(o,g,v,"⋡","\\nsucceq",!0);i(o,g,v,"⋩","\\succnsim",!0);i(o,g,v,"⪺","\\succnapprox",!0);i(o,g,v,"≆","\\ncong",!0);i(o,g,v,"","\\@nshortparallel");i(o,g,v,"∦","\\nparallel",!0);i(o,g,v,"⊯","\\nVDash",!0);i(o,g,v,"⋫","\\ntriangleright");i(o,g,v,"⋭","\\ntrianglerighteq",!0);i(o,g,v,"","\\@nsupseteqq");i(o,g,v,"⊋","\\supsetneq",!0);i(o,g,v,"","\\@varsupsetneq");i(o,g,v,"⫌","\\supsetneqq",!0);i(o,g,v,"","\\@varsupsetneqq");i(o,g,v,"⊮","\\nVdash",!0);i(o,g,v,"⪵","\\precneqq",!0);i(o,g,v,"⪶","\\succneqq",!0);i(o,g,v,"","\\@nsubseteqq");i(o,g,G,"⊴","\\unlhd");i(o,g,G,"⊵","\\unrhd");i(o,g,v,"↚","\\nleftarrow",!0);i(o,g,v,"↛","\\nrightarrow",!0);i(o,g,v,"⇍","\\nLeftarrow",!0);i(o,g,v,"⇏","\\nRightarrow",!0);i(o,g,v,"↮","\\nleftrightarrow",!0);i(o,g,v,"⇎","\\nLeftrightarrow",!0);i(o,g,v,"△","\\vartriangle");i(o,g,w,"ℏ","\\hslash");i(o,g,w,"▽","\\triangledown");i(o,g,w,"◊","\\lozenge");i(o,g,w,"Ⓢ","\\circledS");i(o,g,w,"®","\\circledR");i(D,g,w,"®","\\circledR");i(o,g,w,"∡","\\measuredangle",!0);i(o,g,w,"∄","\\nexists");i(o,g,w,"℧","\\mho");i(o,g,w,"Ⅎ","\\Finv",!0);i(o,g,w,"⅁","\\Game",!0);i(o,g,w,"‵","\\backprime");i(o,g,w,"▲","\\blacktriangle");i(o,g,w,"▼","\\blacktriangledown");i(o,g,w,"■","\\blacksquare");i(o,g,w,"⧫","\\blacklozenge");i(o,g,w,"★","\\bigstar");i(o,g,w,"∢","\\sphericalangle",!0);i(o,g,w,"∁","\\complement",!0);i(o,g,w,"ð","\\eth",!0);i(D,h,w,"ð","ð");i(o,g,w,"╱","\\diagup");i(o,g,w,"╲","\\diagdown");i(o,g,w,"□","\\square");i(o,g,w,"□","\\Box");i(o,g,w,"◊","\\Diamond");i(o,g,w,"¥","\\yen",!0);i(D,g,w,"¥","\\yen",!0);i(o,g,w,"✓","\\checkmark",!0);i(D,g,w,"✓","\\checkmark");i(o,g,w,"ℶ","\\beth",!0);i(o,g,w,"ℸ","\\daleth",!0);i(o,g,w,"ℷ","\\gimel",!0);i(o,g,w,"ϝ","\\digamma",!0);i(o,g,w,"ϰ","\\varkappa");i(o,g,Le,"┌","\\@ulcorner",!0);i(o,g,Be,"┐","\\@urcorner",!0);i(o,g,Le,"└","\\@llcorner",!0);i(o,g,Be,"┘","\\@lrcorner",!0);i(o,g,v,"≦","\\leqq",!0);i(o,g,v,"⩽","\\leqslant",!0);i(o,g,v,"⪕","\\eqslantless",!0);i(o,g,v,"≲","\\lesssim",!0);i(o,g,v,"⪅","\\lessapprox",!0);i(o,g,v,"≊","\\approxeq",!0);i(o,g,G,"⋖","\\lessdot");i(o,g,v,"⋘","\\lll",!0);i(o,g,v,"≶","\\lessgtr",!0);i(o,g,v,"⋚","\\lesseqgtr",!0);i(o,g,v,"⪋","\\lesseqqgtr",!0);i(o,g,v,"≑","\\doteqdot");i(o,g,v,"≓","\\risingdotseq",!0);i(o,g,v,"≒","\\fallingdotseq",!0);i(o,g,v,"∽","\\backsim",!0);i(o,g,v,"⋍","\\backsimeq",!0);i(o,g,v,"⫅","\\subseteqq",!0);i(o,g,v,"⋐","\\Subset",!0);i(o,g,v,"⊏","\\sqsubset",!0);i(o,g,v,"≼","\\preccurlyeq",!0);i(o,g,v,"⋞","\\curlyeqprec",!0);i(o,g,v,"≾","\\precsim",!0);i(o,g,v,"⪷","\\precapprox",!0);i(o,g,v,"⊲","\\vartriangleleft");i(o,g,v,"⊴","\\trianglelefteq");i(o,g,v,"⊨","\\vDash",!0);i(o,g,v,"⊪","\\Vvdash",!0);i(o,g,v,"⌣","\\smallsmile");i(o,g,v,"⌢","\\smallfrown");i(o,g,v,"≏","\\bumpeq",!0);i(o,g,v,"≎","\\Bumpeq",!0);i(o,g,v,"≧","\\geqq",!0);i(o,g,v,"⩾","\\geqslant",!0);i(o,g,v,"⪖","\\eqslantgtr",!0);i(o,g,v,"≳","\\gtrsim",!0);i(o,g,v,"⪆","\\gtrapprox",!0);i(o,g,G,"⋗","\\gtrdot");i(o,g,v,"⋙","\\ggg",!0);i(o,g,v,"≷","\\gtrless",!0);i(o,g,v,"⋛","\\gtreqless",!0);i(o,g,v,"⪌","\\gtreqqless",!0);i(o,g,v,"≖","\\eqcirc",!0);i(o,g,v,"≗","\\circeq",!0);i(o,g,v,"≜","\\triangleq",!0);i(o,g,v,"∼","\\thicksim");i(o,g,v,"≈","\\thickapprox");i(o,g,v,"⫆","\\supseteqq",!0);i(o,g,v,"⋑","\\Supset",!0);i(o,g,v,"⊐","\\sqsupset",!0);i(o,g,v,"≽","\\succcurlyeq",!0);i(o,g,v,"⋟","\\curlyeqsucc",!0);i(o,g,v,"≿","\\succsim",!0);i(o,g,v,"⪸","\\succapprox",!0);i(o,g,v,"⊳","\\vartriangleright");i(o,g,v,"⊵","\\trianglerighteq");i(o,g,v,"⊩","\\Vdash",!0);i(o,g,v,"∣","\\shortmid");i(o,g,v,"∥","\\shortparallel");i(o,g,v,"≬","\\between",!0);i(o,g,v,"⋔","\\pitchfork",!0);i(o,g,v,"∝","\\varpropto");i(o,g,v,"◀","\\blacktriangleleft");i(o,g,v,"∴","\\therefore",!0);i(o,g,v,"∍","\\backepsilon");i(o,g,v,"▶","\\blacktriangleright");i(o,g,v,"∵","\\because",!0);i(o,g,v,"⋘","\\llless");i(o,g,v,"⋙","\\gggtr");i(o,g,G,"⊲","\\lhd");i(o,g,G,"⊳","\\rhd");i(o,g,v,"≂","\\eqsim",!0);i(o,h,v,"⋈","\\Join");i(o,g,v,"≑","\\Doteq",!0);i(o,g,G,"∔","\\dotplus",!0);i(o,g,G,"∖","\\smallsetminus");i(o,g,G,"⋒","\\Cap",!0);i(o,g,G,"⋓","\\Cup",!0);i(o,g,G,"⩞","\\doublebarwedge",!0);i(o,g,G,"⊟","\\boxminus",!0);i(o,g,G,"⊞","\\boxplus",!0);i(o,g,G,"⋇","\\divideontimes",!0);i(o,g,G,"⋉","\\ltimes",!0);i(o,g,G,"⋊","\\rtimes",!0);i(o,g,G,"⋋","\\leftthreetimes",!0);i(o,g,G,"⋌","\\rightthreetimes",!0);i(o,g,G,"⋏","\\curlywedge",!0);i(o,g,G,"⋎","\\curlyvee",!0);i(o,g,G,"⊝","\\circleddash",!0);i(o,g,G,"⊛","\\circledast",!0);i(o,g,G,"⋅","\\centerdot");i(o,g,G,"⊺","\\intercal",!0);i(o,g,G,"⋒","\\doublecap");i(o,g,G,"⋓","\\doublecup");i(o,g,G,"⊠","\\boxtimes",!0);i(o,g,v,"⇢","\\dashrightarrow",!0);i(o,g,v,"⇠","\\dashleftarrow",!0);i(o,g,v,"⇇","\\leftleftarrows",!0);i(o,g,v,"⇆","\\leftrightarrows",!0);i(o,g,v,"⇚","\\Lleftarrow",!0);i(o,g,v,"↞","\\twoheadleftarrow",!0);i(o,g,v,"↢","\\leftarrowtail",!0);i(o,g,v,"↫","\\looparrowleft",!0);i(o,g,v,"⇋","\\leftrightharpoons",!0);i(o,g,v,"↶","\\curvearrowleft",!0);i(o,g,v,"↺","\\circlearrowleft",!0);i(o,g,v,"↰","\\Lsh",!0);i(o,g,v,"⇈","\\upuparrows",!0);i(o,g,v,"↿","\\upharpoonleft",!0);i(o,g,v,"⇃","\\downharpoonleft",!0);i(o,h,v,"⊶","\\origof",!0);i(o,h,v,"⊷","\\imageof",!0);i(o,g,v,"⊸","\\multimap",!0);i(o,g,v,"↭","\\leftrightsquigarrow",!0);i(o,g,v,"⇉","\\rightrightarrows",!0);i(o,g,v,"⇄","\\rightleftarrows",!0);i(o,g,v,"↠","\\twoheadrightarrow",!0);i(o,g,v,"↣","\\rightarrowtail",!0);i(o,g,v,"↬","\\looparrowright",!0);i(o,g,v,"↷","\\curvearrowright",!0);i(o,g,v,"↻","\\circlearrowright",!0);i(o,g,v,"↱","\\Rsh",!0);i(o,g,v,"⇊","\\downdownarrows",!0);i(o,g,v,"↾","\\upharpoonright",!0);i(o,g,v,"⇂","\\downharpoonright",!0);i(o,g,v,"⇝","\\rightsquigarrow",!0);i(o,g,v,"⇝","\\leadsto");i(o,g,v,"⇛","\\Rrightarrow",!0);i(o,g,v,"↾","\\restriction");i(o,h,w,"‘","`");i(o,h,w,"$","\\$");i(D,h,w,"$","\\$");i(D,h,w,"$","\\textdollar");i(o,h,w,"%","\\%");i(D,h,w,"%","\\%");i(o,h,w,"_","\\_");i(D,h,w,"_","\\_");i(D,h,w,"_","\\textunderscore");i(o,h,w,"∠","\\angle",!0);i(o,h,w,"∞","\\infty",!0);i(o,h,w,"′","\\prime");i(o,h,w,"△","\\triangle");i(o,h,w,"Γ","\\Gamma",!0);i(o,h,w,"Δ","\\Delta",!0);i(o,h,w,"Θ","\\Theta",!0);i(o,h,w,"Λ","\\Lambda",!0);i(o,h,w,"Ξ","\\Xi",!0);i(o,h,w,"Π","\\Pi",!0);i(o,h,w,"Σ","\\Sigma",!0);i(o,h,w,"Υ","\\Upsilon",!0);i(o,h,w,"Φ","\\Phi",!0);i(o,h,w,"Ψ","\\Psi",!0);i(o,h,w,"Ω","\\Omega",!0);i(o,h,w,"A","Α");i(o,h,w,"B","Β");i(o,h,w,"E","Ε");i(o,h,w,"Z","Ζ");i(o,h,w,"H","Η");i(o,h,w,"I","Ι");i(o,h,w,"K","Κ");i(o,h,w,"M","Μ");i(o,h,w,"N","Ν");i(o,h,w,"O","Ο");i(o,h,w,"P","Ρ");i(o,h,w,"T","Τ");i(o,h,w,"X","Χ");i(o,h,w,"¬","\\neg",!0);i(o,h,w,"¬","\\lnot");i(o,h,w,"⊤","\\top");i(o,h,w,"⊥","\\bot");i(o,h,w,"∅","\\emptyset");i(o,g,w,"∅","\\varnothing");i(o,h,K,"α","\\alpha",!0);i(o,h,K,"β","\\beta",!0);i(o,h,K,"γ","\\gamma",!0);i(o,h,K,"δ","\\delta",!0);i(o,h,K,"ϵ","\\epsilon",!0);i(o,h,K,"ζ","\\zeta",!0);i(o,h,K,"η","\\eta",!0);i(o,h,K,"θ","\\theta",!0);i(o,h,K,"ι","\\iota",!0);i(o,h,K,"κ","\\kappa",!0);i(o,h,K,"λ","\\lambda",!0);i(o,h,K,"μ","\\mu",!0);i(o,h,K,"ν","\\nu",!0);i(o,h,K,"ξ","\\xi",!0);i(o,h,K,"ο","\\omicron",!0);i(o,h,K,"π","\\pi",!0);i(o,h,K,"ρ","\\rho",!0);i(o,h,K,"σ","\\sigma",!0);i(o,h,K,"τ","\\tau",!0);i(o,h,K,"υ","\\upsilon",!0);i(o,h,K,"ϕ","\\phi",!0);i(o,h,K,"χ","\\chi",!0);i(o,h,K,"ψ","\\psi",!0);i(o,h,K,"ω","\\omega",!0);i(o,h,K,"ε","\\varepsilon",!0);i(o,h,K,"ϑ","\\vartheta",!0);i(o,h,K,"ϖ","\\varpi",!0);i(o,h,K,"ϱ","\\varrho",!0);i(o,h,K,"ς","\\varsigma",!0);i(o,h,K,"φ","\\varphi",!0);i(o,h,G,"∗","*",!0);i(o,h,G,"+","+");i(o,h,G,"−","-",!0);i(o,h,G,"⋅","\\cdot",!0);i(o,h,G,"∘","\\circ",!0);i(o,h,G,"÷","\\div",!0);i(o,h,G,"±","\\pm",!0);i(o,h,G,"×","\\times",!0);i(o,h,G,"∩","\\cap",!0);i(o,h,G,"∪","\\cup",!0);i(o,h,G,"∖","\\setminus",!0);i(o,h,G,"∧","\\land");i(o,h,G,"∨","\\lor");i(o,h,G,"∧","\\wedge",!0);i(o,h,G,"∨","\\vee",!0);i(o,h,w,"√","\\surd");i(o,h,Le,"⟨","\\langle",!0);i(o,h,Le,"∣","\\lvert");i(o,h,Le,"∥","\\lVert");i(o,h,Be,"?","?");i(o,h,Be,"!","!");i(o,h,Be,"⟩","\\rangle",!0);i(o,h,Be,"∣","\\rvert");i(o,h,Be,"∥","\\rVert");i(o,h,v,"=","=");i(o,h,v,":",":");i(o,h,v,"≈","\\approx",!0);i(o,h,v,"≅","\\cong",!0);i(o,h,v,"≥","\\ge");i(o,h,v,"≥","\\geq",!0);i(o,h,v,"←","\\gets");i(o,h,v,">","\\gt",!0);i(o,h,v,"∈","\\in",!0);i(o,h,v,"","\\@not");i(o,h,v,"⊂","\\subset",!0);i(o,h,v,"⊃","\\supset",!0);i(o,h,v,"⊆","\\subseteq",!0);i(o,h,v,"⊇","\\supseteq",!0);i(o,g,v,"⊈","\\nsubseteq",!0);i(o,g,v,"⊉","\\nsupseteq",!0);i(o,h,v,"⊨","\\models");i(o,h,v,"←","\\leftarrow",!0);i(o,h,v,"≤","\\le");i(o,h,v,"≤","\\leq",!0);i(o,h,v,"<","\\lt",!0);i(o,h,v,"→","\\rightarrow",!0);i(o,h,v,"→","\\to");i(o,g,v,"≱","\\ngeq",!0);i(o,g,v,"≰","\\nleq",!0);i(o,h,u0," ","\\ ");i(o,h,u0," ","\\space");i(o,h,u0," ","\\nobreakspace");i(D,h,u0," ","\\ ");i(D,h,u0," "," ");i(D,h,u0," ","\\space");i(D,h,u0," ","\\nobreakspace");i(o,h,u0,null,"\\nobreak");i(o,h,u0,null,"\\allowbreak");i(o,h,wt,",",",");i(o,h,wt,";",";");i(o,g,G,"⊼","\\barwedge",!0);i(o,g,G,"⊻","\\veebar",!0);i(o,h,G,"⊙","\\odot",!0);i(o,h,G,"⊕","\\oplus",!0);i(o,h,G,"⊗","\\otimes",!0);i(o,h,w,"∂","\\partial",!0);i(o,h,G,"⊘","\\oslash",!0);i(o,g,G,"⊚","\\circledcirc",!0);i(o,g,G,"⊡","\\boxdot",!0);i(o,h,G,"△","\\bigtriangleup");i(o,h,G,"▽","\\bigtriangledown");i(o,h,G,"†","\\dagger");i(o,h,G,"⋄","\\diamond");i(o,h,G,"⋆","\\star");i(o,h,G,"◃","\\triangleleft");i(o,h,G,"▹","\\triangleright");i(o,h,Le,"{","\\{");i(D,h,w,"{","\\{");i(D,h,w,"{","\\textbraceleft");i(o,h,Be,"}","\\}");i(D,h,w,"}","\\}");i(D,h,w,"}","\\textbraceright");i(o,h,Le,"{","\\lbrace");i(o,h,Be,"}","\\rbrace");i(o,h,Le,"[","\\lbrack",!0);i(D,h,w,"[","\\lbrack",!0);i(o,h,Be,"]","\\rbrack",!0);i(D,h,w,"]","\\rbrack",!0);i(o,h,Le,"(","\\lparen",!0);i(o,h,Be,")","\\rparen",!0);i(D,h,w,"<","\\textless",!0);i(D,h,w,">","\\textgreater",!0);i(o,h,Le,"⌊","\\lfloor",!0);i(o,h,Be,"⌋","\\rfloor",!0);i(o,h,Le,"⌈","\\lceil",!0);i(o,h,Be,"⌉","\\rceil",!0);i(o,h,w,"\\","\\backslash");i(o,h,w,"∣","|");i(o,h,w,"∣","\\vert");i(D,h,w,"|","\\textbar",!0);i(o,h,w,"∥","\\|");i(o,h,w,"∥","\\Vert");i(D,h,w,"∥","\\textbardbl");i(D,h,w,"~","\\textasciitilde");i(D,h,w,"\\","\\textbackslash");i(D,h,w,"^","\\textasciicircum");i(o,h,v,"↑","\\uparrow",!0);i(o,h,v,"⇑","\\Uparrow",!0);i(o,h,v,"↓","\\downarrow",!0);i(o,h,v,"⇓","\\Downarrow",!0);i(o,h,v,"↕","\\updownarrow",!0);i(o,h,v,"⇕","\\Updownarrow",!0);i(o,h,ye,"∐","\\coprod");i(o,h,ye,"⋁","\\bigvee");i(o,h,ye,"⋀","\\bigwedge");i(o,h,ye,"⨄","\\biguplus");i(o,h,ye,"⋂","\\bigcap");i(o,h,ye,"⋃","\\bigcup");i(o,h,ye,"∫","\\int");i(o,h,ye,"∫","\\intop");i(o,h,ye,"∬","\\iint");i(o,h,ye,"∭","\\iiint");i(o,h,ye,"∏","\\prod");i(o,h,ye,"∑","\\sum");i(o,h,ye,"⨂","\\bigotimes");i(o,h,ye,"⨁","\\bigoplus");i(o,h,ye,"⨀","\\bigodot");i(o,h,ye,"∮","\\oint");i(o,h,ye,"∯","\\oiint");i(o,h,ye,"∰","\\oiiint");i(o,h,ye,"⨆","\\bigsqcup");i(o,h,ye,"∫","\\smallint");i(D,h,F0,"…","\\textellipsis");i(o,h,F0,"…","\\mathellipsis");i(D,h,F0,"…","\\ldots",!0);i(o,h,F0,"…","\\ldots",!0);i(o,h,F0,"⋯","\\@cdots",!0);i(o,h,F0,"⋱","\\ddots",!0);i(o,h,w,"⋮","\\varvdots");i(D,h,w,"⋮","\\varvdots");i(o,h,me,"ˊ","\\acute");i(o,h,me,"ˋ","\\grave");i(o,h,me,"¨","\\ddot");i(o,h,me,"~","\\tilde");i(o,h,me,"ˉ","\\bar");i(o,h,me,"˘","\\breve");i(o,h,me,"ˇ","\\check");i(o,h,me,"^","\\hat");i(o,h,me,"⃗","\\vec");i(o,h,me,"˙","\\dot");i(o,h,me,"˚","\\mathring");i(o,h,K,"","\\@imath");i(o,h,K,"","\\@jmath");i(o,h,w,"ı","ı");i(o,h,w,"ȷ","ȷ");i(D,h,w,"ı","\\i",!0);i(D,h,w,"ȷ","\\j",!0);i(D,h,w,"ß","\\ss",!0);i(D,h,w,"æ","\\ae",!0);i(D,h,w,"œ","\\oe",!0);i(D,h,w,"ø","\\o",!0);i(D,h,w,"Æ","\\AE",!0);i(D,h,w,"Œ","\\OE",!0);i(D,h,w,"Ø","\\O",!0);i(D,h,me,"ˊ","\\'");i(D,h,me,"ˋ","\\`");i(D,h,me,"ˆ","\\^");i(D,h,me,"˜","\\~");i(D,h,me,"ˉ","\\=");i(D,h,me,"˘","\\u");i(D,h,me,"˙","\\.");i(D,h,me,"¸","\\c");i(D,h,me,"˚","\\r");i(D,h,me,"ˇ","\\v");i(D,h,me,"¨",'\\"');i(D,h,me,"˝","\\H");i(D,h,me,"◯","\\textcircled");var as={"--":!0,"---":!0,"``":!0,"''":!0};i(D,h,w,"–","--",!0);i(D,h,w,"–","\\textendash");i(D,h,w,"—","---",!0);i(D,h,w,"—","\\textemdash");i(D,h,w,"‘","`",!0);i(D,h,w,"‘","\\textquoteleft");i(D,h,w,"’","'",!0);i(D,h,w,"’","\\textquoteright");i(D,h,w,"“","``",!0);i(D,h,w,"“","\\textquotedblleft");i(D,h,w,"”","''",!0);i(D,h,w,"”","\\textquotedblright");i(o,h,w,"°","\\degree",!0);i(D,h,w,"°","\\degree");i(D,h,w,"°","\\textdegree",!0);i(o,h,w,"£","\\pounds");i(o,h,w,"£","\\mathsterling",!0);i(D,h,w,"£","\\pounds");i(D,h,w,"£","\\textsterling",!0);i(o,g,w,"✠","\\maltese");i(D,g,w,"✠","\\maltese");var Qr='0123456789/@."';for(var qt=0;qt<Qr.length;qt++){var _r=Qr.charAt(qt);i(o,h,w,_r,_r)}var ea='0123456789!@*()-=+";:?/.,';for(var Rt=0;Rt<ea.length;Rt++){var ta=ea.charAt(Rt);i(D,h,w,ta,ta)}var ft="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(var Pt=0;Pt<ft.length;Pt++){var et=ft.charAt(Pt);i(o,h,K,et,et),i(D,h,w,et,et)}i(o,g,w,"C","ℂ");i(D,g,w,"C","ℂ");i(o,g,w,"H","ℍ");i(D,g,w,"H","ℍ");i(o,g,w,"N","ℕ");i(D,g,w,"N","ℕ");i(o,g,w,"P","ℙ");i(D,g,w,"P","ℙ");i(o,g,w,"Q","ℚ");i(D,g,w,"Q","ℚ");i(o,g,w,"R","ℝ");i(D,g,w,"R","ℝ");i(o,g,w,"Z","ℤ");i(D,g,w,"Z","ℤ");i(o,h,K,"h","ℎ");i(D,h,K,"h","ℎ");var J="";for(var Ce=0;Ce<ft.length;Ce++){var ve=ft.charAt(Ce);J=String.fromCharCode(55349,56320+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56372+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56424+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56580+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56684+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56736+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56788+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56840+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56944+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),Ce<26&&(J=String.fromCharCode(55349,56632+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J),J=String.fromCharCode(55349,56476+Ce),i(o,h,K,ve,J),i(D,h,w,ve,J))}J="𝕜";i(o,h,K,"k",J);i(D,h,w,"k",J);for(var k0=0;k0<10;k0++){var p0=k0.toString();J=String.fromCharCode(55349,57294+k0),i(o,h,K,p0,J),i(D,h,w,p0,J),J=String.fromCharCode(55349,57314+k0),i(o,h,K,p0,J),i(D,h,w,p0,J),J=String.fromCharCode(55349,57324+k0),i(o,h,K,p0,J),i(D,h,w,p0,J),J=String.fromCharCode(55349,57334+k0),i(o,h,K,p0,J),i(D,h,w,p0,J)}var sr="ÐÞþ";for(var Ot=0;Ot<sr.length;Ot++){var tt=sr.charAt(Ot);i(o,h,K,tt,tt),i(D,h,w,tt,tt)}var rt=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],ra=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],Bi=function(e,t){var a=e.charCodeAt(0),s=e.charCodeAt(1),n=(a-55296)*1024+(s-56320)+65536,l=t==="math"?0:1;if(119808<=n&&n<120484){var c=Math.floor((n-119808)/26);return[rt[c][2],rt[c][l]]}else if(120782<=n&&n<=120831){var d=Math.floor((n-120782)/10);return[ra[d][2],ra[d][l]]}else{if(n===120485||n===120486)return[rt[0][2],rt[0][l]];if(120486<n&&n<120782)return["",""];throw new E("Unsupported character: "+e)}},kt=function(e,t,a){return de[a][e]&&de[a][e].replace&&(e=de[a][e].replace),{value:e,metrics:gr(e,t,a)}},We=function(e,t,a,s,n){var l=kt(e,t,a),c=l.metrics;e=l.value;var d;if(c){var p=c.italic;(a==="text"||s&&s.font==="mathit")&&(p=0),d=new Ge(e,c.height,c.depth,p,c.skew,c.width,n)}else typeof console<"u"&&console.warn("No character metrics "+("for '"+e+"' in style '"+t+"' and mode '"+a+"'")),d=new Ge(e,0,0,0,0,0,n);if(s){d.maxFontSize=s.sizeMultiplier,s.style.isTight()&&d.classes.push("mtight");var f=s.getColor();f&&(d.style.color=f)}return d},Fi=function(e,t,a,s){return s===void 0&&(s=[]),a.font==="boldsymbol"&&kt(e,"Main-Bold",t).metrics?We(e,"Main-Bold",t,a,s.concat(["mathbf"])):e==="\\"||de[t][e].font==="main"?We(e,"Main-Regular",t,a,s):We(e,"AMS-Regular",t,a,s.concat(["amsrm"]))},Ii=function(e,t,a,s,n){return n!=="textord"&&kt(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}},Ei=function(e,t,a){var s=e.mode,n=e.text,l=["mord"],c=s==="math"||s==="text"&&t.font,d=c?t.font:t.fontFamily,p="",f="";if(n.charCodeAt(0)===55349&&([p,f]=Bi(n,s)),p.length>0)return We(n,p,s,t,l.concat(f));if(d){var x,y;if(d==="boldsymbol"){var b=Ii(n,s,t,l,a);x=b.fontName,y=[b.fontClass]}else c?(x=is[d].fontName,y=[d]):(x=at(d,t.fontWeight,t.fontShape),y=[d,t.fontWeight,t.fontShape]);if(kt(n,x,s).metrics)return We(n,x,s,t,l.concat(y));if(as.hasOwnProperty(n)&&x.slice(0,10)==="Typewriter"){for(var S=[],k=0;k<n.length;k++)S.push(We(n[k],x,s,t,l.concat(y)));return ns(S)}}if(a==="mathord")return We(n,"Math-Italic",s,t,l.concat(["mathnormal"]));if(a==="textord"){var C=de[s][n]&&de[s][n].font;if(C==="ams"){var B=at("amsrm",t.fontWeight,t.fontShape);return We(n,B,s,t,l.concat("amsrm",t.fontWeight,t.fontShape))}else if(C==="main"||!C){var z=at("textrm",t.fontWeight,t.fontShape);return We(n,z,s,t,l.concat(t.fontWeight,t.fontShape))}else{var U=at(C,t.fontWeight,t.fontShape);return We(n,U,s,t,l.concat(U,t.fontWeight,t.fontShape))}}else throw new Error("unexpected type: "+a+" in makeOrd")},qi=(r,e)=>{if(v0(r.classes)!==v0(e.classes)||r.skew!==e.skew||r.maxFontSize!==e.maxFontSize)return!1;if(r.classes.length===1){var t=r.classes[0];if(t==="mbin"||t==="mord")return!1}for(var a in r.style)if(r.style.hasOwnProperty(a)&&r.style[a]!==e.style[a])return!1;for(var s in e.style)if(e.style.hasOwnProperty(s)&&r.style[s]!==e.style[s])return!1;return!0},Ri=r=>{for(var e=0;e<r.length-1;e++){var t=r[e],a=r[e+1];t instanceof Ge&&a instanceof Ge&&qi(t,a)&&(t.text+=a.text,t.height=Math.max(t.height,a.height),t.depth=Math.max(t.depth,a.depth),t.italic=a.italic,r.splice(e+1,1),e--)}return r},xr=function(e){for(var t=0,a=0,s=0,n=0;n<e.children.length;n++){var l=e.children[n];l.height>t&&(t=l.height),l.depth>a&&(a=l.depth),l.maxFontSize>s&&(s=l.maxFontSize)}e.height=t,e.depth=a,e.maxFontSize=s},Ie=function(e,t,a,s){var n=new X0(e,t,a,s);return xr(n),n},ss=(r,e,t,a)=>new X0(r,e,t,a),Pi=function(e,t,a){var s=Ie([e],[],t);return s.height=Math.max(a||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),s.style.borderBottomWidth=P(s.height),s.maxFontSize=1,s},Oi=function(e,t,a,s){var n=new vr(e,t,a,s);return xr(n),n},ns=function(e){var t=new W0(e);return xr(t),t},Li=function(e,t){return e instanceof W0?Ie([],[e],t):e},Hi=function(e){if(e.positionType==="individualShift"){for(var t=e.children,a=[t[0]],s=-t[0].shift-t[0].elem.depth,n=s,l=1;l<t.length;l++){var c=-t[l].shift-n-t[l].elem.depth,d=c-(t[l-1].elem.height+t[l-1].elem.depth);n=n+c,a.push({type:"kern",size:d}),a.push(t[l])}return{children:a,depth:s}}var p;if(e.positionType==="top"){for(var f=e.positionData,x=0;x<e.children.length;x++){var y=e.children[x];f-=y.type==="kern"?y.size:y.elem.height+y.elem.depth}p=f}else if(e.positionType==="bottom")p=-e.positionData;else{var b=e.children[0];if(b.type!=="elem")throw new Error('First child must have type "elem".');if(e.positionType==="shift")p=-b.elem.depth-e.positionData;else if(e.positionType==="firstBaseline")p=-b.elem.depth;else throw new Error("Invalid positionType "+e.positionType+".")}return{children:e.children,depth:p}},$i=function(e,t){for(var{children:a,depth:s}=Hi(e),n=0,l=0;l<a.length;l++){var c=a[l];if(c.type==="elem"){var d=c.elem;n=Math.max(n,d.maxFontSize,d.height)}}n+=2;var p=Ie(["pstrut"],[]);p.style.height=P(n);for(var f=[],x=s,y=s,b=s,S=0;S<a.length;S++){var k=a[S];if(k.type==="kern")b+=k.size;else{var C=k.elem,B=k.wrapperClasses||[],z=k.wrapperStyle||{},U=Ie(B,[p,C],void 0,z);U.style.top=P(-n-b-C.depth),k.marginLeft&&(U.style.marginLeft=k.marginLeft),k.marginRight&&(U.style.marginRight=k.marginRight),f.push(U),b+=C.height+C.depth}x=Math.min(x,b),y=Math.max(y,b)}var R=Ie(["vlist"],f);R.style.height=P(y);var O;if(x<0){var X=Ie([],[]),F=Ie(["vlist"],[X]);F.style.height=P(-x);var q=Ie(["vlist-s"],[new Ge("")]);O=[Ie(["vlist-r"],[R,q]),Ie(["vlist-r"],[F])]}else O=[Ie(["vlist-r"],[R])];var N=Ie(["vlist-t"],O);return O.length===2&&N.classes.push("vlist-t2"),N.height=y,N.depth=-x,N},Gi=(r,e)=>{var t=Ie(["mspace"],[],e),a=fe(r,e);return t.style.marginRight=P(a),t},at=function(e,t,a){var s="";switch(e){case"amsrm":s="AMS";break;case"textrm":s="Main";break;case"textsf":s="SansSerif";break;case"texttt":s="Typewriter";break;default:s=e}var n;return t==="textbf"&&a==="textit"?n="BoldItalic":t==="textbf"?n="Bold":t==="textit"?n="Italic":n="Regular",s+"-"+n},is={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},ls={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Ui=function(e,t){var[a,s,n]=ls[e],l=new x0(a),c=new n0([l],{width:P(s),height:P(n),style:"width:"+P(s),viewBox:"0 0 "+1e3*s+" "+1e3*n,preserveAspectRatio:"xMinYMin"}),d=ss(["overlay"],[c],t);return d.height=n,d.style.height=P(n),d.style.width=P(s),d},M={fontMap:is,makeSymbol:We,mathsym:Fi,makeSpan:Ie,makeSvgSpan:ss,makeLineSpan:Pi,makeAnchor:Oi,makeFragment:ns,wrapFragment:Li,makeVList:$i,makeOrd:Ei,makeGlue:Gi,staticSvg:Ui,svgData:ls,tryCombineChars:Ri},pe={number:3,unit:"mu"},S0={number:4,unit:"mu"},e0={number:5,unit:"mu"},Vi={mord:{mop:pe,mbin:S0,mrel:e0,minner:pe},mop:{mord:pe,mop:pe,mrel:e0,minner:pe},mbin:{mord:S0,mop:S0,mopen:S0,minner:S0},mrel:{mord:e0,mop:e0,mopen:e0,minner:e0},mopen:{},mclose:{mop:pe,mbin:S0,mrel:e0,minner:pe},mpunct:{mord:pe,mop:pe,mrel:e0,mopen:pe,mclose:pe,mpunct:pe,minner:pe},minner:{mord:pe,mop:pe,mbin:S0,mrel:e0,mopen:pe,mpunct:pe,minner:pe}},Wi={mord:{mop:pe},mop:{mord:pe,mop:pe},mbin:{},mrel:{},mopen:{},mclose:{mop:pe},mpunct:{},minner:{mop:pe}},os={},gt={},vt={};function $(r){for(var{type:e,names:t,props:a,handler:s,htmlBuilder:n,mathmlBuilder:l}=r,c={type:e,numArgs:a.numArgs,argTypes:a.argTypes,allowedInArgument:!!a.allowedInArgument,allowedInText:!!a.allowedInText,allowedInMath:a.allowedInMath===void 0?!0:a.allowedInMath,numOptionalArgs:a.numOptionalArgs||0,infix:!!a.infix,primitive:!!a.primitive,handler:s},d=0;d<t.length;++d)os[t[d]]=c;e&&(n&&(gt[e]=n),l&&(vt[e]=l))}function N0(r){var{type:e,htmlBuilder:t,mathmlBuilder:a}=r;$({type:e,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},htmlBuilder:t,mathmlBuilder:a})}var xt=function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},xe=function(e){return e.type==="ordgroup"?e.body:[e]},i0=M.makeSpan,Xi=["leftmost","mbin","mopen","mrel","mop","mpunct"],Yi=["rightmost","mrel","mclose","mpunct"],Ki={display:Z.DISPLAY,text:Z.TEXT,script:Z.SCRIPT,scriptscript:Z.SCRIPTSCRIPT},Zi={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},we=function(e,t,a,s){s===void 0&&(s=[null,null]);for(var n=[],l=0;l<e.length;l++){var c=ne(e[l],t);if(c instanceof W0){var d=c.children;n.push(...d)}else n.push(c)}if(M.tryCombineChars(n),!a)return n;var p=t;if(e.length===1){var f=e[0];f.type==="sizing"?p=t.havingSize(f.size):f.type==="styling"&&(p=t.havingStyle(Ki[f.style]))}var x=i0([s[0]||"leftmost"],[],t),y=i0([s[1]||"rightmost"],[],t),b=a==="root";return aa(n,(S,k)=>{var C=k.classes[0],B=S.classes[0];C==="mbin"&&Yi.includes(B)?k.classes[0]="mord":B==="mbin"&&Xi.includes(C)&&(S.classes[0]="mord")},{node:x},y,b),aa(n,(S,k)=>{var C=nr(k),B=nr(S),z=C&&B?S.hasClass("mtight")?Wi[C][B]:Vi[C][B]:null;if(z)return M.makeGlue(z,p)},{node:x},y,b),n},aa=function r(e,t,a,s,n){s&&e.push(s);for(var l=0;l<e.length;l++){var c=e[l],d=us(c);if(d){r(d.children,t,a,null,n);continue}var p=!c.hasClass("mspace");if(p){var f=t(c,a.node);f&&(a.insertAfter?a.insertAfter(f):(e.unshift(f),l++))}p?a.node=c:n&&c.hasClass("newline")&&(a.node=i0(["leftmost"])),a.insertAfter=(x=>y=>{e.splice(x+1,0,y),l++})(l)}s&&e.pop()},us=function(e){return e instanceof W0||e instanceof vr||e instanceof X0&&e.hasClass("enclosing")?e:null},Ji=function r(e,t){var a=us(e);if(a){var s=a.children;if(s.length){if(t==="right")return r(s[s.length-1],"right");if(t==="left")return r(s[0],"left")}}return e},nr=function(e,t){return e?(t&&(e=Ji(e,t)),Zi[e.classes[0]]||null):null},V0=function(e,t){var a=["nulldelimiter"].concat(e.baseSizingClasses());return i0(t.concat(a))},ne=function(e,t,a){if(!e)return i0();if(gt[e.type]){var s=gt[e.type](e,t);if(a&&t.size!==a.size){s=i0(t.sizingClasses(a),[s],t);var n=t.sizeMultiplier/a.sizeMultiplier;s.height*=n,s.depth*=n}return s}else throw new E("Got group of unknown type: '"+e.type+"'")};function st(r,e){var t=i0(["base"],r,e),a=i0(["strut"]);return a.style.height=P(t.height+t.depth),t.depth&&(a.style.verticalAlign=P(-t.depth)),t.children.unshift(a),t}function ir(r,e){var t=null;r.length===1&&r[0].type==="tag"&&(t=r[0].tag,r=r[0].body);var a=we(r,e,"root"),s;a.length===2&&a[1].hasClass("tag")&&(s=a.pop());for(var n=[],l=[],c=0;c<a.length;c++)if(l.push(a[c]),a[c].hasClass("mbin")||a[c].hasClass("mrel")||a[c].hasClass("allowbreak")){for(var d=!1;c<a.length-1&&a[c+1].hasClass("mspace")&&!a[c+1].hasClass("newline");)c++,l.push(a[c]),a[c].hasClass("nobreak")&&(d=!0);d||(n.push(st(l,e)),l=[])}else a[c].hasClass("newline")&&(l.pop(),l.length>0&&(n.push(st(l,e)),l=[]),n.push(a[c]));l.length>0&&n.push(st(l,e));var p;t?(p=st(we(t,e,!0)),p.classes=["tag"],n.push(p)):s&&n.push(s);var f=i0(["katex-html"],n);if(f.setAttribute("aria-hidden","true"),p){var x=p.children[0];x.style.height=P(f.height+f.depth),f.depth&&(x.style.verticalAlign=P(-f.depth))}return f}function cs(r){return new W0(r)}class Pe{constructor(e,t,a){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=a||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=v0(this.classes));for(var a=0;a<this.children.length;a++)if(this.children[a]instanceof Ze&&this.children[a+1]instanceof Ze){for(var s=this.children[a].toText()+this.children[++a].toText();this.children[a+1]instanceof Ze;)s+=this.children[++a].toText();e.appendChild(new Ze(s).toNode())}else e.appendChild(this.children[a].toNode());return e}toMarkup(){var e="<"+this.type;for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="',e+=ie.escape(this.attributes[t]),e+='"');this.classes.length>0&&(e+=' class ="'+ie.escape(v0(this.classes))+'"'),e+=">";for(var a=0;a<this.children.length;a++)e+=this.children[a].toMarkup();return e+="</"+this.type+">",e}toText(){return this.children.map(e=>e.toText()).join("")}}class Ze{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return ie.escape(this.toText())}toText(){return this.text}}class Qi{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character=" ":e>=-.05556&&e<=-.05555?this.character=" ":e>=-.1667&&e<=-.1666?this.character=" ":e>=-.2223&&e<=-.2222?this.character=" ":e>=-.2778&&e<=-.2777?this.character=" ":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",P(this.width)),e}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+P(this.width)+'"/>'}toText(){return this.character?this.character:" "}}var I={MathNode:Pe,TextNode:Ze,SpaceNode:Qi,newDocumentFragment:cs},Ue=function(e,t,a){return de[t][e]&&de[t][e].replace&&e.charCodeAt(0)!==55349&&!(as.hasOwnProperty(e)&&a&&(a.fontFamily&&a.fontFamily.slice(4,6)==="tt"||a.font&&a.font.slice(4,6)==="tt"))&&(e=de[t][e].replace),new I.TextNode(e)},br=function(e){return e.length===1?e[0]:new I.MathNode("mrow",e)},yr=function(e,t){if(t.fontFamily==="texttt")return"monospace";if(t.fontFamily==="textsf")return t.fontShape==="textit"&&t.fontWeight==="textbf"?"sans-serif-bold-italic":t.fontShape==="textit"?"sans-serif-italic":t.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(t.fontShape==="textit"&&t.fontWeight==="textbf")return"bold-italic";if(t.fontShape==="textit")return"italic";if(t.fontWeight==="textbf")return"bold";var a=t.font;if(!a||a==="mathnormal")return null;var s=e.mode;if(a==="mathit")return"italic";if(a==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(a==="mathbf")return"bold";if(a==="mathbb")return"double-struck";if(a==="mathsfit")return"sans-serif-italic";if(a==="mathfrak")return"fraktur";if(a==="mathscr"||a==="mathcal")return"script";if(a==="mathsf")return"sans-serif";if(a==="mathtt")return"monospace";var n=e.text;if(["\\imath","\\jmath"].includes(n))return null;de[s][n]&&de[s][n].replace&&(n=de[s][n].replace);var l=M.fontMap[a].fontName;return gr(n,l,s)?M.fontMap[a].variant:null};function Lt(r){if(!r)return!1;if(r.type==="mi"&&r.children.length===1){var e=r.children[0];return e instanceof Ze&&e.text==="."}else if(r.type==="mo"&&r.children.length===1&&r.getAttribute("separator")==="true"&&r.getAttribute("lspace")==="0em"&&r.getAttribute("rspace")==="0em"){var t=r.children[0];return t instanceof Ze&&t.text===","}else return!1}var qe=function(e,t,a){if(e.length===1){var s=ce(e[0],t);return a&&s instanceof Pe&&s.type==="mo"&&(s.setAttribute("lspace","0em"),s.setAttribute("rspace","0em")),[s]}for(var n=[],l,c=0;c<e.length;c++){var d=ce(e[c],t);if(d instanceof Pe&&l instanceof Pe){if(d.type==="mtext"&&l.type==="mtext"&&d.getAttribute("mathvariant")===l.getAttribute("mathvariant")){l.children.push(...d.children);continue}else if(d.type==="mn"&&l.type==="mn"){l.children.push(...d.children);continue}else if(Lt(d)&&l.type==="mn"){l.children.push(...d.children);continue}else if(d.type==="mn"&&Lt(l))d.children=[...l.children,...d.children],n.pop();else if((d.type==="msup"||d.type==="msub")&&d.children.length>=1&&(l.type==="mn"||Lt(l))){var p=d.children[0];p instanceof Pe&&p.type==="mn"&&(p.children=[...l.children,...p.children],n.pop())}else if(l.type==="mi"&&l.children.length===1){var f=l.children[0];if(f instanceof Ze&&f.text==="̸"&&(d.type==="mo"||d.type==="mi"||d.type==="mn")){var x=d.children[0];x instanceof Ze&&x.text.length>0&&(x.text=x.text.slice(0,1)+"̸"+x.text.slice(1),n.pop())}}}n.push(d),l=d}return n},b0=function(e,t,a){return br(qe(e,t,a))},ce=function(e,t){if(!e)return new I.MathNode("mrow");if(vt[e.type]){var a=vt[e.type](e,t);return a}else throw new E("Got group of unknown type: '"+e.type+"'")};function sa(r,e,t,a,s){var n=qe(r,t),l;n.length===1&&n[0]instanceof Pe&&["mrow","mtable"].includes(n[0].type)?l=n[0]:l=new I.MathNode("mrow",n);var c=new I.MathNode("annotation",[new I.TextNode(e)]);c.setAttribute("encoding","application/x-tex");var d=new I.MathNode("semantics",[l,c]),p=new I.MathNode("math",[d]);p.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&p.setAttribute("display","block");var f=s?"katex":"katex-mathml";return M.makeSpan([f],[p])}var ds=function(e){return new t0({style:e.displayMode?Z.DISPLAY:Z.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},hs=function(e,t){if(t.displayMode){var a=["katex-display"];t.leqno&&a.push("leqno"),t.fleqn&&a.push("fleqn"),e=M.makeSpan(a,[e])}return e},_i=function(e,t,a){var s=ds(a),n;if(a.output==="mathml")return sa(e,t,s,a.displayMode,!0);if(a.output==="html"){var l=ir(e,s);n=M.makeSpan(["katex"],[l])}else{var c=sa(e,t,s,a.displayMode,!1),d=ir(e,s);n=M.makeSpan(["katex"],[c,d])}return hs(n,a)},el=function(e,t,a){var s=ds(a),n=ir(e,s),l=M.makeSpan(["katex"],[n]);return hs(l,a)},tl={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},rl=function(e){var t=new I.MathNode("mo",[new I.TextNode(tl[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},al={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},sl=function(e){return e.type==="ordgroup"?e.body.length:1},nl=function(e,t){function a(){var c=4e5,d=e.label.slice(1);if(["widehat","widecheck","widetilde","utilde"].includes(d)){var p=e,f=sl(p.base),x,y,b;if(f>5)d==="widehat"||d==="widecheck"?(x=420,c=2364,b=.42,y=d+"4"):(x=312,c=2340,b=.34,y="tilde4");else{var S=[1,1,2,2,3,3][f];d==="widehat"||d==="widecheck"?(c=[0,1062,2364,2364,2364][S],x=[0,239,300,360,420][S],b=[0,.24,.3,.3,.36,.42][S],y=d+S):(c=[0,600,1033,2339,2340][S],x=[0,260,286,306,312][S],b=[0,.26,.286,.3,.306,.34][S],y="tilde"+S)}var k=new x0(y),C=new n0([k],{width:"100%",height:P(b),viewBox:"0 0 "+c+" "+x,preserveAspectRatio:"none"});return{span:M.makeSvgSpan([],[C],t),minWidth:0,height:b}}else{var B=[],z=al[d],[U,R,O]=z,X=O/1e3,F=U.length,q,N;if(F===1){var j=z[3];q=["hide-tail"],N=[j]}else if(F===2)q=["halfarrow-left","halfarrow-right"],N=["xMinYMin","xMaxYMin"];else if(F===3)q=["brace-left","brace-center","brace-right"],N=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support
|
|
260
|
+
`+F+" children.");for(var L=0;L<F;L++){var H=new x0(U[L]),V=new n0([H],{width:"400em",height:P(X),viewBox:"0 0 "+c+" "+O,preserveAspectRatio:N[L]+" slice"}),Q=M.makeSvgSpan([q[L]],[V],t);if(F===1)return{span:Q,minWidth:R,height:X};Q.style.height=P(X),B.push(Q)}return{span:M.makeSpan(["stretchy"],B,t),minWidth:R,height:X}}}var{span:s,minWidth:n,height:l}=a();return s.height=l,s.style.height=P(l),n>0&&(s.style.minWidth=P(n)),s},il=function(e,t,a,s,n){var l,c=e.height+e.depth+a+s;if(/fbox|color|angl/.test(t)){if(l=M.makeSpan(["stretchy",t],[],n),t==="fbox"){var d=n.color&&n.getColor();d&&(l.style.borderColor=d)}}else{var p=[];/^[bx]cancel$/.test(t)&&p.push(new ar({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&p.push(new ar({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new n0(p,{width:"100%",height:P(c)});l=M.makeSvgSpan([],[f],n)}return l.height=c,l.style.height=P(c),l},l0={encloseSpan:il,mathMLnode:rl,svgSpan:nl};function ae(r,e){if(!r||r.type!==e)throw new Error("Expected node of type "+e+", but got "+(r?"node of type "+r.type:String(r)));return r}function wr(r){var e=St(r);if(!e)throw new Error("Expected node of symbol group type, but got "+(r?"node of type "+r.type:String(r)));return e}function St(r){return r&&(r.type==="atom"||Di.hasOwnProperty(r.type))?r:null}var kr=(r,e)=>{var t,a,s;r&&r.type==="supsub"?(a=ae(r.base,"accent"),t=a.base,r.base=t,s=ji(ne(r,e)),r.base=a):(a=ae(r,"accent"),t=a.base);var n=ne(t,e.havingCrampedStyle()),l=a.isShifty&&ie.isCharacterBox(t),c=0;if(l){var d=ie.getBaseElem(t),p=ne(d,e.havingCrampedStyle());c=Jr(p).skew}var f=a.label==="\\c",x=f?n.height+n.depth:Math.min(n.height,e.fontMetrics().xHeight),y;if(a.isStretchy)y=l0.svgSpan(a,e),y=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"elem",elem:y,wrapperClasses:["svg-align"],wrapperStyle:c>0?{width:"calc(100% - "+P(2*c)+")",marginLeft:P(2*c)}:void 0}]},e);else{var b,S;a.label==="\\vec"?(b=M.staticSvg("vec",e),S=M.svgData.vec[1]):(b=M.makeOrd({mode:a.mode,text:a.label},e,"textord"),b=Jr(b),b.italic=0,S=b.width,f&&(x+=b.depth)),y=M.makeSpan(["accent-body"],[b]);var k=a.label==="\\textcircled";k&&(y.classes.push("accent-full"),x=n.height);var C=c;k||(C-=S/2),y.style.left=P(C),a.label==="\\textcircled"&&(y.style.top=".2em"),y=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:-x},{type:"elem",elem:y}]},e)}var B=M.makeSpan(["mord","accent"],[y],e);return s?(s.children[0]=B,s.height=Math.max(B.height,s.height),s.classes[0]="mord",s):B},ms=(r,e)=>{var t=r.isStretchy?l0.mathMLnode(r.label):new I.MathNode("mo",[Ue(r.label,r.mode)]),a=new I.MathNode("mover",[ce(r.base,e),t]);return a.setAttribute("accent","true"),a},ll=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(r=>"\\"+r).join("|"));$({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(r,e)=>{var t=xt(e[0]),a=!ll.test(r.funcName),s=!a||r.funcName==="\\widehat"||r.funcName==="\\widetilde"||r.funcName==="\\widecheck";return{type:"accent",mode:r.parser.mode,label:r.funcName,isStretchy:a,isShifty:s,base:t}},htmlBuilder:kr,mathmlBuilder:ms});$({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(r,e)=>{var t=e[0],a=r.parser.mode;return a==="math"&&(r.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+r.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:r.funcName,isStretchy:!1,isShifty:!0,base:t}},htmlBuilder:kr,mathmlBuilder:ms});$({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0];return{type:"accentUnder",mode:t.mode,label:a,base:s}},htmlBuilder:(r,e)=>{var t=ne(r.base,e),a=l0.svgSpan(r,e),s=r.label==="\\utilde"?.12:0,n=M.makeVList({positionType:"top",positionData:t.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:s},{type:"elem",elem:t}]},e);return M.makeSpan(["mord","accentunder"],[n],e)},mathmlBuilder:(r,e)=>{var t=l0.mathMLnode(r.label),a=new I.MathNode("munder",[ce(r.base,e),t]);return a.setAttribute("accentunder","true"),a}});var nt=r=>{var e=new I.MathNode("mpadded",r?[r]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};$({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:a,funcName:s}=r;return{type:"xArrow",mode:a.mode,label:s,body:e[0],below:t[0]}},htmlBuilder(r,e){var t=e.style,a=e.havingStyle(t.sup()),s=M.wrapFragment(ne(r.body,a,e),e),n=r.label.slice(0,2)==="\\x"?"x":"cd";s.classes.push(n+"-arrow-pad");var l;r.below&&(a=e.havingStyle(t.sub()),l=M.wrapFragment(ne(r.below,a,e),e),l.classes.push(n+"-arrow-pad"));var c=l0.svgSpan(r,e),d=-e.fontMetrics().axisHeight+.5*c.height,p=-e.fontMetrics().axisHeight-.5*c.height-.111;(s.depth>.25||r.label==="\\xleftequilibrium")&&(p-=s.depth);var f;if(l){var x=-e.fontMetrics().axisHeight+l.height+.5*c.height+.111;f=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:p},{type:"elem",elem:c,shift:d},{type:"elem",elem:l,shift:x}]},e)}else f=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:p},{type:"elem",elem:c,shift:d}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),M.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(r,e){var t=l0.mathMLnode(r.label);t.setAttribute("minsize",r.label.charAt(0)==="x"?"1.75em":"3.0em");var a;if(r.body){var s=nt(ce(r.body,e));if(r.below){var n=nt(ce(r.below,e));a=new I.MathNode("munderover",[t,n,s])}else a=new I.MathNode("mover",[t,s])}else if(r.below){var l=nt(ce(r.below,e));a=new I.MathNode("munder",[t,l])}else a=nt(),a=new I.MathNode("mover",[t,a]);return a}});var ol=M.makeSpan;function ps(r,e){var t=we(r.body,e,!0);return ol([r.mclass],t,e)}function fs(r,e){var t,a=qe(r.body,e);return r.mclass==="minner"?t=new I.MathNode("mpadded",a):r.mclass==="mord"?r.isCharacterBox?(t=a[0],t.type="mi"):t=new I.MathNode("mi",a):(r.isCharacterBox?(t=a[0],t.type="mo"):t=new I.MathNode("mo",a),r.mclass==="mbin"?(t.attributes.lspace="0.22em",t.attributes.rspace="0.22em"):r.mclass==="mpunct"?(t.attributes.lspace="0em",t.attributes.rspace="0.17em"):r.mclass==="mopen"||r.mclass==="mclose"?(t.attributes.lspace="0em",t.attributes.rspace="0em"):r.mclass==="minner"&&(t.attributes.lspace="0.0556em",t.attributes.width="+0.1111em")),t}$({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(r,e){var{parser:t,funcName:a}=r,s=e[0];return{type:"mclass",mode:t.mode,mclass:"m"+a.slice(5),body:xe(s),isCharacterBox:ie.isCharacterBox(s)}},htmlBuilder:ps,mathmlBuilder:fs});var Mt=r=>{var e=r.type==="ordgroup"&&r.body.length?r.body[0]:r;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};$({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(r,e){var{parser:t}=r;return{type:"mclass",mode:t.mode,mclass:Mt(e[0]),body:xe(e[1]),isCharacterBox:ie.isCharacterBox(e[1])}}});$({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(r,e){var{parser:t,funcName:a}=r,s=e[1],n=e[0],l;a!=="\\stackrel"?l=Mt(s):l="mrel";var c={type:"op",mode:s.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:a!=="\\stackrel",body:xe(s)},d={type:"supsub",mode:n.mode,base:c,sup:a==="\\underset"?null:n,sub:a==="\\underset"?n:null};return{type:"mclass",mode:t.mode,mclass:l,body:[d],isCharacterBox:ie.isCharacterBox(d)}},htmlBuilder:ps,mathmlBuilder:fs});$({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"pmb",mode:t.mode,mclass:Mt(e[0]),body:xe(e[0])}},htmlBuilder(r,e){var t=we(r.body,e,!0),a=M.makeSpan([r.mclass],t,e);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(r,e){var t=qe(r.body,e),a=new I.MathNode("mstyle",t);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var ul={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},na=()=>({type:"styling",body:[],mode:"math",style:"display"}),ia=r=>r.type==="textord"&&r.text==="@",cl=(r,e)=>(r.type==="mathord"||r.type==="atom")&&r.text===e;function dl(r,e,t){var a=ul[r];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return t.callFunction(a,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var s=t.callFunction("\\\\cdleft",[e[0]],[]),n={type:"atom",text:a,mode:"math",family:"rel"},l=t.callFunction("\\Big",[n],[]),c=t.callFunction("\\\\cdright",[e[1]],[]),d={type:"ordgroup",mode:"math",body:[s,l,c]};return t.callFunction("\\\\cdparent",[d],[])}case"\\\\cdlongequal":return t.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var p={type:"textord",text:"\\Vert",mode:"math"};return t.callFunction("\\Big",[p],[])}default:return{type:"textord",text:" ",mode:"math"}}}function hl(r){var e=[];for(r.gullet.beginGroup(),r.gullet.macros.set("\\cr","\\\\\\relax"),r.gullet.beginGroup();;){e.push(r.parseExpression(!1,"\\\\")),r.gullet.endGroup(),r.gullet.beginGroup();var t=r.fetch().text;if(t==="&"||t==="\\\\")r.consume();else if(t==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new E("Expected \\\\ or \\cr or \\end",r.nextToken)}for(var a=[],s=[a],n=0;n<e.length;n++){for(var l=e[n],c=na(),d=0;d<l.length;d++)if(!ia(l[d]))c.body.push(l[d]);else{a.push(c),d+=1;var p=wr(l[d]).text,f=new Array(2);if(f[0]={type:"ordgroup",mode:"math",body:[]},f[1]={type:"ordgroup",mode:"math",body:[]},!("=|.".indexOf(p)>-1))if("<>AV".indexOf(p)>-1)for(var x=0;x<2;x++){for(var y=!0,b=d+1;b<l.length;b++){if(cl(l[b],p)){y=!1,d=b;break}if(ia(l[b]))throw new E("Missing a "+p+" character to complete a CD arrow.",l[b]);f[x].body.push(l[b])}if(y)throw new E("Missing a "+p+" character to complete a CD arrow.",l[d])}else throw new E('Expected one of "<>AV=|." after @',l[d]);var S=dl(p,f,r),k={type:"styling",body:[S],mode:"math",style:"display"};a.push(k),c=na()}n%2===0?a.push(c):a.shift(),a=[],s.push(a)}r.gullet.endGroup(),r.gullet.endGroup();var C=new Array(s[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:s,arraystretch:1,addJot:!0,rowGaps:[null],cols:C,colSeparationType:"CD",hLinesBeforeRow:new Array(s.length+1).fill([])}}$({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"cdlabel",mode:t.mode,side:a.slice(4),label:e[0]}},htmlBuilder(r,e){var t=e.havingStyle(e.style.sup()),a=M.wrapFragment(ne(r.label,t,e),e);return a.classes.push("cd-label-"+r.side),a.style.bottom=P(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(r,e){var t=new I.MathNode("mrow",[ce(r.label,e)]);return t=new I.MathNode("mpadded",[t]),t.setAttribute("width","0"),r.side==="left"&&t.setAttribute("lspace","-1width"),t.setAttribute("voffset","0.7em"),t=new I.MathNode("mstyle",[t]),t.setAttribute("displaystyle","false"),t.setAttribute("scriptlevel","1"),t}});$({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(r,e){var{parser:t}=r;return{type:"cdlabelparent",mode:t.mode,fragment:e[0]}},htmlBuilder(r,e){var t=M.wrapFragment(ne(r.fragment,e),e);return t.classes.push("cd-vert-arrow"),t},mathmlBuilder(r,e){return new I.MathNode("mrow",[ce(r.fragment,e)])}});$({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(r,e){for(var{parser:t}=r,a=ae(e[0],"ordgroup"),s=a.body,n="",l=0;l<s.length;l++){var c=ae(s[l],"textord");n+=c.text}var d=parseInt(n),p;if(isNaN(d))throw new E("\\@char has non-numeric argument "+n);if(d<0||d>=1114111)throw new E("\\@char with invalid code point "+n);return d<=65535?p=String.fromCharCode(d):(d-=65536,p=String.fromCharCode((d>>10)+55296,(d&1023)+56320)),{type:"textord",mode:t.mode,text:p}}});var gs=(r,e)=>{var t=we(r.body,e.withColor(r.color),!1);return M.makeFragment(t)},vs=(r,e)=>{var t=qe(r.body,e.withColor(r.color)),a=new I.MathNode("mstyle",t);return a.setAttribute("mathcolor",r.color),a};$({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(r,e){var{parser:t}=r,a=ae(e[0],"color-token").color,s=e[1];return{type:"color",mode:t.mode,color:a,body:xe(s)}},htmlBuilder:gs,mathmlBuilder:vs});$({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(r,e){var{parser:t,breakOnTokenText:a}=r,s=ae(e[0],"color-token").color;t.gullet.macros.set("\\current@color",s);var n=t.parseExpression(!0,a);return{type:"color",mode:t.mode,color:s,body:n}},htmlBuilder:gs,mathmlBuilder:vs});$({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(r,e,t){var{parser:a}=r,s=a.gullet.future().text==="["?a.parseSizeGroup(!0):null,n=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:n,size:s&&ae(s,"size").value}},htmlBuilder(r,e){var t=M.makeSpan(["mspace"],[],e);return r.newLine&&(t.classes.push("newline"),r.size&&(t.style.marginTop=P(fe(r.size,e)))),t},mathmlBuilder(r,e){var t=new I.MathNode("mspace");return r.newLine&&(t.setAttribute("linebreak","newline"),r.size&&t.setAttribute("height",P(fe(r.size,e)))),t}});var lr={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},xs=r=>{var e=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new E("Expected a control sequence",r);return e},ml=r=>{var e=r.gullet.popToken();return e.text==="="&&(e=r.gullet.popToken(),e.text===" "&&(e=r.gullet.popToken())),e},bs=(r,e,t,a)=>{var s=r.gullet.macros.get(t.text);s==null&&(t.noexpand=!0,s={tokens:[t],numArgs:0,unexpandable:!r.gullet.isExpandable(t.text)}),r.gullet.macros.set(e,s,a)};$({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(r){var{parser:e,funcName:t}=r;e.consumeSpaces();var a=e.fetch();if(lr[a.text])return(t==="\\global"||t==="\\\\globallong")&&(a.text=lr[a.text]),ae(e.parseFunction(),"internal");throw new E("Invalid token after macro prefix",a)}});$({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=e.gullet.popToken(),s=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new E("Expected a control sequence",a);for(var n=0,l,c=[[]];e.gullet.future().text!=="{";)if(a=e.gullet.popToken(),a.text==="#"){if(e.gullet.future().text==="{"){l=e.gullet.future(),c[n].push("{");break}if(a=e.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new E('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==n+1)throw new E('Argument number "'+a.text+'" out of order');n++,c.push([])}else{if(a.text==="EOF")throw new E("Expected a macro definition");c[n].push(a.text)}var{tokens:d}=e.gullet.consumeArg();return l&&d.unshift(l),(t==="\\edef"||t==="\\xdef")&&(d=e.gullet.expandTokens(d),d.reverse()),e.gullet.macros.set(s,{tokens:d,numArgs:n,delimiters:c},t===lr[t]),{type:"internal",mode:e.mode}}});$({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=xs(e.gullet.popToken());e.gullet.consumeSpaces();var s=ml(e);return bs(e,a,s,t==="\\\\globallet"),{type:"internal",mode:e.mode}}});$({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=xs(e.gullet.popToken()),s=e.gullet.popToken(),n=e.gullet.popToken();return bs(e,a,n,t==="\\\\globalfuture"),e.gullet.pushToken(n),e.gullet.pushToken(s),{type:"internal",mode:e.mode}}});var $0=function(e,t,a){var s=de.math[e]&&de.math[e].replace,n=gr(s||e,t,a);if(!n)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return n},Sr=function(e,t,a,s){var n=a.havingBaseStyle(t),l=M.makeSpan(s.concat(n.sizingClasses(a)),[e],a),c=n.sizeMultiplier/a.sizeMultiplier;return l.height*=c,l.depth*=c,l.maxFontSize=n.sizeMultiplier,l},ys=function(e,t,a){var s=t.havingBaseStyle(a),n=(1-t.sizeMultiplier/s.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=P(n),e.height-=n,e.depth+=n},pl=function(e,t,a,s,n,l){var c=M.makeSymbol(e,"Main-Regular",n,s),d=Sr(c,t,s,l);return a&&ys(d,s,t),d},fl=function(e,t,a,s){return M.makeSymbol(e,"Size"+t+"-Regular",a,s)},ws=function(e,t,a,s,n,l){var c=fl(e,t,n,s),d=Sr(M.makeSpan(["delimsizing","size"+t],[c],s),Z.TEXT,s,l);return a&&ys(d,s,Z.TEXT),d},Ht=function(e,t,a){var s;t==="Size1-Regular"?s="delim-size1":s="delim-size4";var n=M.makeSpan(["delimsizinginner",s],[M.makeSpan([],[M.makeSymbol(e,t,a)])]);return{type:"elem",elem:n}},$t=function(e,t,a){var s=Ke["Size4-Regular"][e.charCodeAt(0)]?Ke["Size4-Regular"][e.charCodeAt(0)][4]:Ke["Size1-Regular"][e.charCodeAt(0)][4],n=new x0("inner",yi(e,Math.round(1e3*t))),l=new n0([n],{width:P(s),height:P(t),style:"width:"+P(s),viewBox:"0 0 "+1e3*s+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),c=M.makeSvgSpan([],[l],a);return c.height=t,c.style.height=P(t),c.style.width=P(s),{type:"elem",elem:c}},or=.008,it={type:"kern",size:-1*or},gl=["|","\\lvert","\\rvert","\\vert"],vl=["\\|","\\lVert","\\rVert","\\Vert"],ks=function(e,t,a,s,n,l){var c,d,p,f,x="",y=0;c=p=f=e,d=null;var b="Size1-Regular";e==="\\uparrow"?p=f="⏐":e==="\\Uparrow"?p=f="‖":e==="\\downarrow"?c=p="⏐":e==="\\Downarrow"?c=p="‖":e==="\\updownarrow"?(c="\\uparrow",p="⏐",f="\\downarrow"):e==="\\Updownarrow"?(c="\\Uparrow",p="‖",f="\\Downarrow"):gl.includes(e)?(p="∣",x="vert",y=333):vl.includes(e)?(p="∥",x="doublevert",y=556):e==="["||e==="\\lbrack"?(c="⎡",p="⎢",f="⎣",b="Size4-Regular",x="lbrack",y=667):e==="]"||e==="\\rbrack"?(c="⎤",p="⎥",f="⎦",b="Size4-Regular",x="rbrack",y=667):e==="\\lfloor"||e==="⌊"?(p=c="⎢",f="⎣",b="Size4-Regular",x="lfloor",y=667):e==="\\lceil"||e==="⌈"?(c="⎡",p=f="⎢",b="Size4-Regular",x="lceil",y=667):e==="\\rfloor"||e==="⌋"?(p=c="⎥",f="⎦",b="Size4-Regular",x="rfloor",y=667):e==="\\rceil"||e==="⌉"?(c="⎤",p=f="⎥",b="Size4-Regular",x="rceil",y=667):e==="("||e==="\\lparen"?(c="⎛",p="⎜",f="⎝",b="Size4-Regular",x="lparen",y=875):e===")"||e==="\\rparen"?(c="⎞",p="⎟",f="⎠",b="Size4-Regular",x="rparen",y=875):e==="\\{"||e==="\\lbrace"?(c="⎧",d="⎨",f="⎩",p="⎪",b="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(c="⎫",d="⎬",f="⎭",p="⎪",b="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(c="⎧",f="⎩",p="⎪",b="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(c="⎫",f="⎭",p="⎪",b="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(c="⎧",f="⎭",p="⎪",b="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(c="⎫",f="⎩",p="⎪",b="Size4-Regular");var S=$0(c,b,n),k=S.height+S.depth,C=$0(p,b,n),B=C.height+C.depth,z=$0(f,b,n),U=z.height+z.depth,R=0,O=1;if(d!==null){var X=$0(d,b,n);R=X.height+X.depth,O=2}var F=k+U+R,q=Math.max(0,Math.ceil((t-F)/(O*B))),N=F+q*O*B,j=s.fontMetrics().axisHeight;a&&(j*=s.sizeMultiplier);var L=N/2-j,H=[];if(x.length>0){var V=N-k-U,Q=Math.round(N*1e3),W=wi(x,Math.round(V*1e3)),te=new x0(x,W),le=(y/1e3).toFixed(3)+"em",be=(Q/1e3).toFixed(3)+"em",ke=new n0([te],{width:le,height:be,viewBox:"0 0 "+y+" "+Q}),Ae=M.makeSvgSpan([],[ke],s);Ae.height=Q/1e3,Ae.style.width=le,Ae.style.height=be,H.push({type:"elem",elem:Ae})}else{if(H.push(Ht(f,b,n)),H.push(it),d===null){var re=N-k-U+2*or;H.push($t(p,re,s))}else{var ee=(N-k-U-R)/2+2*or;H.push($t(p,ee,s)),H.push(it),H.push(Ht(d,b,n)),H.push(it),H.push($t(p,ee,s))}H.push(it),H.push(Ht(c,b,n))}var he=s.havingBaseStyle(Z.TEXT),He=M.makeVList({positionType:"bottom",positionData:L,children:H},he);return Sr(M.makeSpan(["delimsizing","mult"],[He],he),Z.TEXT,s,l)},Gt=80,Ut=.08,Vt=function(e,t,a,s,n){var l=bi(e,s,a),c=new x0(e,l),d=new n0([c],{width:"400em",height:P(t),viewBox:"0 0 400000 "+a,preserveAspectRatio:"xMinYMin slice"});return M.makeSvgSpan(["hide-tail"],[d],n)},xl=function(e,t){var a=t.havingBaseSizing(),s=Ts("\\surd",e*a.sizeMultiplier,Ns,a),n=a.sizeMultiplier,l=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),c,d=0,p=0,f=0,x;return s.type==="small"?(f=1e3+1e3*l+Gt,e<1?n=1:e<1.4&&(n=.7),d=(1+l+Ut)/n,p=(1+l)/n,c=Vt("sqrtMain",d,f,l,t),c.style.minWidth="0.853em",x=.833/n):s.type==="large"?(f=(1e3+Gt)*G0[s.size],p=(G0[s.size]+l)/n,d=(G0[s.size]+l+Ut)/n,c=Vt("sqrtSize"+s.size,d,f,l,t),c.style.minWidth="1.02em",x=1/n):(d=e+l+Ut,p=e+l,f=Math.floor(1e3*e+l)+Gt,c=Vt("sqrtTall",d,f,l,t),c.style.minWidth="0.742em",x=1.056),c.height=p,c.style.height=P(d),{span:c,advanceWidth:x,ruleWidth:(t.fontMetrics().sqrtRuleThickness+l)*n}},Ss=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],bl=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],Ms=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],G0=[0,1.2,1.8,2.4,3],yl=function(e,t,a,s,n){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Ss.includes(e)||Ms.includes(e))return ws(e,t,!1,a,s,n);if(bl.includes(e))return ks(e,G0[t],!1,a,s,n);throw new E("Illegal delimiter: '"+e+"'")},wl=[{type:"small",style:Z.SCRIPTSCRIPT},{type:"small",style:Z.SCRIPT},{type:"small",style:Z.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],kl=[{type:"small",style:Z.SCRIPTSCRIPT},{type:"small",style:Z.SCRIPT},{type:"small",style:Z.TEXT},{type:"stack"}],Ns=[{type:"small",style:Z.SCRIPTSCRIPT},{type:"small",style:Z.SCRIPT},{type:"small",style:Z.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Sl=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},Ts=function(e,t,a,s){for(var n=Math.min(2,3-s.style.size),l=n;l<a.length&&a[l].type!=="stack";l++){var c=$0(e,Sl(a[l]),"math"),d=c.height+c.depth;if(a[l].type==="small"){var p=s.havingBaseStyle(a[l].style);d*=p.sizeMultiplier}if(d>t)return a[l]}return a[a.length-1]},zs=function(e,t,a,s,n,l){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var c;Ms.includes(e)?c=wl:Ss.includes(e)?c=Ns:c=kl;var d=Ts(e,t,c,s);return d.type==="small"?pl(e,d.style,a,s,n,l):d.type==="large"?ws(e,d.size,a,s,n,l):ks(e,t,a,s,n,l)},Ml=function(e,t,a,s,n,l){var c=s.fontMetrics().axisHeight*s.sizeMultiplier,d=901,p=5/s.fontMetrics().ptPerEm,f=Math.max(t-c,a+c),x=Math.max(f/500*d,2*f-p);return zs(e,x,!0,s,n,l)},s0={sqrtImage:xl,sizedDelim:yl,sizeToMaxHeight:G0,customSizedDelim:zs,leftRightDelim:Ml},la={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Nl=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function Nt(r,e){var t=St(r);if(t&&Nl.includes(t.text))return t;throw t?new E("Invalid delimiter '"+t.text+"' after '"+e.funcName+"'",r):new E("Invalid delimiter type '"+r.type+"'",r)}$({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(r,e)=>{var t=Nt(e[0],r);return{type:"delimsizing",mode:r.parser.mode,size:la[r.funcName].size,mclass:la[r.funcName].mclass,delim:t.text}},htmlBuilder:(r,e)=>r.delim==="."?M.makeSpan([r.mclass]):s0.sizedDelim(r.delim,r.size,e,r.mode,[r.mclass]),mathmlBuilder:r=>{var e=[];r.delim!=="."&&e.push(Ue(r.delim,r.mode));var t=new I.MathNode("mo",e);r.mclass==="mopen"||r.mclass==="mclose"?t.setAttribute("fence","true"):t.setAttribute("fence","false"),t.setAttribute("stretchy","true");var a=P(s0.sizeToMaxHeight[r.size]);return t.setAttribute("minsize",a),t.setAttribute("maxsize",a),t}});function oa(r){if(!r.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}$({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=r.parser.gullet.macros.get("\\current@color");if(t&&typeof t!="string")throw new E("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:r.parser.mode,delim:Nt(e[0],r).text,color:t}}});$({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=Nt(e[0],r),a=r.parser;++a.leftrightDepth;var s=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var n=ae(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:s,left:t.text,right:n.delim,rightColor:n.color}},htmlBuilder:(r,e)=>{oa(r);for(var t=we(r.body,e,!0,["mopen","mclose"]),a=0,s=0,n=!1,l=0;l<t.length;l++)t[l].isMiddle?n=!0:(a=Math.max(t[l].height,a),s=Math.max(t[l].depth,s));a*=e.sizeMultiplier,s*=e.sizeMultiplier;var c;if(r.left==="."?c=V0(e,["mopen"]):c=s0.leftRightDelim(r.left,a,s,e,r.mode,["mopen"]),t.unshift(c),n)for(var d=1;d<t.length;d++){var p=t[d],f=p.isMiddle;f&&(t[d]=s0.leftRightDelim(f.delim,a,s,f.options,r.mode,[]))}var x;if(r.right===".")x=V0(e,["mclose"]);else{var y=r.rightColor?e.withColor(r.rightColor):e;x=s0.leftRightDelim(r.right,a,s,y,r.mode,["mclose"])}return t.push(x),M.makeSpan(["minner"],t,e)},mathmlBuilder:(r,e)=>{oa(r);var t=qe(r.body,e);if(r.left!=="."){var a=new I.MathNode("mo",[Ue(r.left,r.mode)]);a.setAttribute("fence","true"),t.unshift(a)}if(r.right!=="."){var s=new I.MathNode("mo",[Ue(r.right,r.mode)]);s.setAttribute("fence","true"),r.rightColor&&s.setAttribute("mathcolor",r.rightColor),t.push(s)}return br(t)}});$({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=Nt(e[0],r);if(!r.parser.leftrightDepth)throw new E("\\middle without preceding \\left",t);return{type:"middle",mode:r.parser.mode,delim:t.text}},htmlBuilder:(r,e)=>{var t;if(r.delim===".")t=V0(e,[]);else{t=s0.sizedDelim(r.delim,1,e,r.mode,[]);var a={delim:r.delim,options:e};t.isMiddle=a}return t},mathmlBuilder:(r,e)=>{var t=r.delim==="\\vert"||r.delim==="|"?Ue("|","text"):Ue(r.delim,r.mode),a=new I.MathNode("mo",[t]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var Mr=(r,e)=>{var t=M.wrapFragment(ne(r.body,e),e),a=r.label.slice(1),s=e.sizeMultiplier,n,l=0,c=ie.isCharacterBox(r.body);if(a==="sout")n=M.makeSpan(["stretchy","sout"]),n.height=e.fontMetrics().defaultRuleThickness/s,l=-.5*e.fontMetrics().xHeight;else if(a==="phase"){var d=fe({number:.6,unit:"pt"},e),p=fe({number:.35,unit:"ex"},e),f=e.havingBaseSizing();s=s/f.sizeMultiplier;var x=t.height+t.depth+d+p;t.style.paddingLeft=P(x/2+d);var y=Math.floor(1e3*x*s),b=vi(y),S=new n0([new x0("phase",b)],{width:"400em",height:P(y/1e3),viewBox:"0 0 400000 "+y,preserveAspectRatio:"xMinYMin slice"});n=M.makeSvgSpan(["hide-tail"],[S],e),n.style.height=P(x),l=t.depth+d+p}else{/cancel/.test(a)?c||t.classes.push("cancel-pad"):a==="angl"?t.classes.push("anglpad"):t.classes.push("boxpad");var k=0,C=0,B=0;/box/.test(a)?(B=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),k=e.fontMetrics().fboxsep+(a==="colorbox"?0:B),C=k):a==="angl"?(B=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),k=4*B,C=Math.max(0,.25-t.depth)):(k=c?.2:0,C=k),n=l0.encloseSpan(t,a,k,C,e),/fbox|boxed|fcolorbox/.test(a)?(n.style.borderStyle="solid",n.style.borderWidth=P(B)):a==="angl"&&B!==.049&&(n.style.borderTopWidth=P(B),n.style.borderRightWidth=P(B)),l=t.depth+C,r.backgroundColor&&(n.style.backgroundColor=r.backgroundColor,r.borderColor&&(n.style.borderColor=r.borderColor))}var z;if(r.backgroundColor)z=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:l},{type:"elem",elem:t,shift:0}]},e);else{var U=/cancel|phase/.test(a)?["svg-align"]:[];z=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:t,shift:0},{type:"elem",elem:n,shift:l,wrapperClasses:U}]},e)}return/cancel/.test(a)&&(z.height=t.height,z.depth=t.depth),/cancel/.test(a)&&!c?M.makeSpan(["mord","cancel-lap"],[z],e):M.makeSpan(["mord"],[z],e)},Nr=(r,e)=>{var t=0,a=new I.MathNode(r.label.indexOf("colorbox")>-1?"mpadded":"menclose",[ce(r.body,e)]);switch(r.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(t=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*t+"pt"),a.setAttribute("height","+"+2*t+"pt"),a.setAttribute("lspace",t+"pt"),a.setAttribute("voffset",t+"pt"),r.label==="\\fcolorbox"){var s=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);a.setAttribute("style","border: "+s+"em solid "+String(r.borderColor))}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return r.backgroundColor&&a.setAttribute("mathbackground",r.backgroundColor),a};$({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(r,e,t){var{parser:a,funcName:s}=r,n=ae(e[0],"color-token").color,l=e[1];return{type:"enclose",mode:a.mode,label:s,backgroundColor:n,body:l}},htmlBuilder:Mr,mathmlBuilder:Nr});$({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(r,e,t){var{parser:a,funcName:s}=r,n=ae(e[0],"color-token").color,l=ae(e[1],"color-token").color,c=e[2];return{type:"enclose",mode:a.mode,label:s,backgroundColor:l,borderColor:n,body:c}},htmlBuilder:Mr,mathmlBuilder:Nr});$({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\fbox",body:e[0]}}});$({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r,s=e[0];return{type:"enclose",mode:t.mode,label:a,body:s}},htmlBuilder:Mr,mathmlBuilder:Nr});$({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\angl",body:e[0]}}});var As={};function Je(r){for(var{type:e,names:t,props:a,handler:s,htmlBuilder:n,mathmlBuilder:l}=r,c={type:e,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:s},d=0;d<t.length;++d)As[t[d]]=c;n&&(gt[e]=n),l&&(vt[e]=l)}var js={};function m(r,e){js[r]=e}function ua(r){var e=[];r.consumeSpaces();var t=r.fetch().text;for(t==="\\relax"&&(r.consume(),r.consumeSpaces(),t=r.fetch().text);t==="\\hline"||t==="\\hdashline";)r.consume(),e.push(t==="\\hdashline"),r.consumeSpaces(),t=r.fetch().text;return e}var Tt=r=>{var e=r.parser.settings;if(!e.displayMode)throw new E("{"+r.envName+"} can be used only in display mode.")};function Tr(r){if(r.indexOf("ed")===-1)return r.indexOf("*")===-1}function y0(r,e,t){var{hskipBeforeAndAfter:a,addJot:s,cols:n,arraystretch:l,colSeparationType:c,autoTag:d,singleRow:p,emptySingleRow:f,maxNumCols:x,leqno:y}=e;if(r.gullet.beginGroup(),p||r.gullet.macros.set("\\cr","\\\\\\relax"),!l){var b=r.gullet.expandMacroAsText("\\arraystretch");if(b==null)l=1;else if(l=parseFloat(b),!l||l<0)throw new E("Invalid \\arraystretch: "+b)}r.gullet.beginGroup();var S=[],k=[S],C=[],B=[],z=d!=null?[]:void 0;function U(){d&&r.gullet.macros.set("\\@eqnsw","1",!0)}function R(){z&&(r.gullet.macros.get("\\df@tag")?(z.push(r.subparse([new Oe("\\df@tag")])),r.gullet.macros.set("\\df@tag",void 0,!0)):z.push(!!d&&r.gullet.macros.get("\\@eqnsw")==="1"))}for(U(),B.push(ua(r));;){var O=r.parseExpression(!1,p?"\\end":"\\\\");r.gullet.endGroup(),r.gullet.beginGroup(),O={type:"ordgroup",mode:r.mode,body:O},t&&(O={type:"styling",mode:r.mode,style:t,body:[O]}),S.push(O);var X=r.fetch().text;if(X==="&"){if(x&&S.length===x){if(p||c)throw new E("Too many tab characters: &",r.nextToken);r.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}r.consume()}else if(X==="\\end"){R(),S.length===1&&O.type==="styling"&&O.body[0].body.length===0&&(k.length>1||!f)&&k.pop(),B.length<k.length+1&&B.push([]);break}else if(X==="\\\\"){r.consume();var F=void 0;r.gullet.future().text!==" "&&(F=r.parseSizeGroup(!0)),C.push(F?F.value:null),R(),B.push(ua(r)),S=[],k.push(S),U()}else throw new E("Expected & or \\\\ or \\cr or \\end",r.nextToken)}return r.gullet.endGroup(),r.gullet.endGroup(),{type:"array",mode:r.mode,addJot:s,arraystretch:l,body:k,cols:n,rowGaps:C,hskipBeforeAndAfter:a,hLinesBeforeRow:B,colSeparationType:c,tags:z,leqno:y}}function zr(r){return r.slice(0,1)==="d"?"display":"text"}var Qe=function(e,t){var a,s,n=e.body.length,l=e.hLinesBeforeRow,c=0,d=new Array(n),p=[],f=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),x=1/t.fontMetrics().ptPerEm,y=5*x;if(e.colSeparationType&&e.colSeparationType==="small"){var b=t.havingStyle(Z.SCRIPT).sizeMultiplier;y=.2778*(b/t.sizeMultiplier)}var S=e.colSeparationType==="CD"?fe({number:3,unit:"ex"},t):12*x,k=3*x,C=e.arraystretch*S,B=.7*C,z=.3*C,U=0;function R(d0){for(var h0=0;h0<d0.length;++h0)h0>0&&(U+=.25),p.push({pos:U,isDashed:d0[h0]})}for(R(l[0]),a=0;a<e.body.length;++a){var O=e.body[a],X=B,F=z;c<O.length&&(c=O.length);var q=new Array(O.length);for(s=0;s<O.length;++s){var N=ne(O[s],t);F<N.depth&&(F=N.depth),X<N.height&&(X=N.height),q[s]=N}var j=e.rowGaps[a],L=0;j&&(L=fe(j,t),L>0&&(L+=z,F<L&&(F=L),L=0)),e.addJot&&(F+=k),q.height=X,q.depth=F,U+=X,q.pos=U,U+=F+L,d[a]=q,R(l[a+1])}var H=U/2+t.fontMetrics().axisHeight,V=e.cols||[],Q=[],W,te,le=[];if(e.tags&&e.tags.some(d0=>d0))for(a=0;a<n;++a){var be=d[a],ke=be.pos-H,Ae=e.tags[a],re=void 0;Ae===!0?re=M.makeSpan(["eqn-num"],[],t):Ae===!1?re=M.makeSpan([],[],t):re=M.makeSpan([],we(Ae,t,!0),t),re.depth=be.depth,re.height=be.height,le.push({type:"elem",elem:re,shift:ke})}for(s=0,te=0;s<c||te<V.length;++s,++te){for(var ee=V[te]||{},he=!0;ee.type==="separator";){if(he||(W=M.makeSpan(["arraycolsep"],[]),W.style.width=P(t.fontMetrics().doubleRuleSep),Q.push(W)),ee.separator==="|"||ee.separator===":"){var He=ee.separator==="|"?"solid":"dashed",Xe=M.makeSpan(["vertical-separator"],[],t);Xe.style.height=P(U),Xe.style.borderRightWidth=P(f),Xe.style.borderRightStyle=He,Xe.style.margin="0 "+P(-f/2);var w0=U-H;w0&&(Xe.style.verticalAlign=P(-w0)),Q.push(Xe)}else throw new E("Invalid separator type: "+ee.separator);te++,ee=V[te]||{},he=!1}if(!(s>=c)){var Ne=void 0;(s>0||e.hskipBeforeAndAfter)&&(Ne=ie.deflt(ee.pregap,y),Ne!==0&&(W=M.makeSpan(["arraycolsep"],[]),W.style.width=P(Ne),Q.push(W)));var Se=[];for(a=0;a<n;++a){var se=d[a],oe=se[s];if(oe){var Te=se.pos-H;oe.depth=se.depth,oe.height=se.height,Se.push({type:"elem",elem:oe,shift:Te})}}Se=M.makeVList({positionType:"individualShift",children:Se},t),Se=M.makeSpan(["col-align-"+(ee.align||"c")],[Se]),Q.push(Se),(s<c-1||e.hskipBeforeAndAfter)&&(Ne=ie.deflt(ee.postgap,y),Ne!==0&&(W=M.makeSpan(["arraycolsep"],[]),W.style.width=P(Ne),Q.push(W)))}}if(d=M.makeSpan(["mtable"],Q),p.length>0){for(var Ve=M.makeLineSpan("hline",t,f),c0=M.makeLineSpan("hdashline",t,f),K0=[{type:"elem",elem:d,shift:0}];p.length>0;){var E0=p.pop(),q0=E0.pos-H;E0.isDashed?K0.push({type:"elem",elem:c0,shift:q0}):K0.push({type:"elem",elem:Ve,shift:q0})}d=M.makeVList({positionType:"individualShift",children:K0},t)}if(le.length===0)return M.makeSpan(["mord"],[d],t);var Re=M.makeVList({positionType:"individualShift",children:le},t);return Re=M.makeSpan(["tag"],[Re],t),M.makeFragment([d,Re])},Tl={c:"center ",l:"left ",r:"right "},_e=function(e,t){for(var a=[],s=new I.MathNode("mtd",[],["mtr-glue"]),n=new I.MathNode("mtd",[],["mml-eqn-num"]),l=0;l<e.body.length;l++){for(var c=e.body[l],d=[],p=0;p<c.length;p++)d.push(new I.MathNode("mtd",[ce(c[p],t)]));e.tags&&e.tags[l]&&(d.unshift(s),d.push(s),e.leqno?d.unshift(n):d.push(n)),a.push(new I.MathNode("mtr",d))}var f=new I.MathNode("mtable",a),x=e.arraystretch===.5?.1:.16+e.arraystretch-1+(e.addJot?.09:0);f.setAttribute("rowspacing",P(x));var y="",b="";if(e.cols&&e.cols.length>0){var S=e.cols,k="",C=!1,B=0,z=S.length;S[0].type==="separator"&&(y+="top ",B=1),S[S.length-1].type==="separator"&&(y+="bottom ",z-=1);for(var U=B;U<z;U++)S[U].type==="align"?(b+=Tl[S[U].align],C&&(k+="none "),C=!0):S[U].type==="separator"&&C&&(k+=S[U].separator==="|"?"solid ":"dashed ",C=!1);f.setAttribute("columnalign",b.trim()),/[sd]/.test(k)&&f.setAttribute("columnlines",k.trim())}if(e.colSeparationType==="align"){for(var R=e.cols||[],O="",X=1;X<R.length;X++)O+=X%2?"0em ":"1em ";f.setAttribute("columnspacing",O.trim())}else e.colSeparationType==="alignat"||e.colSeparationType==="gather"?f.setAttribute("columnspacing","0em"):e.colSeparationType==="small"?f.setAttribute("columnspacing","0.2778em"):e.colSeparationType==="CD"?f.setAttribute("columnspacing","0.5em"):f.setAttribute("columnspacing","1em");var F="",q=e.hLinesBeforeRow;y+=q[0].length>0?"left ":"",y+=q[q.length-1].length>0?"right ":"";for(var N=1;N<q.length-1;N++)F+=q[N].length===0?"none ":q[N][0]?"dashed ":"solid ";return/[sd]/.test(F)&&f.setAttribute("rowlines",F.trim()),y!==""&&(f=new I.MathNode("menclose",[f]),f.setAttribute("notation",y.trim())),e.arraystretch&&e.arraystretch<1&&(f=new I.MathNode("mstyle",[f]),f.setAttribute("scriptlevel","1")),f},Cs=function(e,t){e.envName.indexOf("ed")===-1&&Tt(e);var a=[],s=e.envName.indexOf("at")>-1?"alignat":"align",n=e.envName==="split",l=y0(e.parser,{cols:a,addJot:!0,autoTag:n?void 0:Tr(e.envName),emptySingleRow:!0,colSeparationType:s,maxNumCols:n?2:void 0,leqno:e.parser.settings.leqno},"display"),c,d=0,p={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&t[0].type==="ordgroup"){for(var f="",x=0;x<t[0].body.length;x++){var y=ae(t[0].body[x],"textord");f+=y.text}c=Number(f),d=c*2}var b=!d;l.body.forEach(function(B){for(var z=1;z<B.length;z+=2){var U=ae(B[z],"styling"),R=ae(U.body[0],"ordgroup");R.body.unshift(p)}if(b)d<B.length&&(d=B.length);else{var O=B.length/2;if(c<O)throw new E("Too many math in a row: "+("expected "+c+", but got "+O),B[0])}});for(var S=0;S<d;++S){var k="r",C=0;S%2===1?k="l":S>0&&b&&(C=1),a[S]={type:"align",align:k,pregap:C,postgap:0}}return l.colSeparationType=b?"align":"alignat",l};Je({type:"array",names:["array","darray"],props:{numArgs:1},handler(r,e){var t=St(e[0]),a=t?[e[0]]:ae(e[0],"ordgroup").body,s=a.map(function(l){var c=wr(l),d=c.text;if("lcr".indexOf(d)!==-1)return{type:"align",align:d};if(d==="|")return{type:"separator",separator:"|"};if(d===":")return{type:"separator",separator:":"};throw new E("Unknown column alignment: "+d,l)}),n={cols:s,hskipBeforeAndAfter:!0,maxNumCols:s.length};return y0(r.parser,n,zr(r.envName))},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(r){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[r.envName.replace("*","")],t="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:t}]};if(r.envName.charAt(r.envName.length-1)==="*"){var s=r.parser;if(s.consumeSpaces(),s.fetch().text==="["){if(s.consume(),s.consumeSpaces(),t=s.fetch().text,"lcr".indexOf(t)===-1)throw new E("Expected l or c or r",s.nextToken);s.consume(),s.consumeSpaces(),s.expect("]"),s.consume(),a.cols=[{type:"align",align:t}]}}var n=y0(r.parser,a,zr(r.envName)),l=Math.max(0,...n.body.map(c=>c.length));return n.cols=new Array(l).fill({type:"align",align:t}),e?{type:"leftright",mode:r.mode,body:[n],left:e[0],right:e[1],rightColor:void 0}:n},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(r){var e={arraystretch:.5},t=y0(r.parser,e,"script");return t.colSeparationType="small",t},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["subarray"],props:{numArgs:1},handler(r,e){var t=St(e[0]),a=t?[e[0]]:ae(e[0],"ordgroup").body,s=a.map(function(l){var c=wr(l),d=c.text;if("lc".indexOf(d)!==-1)return{type:"align",align:d};throw new E("Unknown column alignment: "+d,l)});if(s.length>1)throw new E("{subarray} can contain only one column");var n={cols:s,hskipBeforeAndAfter:!1,arraystretch:.5};if(n=y0(r.parser,n,"script"),n.body.length>0&&n.body[0].length>1)throw new E("{subarray} can contain only one column");return n},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(r){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},t=y0(r.parser,e,zr(r.envName));return{type:"leftright",mode:r.mode,body:[t],left:r.envName.indexOf("r")>-1?".":"\\{",right:r.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Cs,htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(r){["gather","gather*"].includes(r.envName)&&Tt(r);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Tr(r.envName),emptySingleRow:!0,leqno:r.parser.settings.leqno};return y0(r.parser,e,"display")},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Cs,htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(r){Tt(r);var e={autoTag:Tr(r.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:r.parser.settings.leqno};return y0(r.parser,e,"display")},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["CD"],props:{numArgs:0},handler(r){return Tt(r),hl(r.parser)},htmlBuilder:Qe,mathmlBuilder:_e});m("\\nonumber","\\gdef\\@eqnsw{0}");m("\\notag","\\nonumber");$({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(r,e){throw new E(r.funcName+" valid only within array environment")}});var ca=As;$({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(r,e){var{parser:t,funcName:a}=r,s=e[0];if(s.type!=="ordgroup")throw new E("Invalid environment name",s);for(var n="",l=0;l<s.body.length;++l)n+=ae(s.body[l],"textord").text;if(a==="\\begin"){if(!ca.hasOwnProperty(n))throw new E("No such environment: "+n,s);var c=ca[n],{args:d,optArgs:p}=t.parseArguments("\\begin{"+n+"}",c),f={mode:t.mode,envName:n,parser:t},x=c.handler(f,d,p);t.expect("\\end",!1);var y=t.nextToken,b=ae(t.parseFunction(),"environment");if(b.name!==n)throw new E("Mismatch: \\begin{"+n+"} matched by \\end{"+b.name+"}",y);return x}return{type:"environment",mode:t.mode,name:n,nameGroup:s}}});var Ds=(r,e)=>{var t=r.font,a=e.withFont(t);return ne(r.body,a)},Bs=(r,e)=>{var t=r.font,a=e.withFont(t);return ce(r.body,a)},da={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};$({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=xt(e[0]),n=a;return n in da&&(n=da[n]),{type:"font",mode:t.mode,font:n.slice(1),body:s}},htmlBuilder:Ds,mathmlBuilder:Bs});$({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(r,e)=>{var{parser:t}=r,a=e[0],s=ie.isCharacterBox(a);return{type:"mclass",mode:t.mode,mclass:Mt(a),body:[{type:"font",mode:t.mode,font:"boldsymbol",body:a}],isCharacterBox:s}}});$({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a,breakOnTokenText:s}=r,{mode:n}=t,l=t.parseExpression(!0,s),c="math"+a.slice(1);return{type:"font",mode:n,font:c,body:{type:"ordgroup",mode:t.mode,body:l}}},htmlBuilder:Ds,mathmlBuilder:Bs});var Fs=(r,e)=>{var t=e;return r==="display"?t=t.id>=Z.SCRIPT.id?t.text():Z.DISPLAY:r==="text"&&t.size===Z.DISPLAY.size?t=Z.TEXT:r==="script"?t=Z.SCRIPT:r==="scriptscript"&&(t=Z.SCRIPTSCRIPT),t},Ar=(r,e)=>{var t=Fs(r.size,e.style),a=t.fracNum(),s=t.fracDen(),n;n=e.havingStyle(a);var l=ne(r.numer,n,e);if(r.continued){var c=8.5/e.fontMetrics().ptPerEm,d=3.5/e.fontMetrics().ptPerEm;l.height=l.height<c?c:l.height,l.depth=l.depth<d?d:l.depth}n=e.havingStyle(s);var p=ne(r.denom,n,e),f,x,y;r.hasBarLine?(r.barSize?(x=fe(r.barSize,e),f=M.makeLineSpan("frac-line",e,x)):f=M.makeLineSpan("frac-line",e),x=f.height,y=f.height):(f=null,x=0,y=e.fontMetrics().defaultRuleThickness);var b,S,k;t.size===Z.DISPLAY.size||r.size==="display"?(b=e.fontMetrics().num1,x>0?S=3*y:S=7*y,k=e.fontMetrics().denom1):(x>0?(b=e.fontMetrics().num2,S=y):(b=e.fontMetrics().num3,S=3*y),k=e.fontMetrics().denom2);var C;if(f){var z=e.fontMetrics().axisHeight;b-l.depth-(z+.5*x)<S&&(b+=S-(b-l.depth-(z+.5*x))),z-.5*x-(p.height-k)<S&&(k+=S-(z-.5*x-(p.height-k)));var U=-(z-.5*x);C=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:p,shift:k},{type:"elem",elem:f,shift:U},{type:"elem",elem:l,shift:-b}]},e)}else{var B=b-l.depth-(p.height-k);B<S&&(b+=.5*(S-B),k+=.5*(S-B)),C=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:p,shift:k},{type:"elem",elem:l,shift:-b}]},e)}n=e.havingStyle(t),C.height*=n.sizeMultiplier/e.sizeMultiplier,C.depth*=n.sizeMultiplier/e.sizeMultiplier;var R;t.size===Z.DISPLAY.size?R=e.fontMetrics().delim1:t.size===Z.SCRIPTSCRIPT.size?R=e.havingStyle(Z.SCRIPT).fontMetrics().delim2:R=e.fontMetrics().delim2;var O,X;return r.leftDelim==null?O=V0(e,["mopen"]):O=s0.customSizedDelim(r.leftDelim,R,!0,e.havingStyle(t),r.mode,["mopen"]),r.continued?X=M.makeSpan([]):r.rightDelim==null?X=V0(e,["mclose"]):X=s0.customSizedDelim(r.rightDelim,R,!0,e.havingStyle(t),r.mode,["mclose"]),M.makeSpan(["mord"].concat(n.sizingClasses(e)),[O,M.makeSpan(["mfrac"],[C]),X],e)},jr=(r,e)=>{var t=new I.MathNode("mfrac",[ce(r.numer,e),ce(r.denom,e)]);if(!r.hasBarLine)t.setAttribute("linethickness","0px");else if(r.barSize){var a=fe(r.barSize,e);t.setAttribute("linethickness",P(a))}var s=Fs(r.size,e.style);if(s.size!==e.style.size){t=new I.MathNode("mstyle",[t]);var n=s.size===Z.DISPLAY.size?"true":"false";t.setAttribute("displaystyle",n),t.setAttribute("scriptlevel","0")}if(r.leftDelim!=null||r.rightDelim!=null){var l=[];if(r.leftDelim!=null){var c=new I.MathNode("mo",[new I.TextNode(r.leftDelim.replace("\\",""))]);c.setAttribute("fence","true"),l.push(c)}if(l.push(t),r.rightDelim!=null){var d=new I.MathNode("mo",[new I.TextNode(r.rightDelim.replace("\\",""))]);d.setAttribute("fence","true"),l.push(d)}return br(l)}return t};$({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0],n=e[1],l,c=null,d=null,p="auto";switch(a){case"\\dfrac":case"\\frac":case"\\tfrac":l=!0;break;case"\\\\atopfrac":l=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":l=!1,c="(",d=")";break;case"\\\\bracefrac":l=!1,c="\\{",d="\\}";break;case"\\\\brackfrac":l=!1,c="[",d="]";break;default:throw new Error("Unrecognized genfrac command")}switch(a){case"\\dfrac":case"\\dbinom":p="display";break;case"\\tfrac":case"\\tbinom":p="text";break}return{type:"genfrac",mode:t.mode,continued:!1,numer:s,denom:n,hasBarLine:l,leftDelim:c,rightDelim:d,size:p,barSize:null}},htmlBuilder:Ar,mathmlBuilder:jr});$({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0],n=e[1];return{type:"genfrac",mode:t.mode,continued:!0,numer:s,denom:n,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}});$({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(r){var{parser:e,funcName:t,token:a}=r,s;switch(t){case"\\over":s="\\frac";break;case"\\choose":s="\\binom";break;case"\\atop":s="\\\\atopfrac";break;case"\\brace":s="\\\\bracefrac";break;case"\\brack":s="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:s,token:a}}});var ha=["display","text","script","scriptscript"],ma=function(e){var t=null;return e.length>0&&(t=e,t=t==="."?null:t),t};$({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(r,e){var{parser:t}=r,a=e[4],s=e[5],n=xt(e[0]),l=n.type==="atom"&&n.family==="open"?ma(n.text):null,c=xt(e[1]),d=c.type==="atom"&&c.family==="close"?ma(c.text):null,p=ae(e[2],"size"),f,x=null;p.isBlank?f=!0:(x=p.value,f=x.number>0);var y="auto",b=e[3];if(b.type==="ordgroup"){if(b.body.length>0){var S=ae(b.body[0],"textord");y=ha[Number(S.text)]}}else b=ae(b,"textord"),y=ha[Number(b.text)];return{type:"genfrac",mode:t.mode,numer:a,denom:s,continued:!1,hasBarLine:f,barSize:x,leftDelim:l,rightDelim:d,size:y}},htmlBuilder:Ar,mathmlBuilder:jr});$({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(r,e){var{parser:t,funcName:a,token:s}=r;return{type:"infix",mode:t.mode,replaceWith:"\\\\abovefrac",size:ae(e[0],"size").value,token:s}}});$({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0],n=ri(ae(e[1],"infix").size),l=e[2],c=n.number>0;return{type:"genfrac",mode:t.mode,numer:s,denom:l,continued:!1,hasBarLine:c,barSize:n,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:Ar,mathmlBuilder:jr});var Is=(r,e)=>{var t=e.style,a,s;r.type==="supsub"?(a=r.sup?ne(r.sup,e.havingStyle(t.sup()),e):ne(r.sub,e.havingStyle(t.sub()),e),s=ae(r.base,"horizBrace")):s=ae(r,"horizBrace");var n=ne(s.base,e.havingBaseStyle(Z.DISPLAY)),l=l0.svgSpan(s,e),c;if(s.isOver?(c=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:.1},{type:"elem",elem:l}]},e),c.children[0].children[0].children[1].classes.push("svg-align")):(c=M.makeVList({positionType:"bottom",positionData:n.depth+.1+l.height,children:[{type:"elem",elem:l},{type:"kern",size:.1},{type:"elem",elem:n}]},e),c.children[0].children[0].children[0].classes.push("svg-align")),a){var d=M.makeSpan(["mord",s.isOver?"mover":"munder"],[c],e);s.isOver?c=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:d},{type:"kern",size:.2},{type:"elem",elem:a}]},e):c=M.makeVList({positionType:"bottom",positionData:d.depth+.2+a.height+a.depth,children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:d}]},e)}return M.makeSpan(["mord",s.isOver?"mover":"munder"],[c],e)},zl=(r,e)=>{var t=l0.mathMLnode(r.label);return new I.MathNode(r.isOver?"mover":"munder",[ce(r.base,e),t])};$({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"horizBrace",mode:t.mode,label:a,isOver:/^\\over/.test(a),base:e[0]}},htmlBuilder:Is,mathmlBuilder:zl});$({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[1],s=ae(e[0],"url").url;return t.settings.isTrusted({command:"\\href",url:s})?{type:"href",mode:t.mode,href:s,body:xe(a)}:t.formatUnsupportedCmd("\\href")},htmlBuilder:(r,e)=>{var t=we(r.body,e,!1);return M.makeAnchor(r.href,[],t,e)},mathmlBuilder:(r,e)=>{var t=b0(r.body,e);return t instanceof Pe||(t=new Pe("mrow",[t])),t.setAttribute("href",r.href),t}});$({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=ae(e[0],"url").url;if(!t.settings.isTrusted({command:"\\url",url:a}))return t.formatUnsupportedCmd("\\url");for(var s=[],n=0;n<a.length;n++){var l=a[n];l==="~"&&(l="\\textasciitilde"),s.push({type:"textord",mode:"text",text:l})}var c={type:"text",mode:t.mode,font:"\\texttt",body:s};return{type:"href",mode:t.mode,href:a,body:xe(c)}}});$({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(r,e){var{parser:t}=r;return{type:"hbox",mode:t.mode,body:xe(e[0])}},htmlBuilder(r,e){var t=we(r.body,e,!1);return M.makeFragment(t)},mathmlBuilder(r,e){return new I.MathNode("mrow",qe(r.body,e))}});$({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a,token:s}=r,n=ae(e[0],"raw").string,l=e[1];t.settings.strict&&t.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var c,d={};switch(a){case"\\htmlClass":d.class=n,c={command:"\\htmlClass",class:n};break;case"\\htmlId":d.id=n,c={command:"\\htmlId",id:n};break;case"\\htmlStyle":d.style=n,c={command:"\\htmlStyle",style:n};break;case"\\htmlData":{for(var p=n.split(","),f=0;f<p.length;f++){var x=p[f],y=x.indexOf("=");if(y<0)throw new E("\\htmlData key/value '"+x+"' missing equals sign");var b=x.slice(0,y),S=x.slice(y+1);d["data-"+b.trim()]=S}c={command:"\\htmlData",attributes:d};break}default:throw new Error("Unrecognized html command")}return t.settings.isTrusted(c)?{type:"html",mode:t.mode,attributes:d,body:xe(l)}:t.formatUnsupportedCmd(a)},htmlBuilder:(r,e)=>{var t=we(r.body,e,!1),a=["enclosing"];r.attributes.class&&a.push(...r.attributes.class.trim().split(/\s+/));var s=M.makeSpan(a,t,e);for(var n in r.attributes)n!=="class"&&r.attributes.hasOwnProperty(n)&&s.setAttribute(n,r.attributes[n]);return s},mathmlBuilder:(r,e)=>b0(r.body,e)});$({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"htmlmathml",mode:t.mode,html:xe(e[0]),mathml:xe(e[1])}},htmlBuilder:(r,e)=>{var t=we(r.html,e,!1);return M.makeFragment(t)},mathmlBuilder:(r,e)=>b0(r.mathml,e)});var Wt=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new E("Invalid size: '"+e+"' in \\includegraphics");var a={number:+(t[1]+t[2]),unit:t[3]};if(!_a(a))throw new E("Invalid unit: '"+a.unit+"' in \\includegraphics.");return a};$({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(r,e,t)=>{var{parser:a}=r,s={number:0,unit:"em"},n={number:.9,unit:"em"},l={number:0,unit:"em"},c="";if(t[0])for(var d=ae(t[0],"raw").string,p=d.split(","),f=0;f<p.length;f++){var x=p[f].split("=");if(x.length===2){var y=x[1].trim();switch(x[0].trim()){case"alt":c=y;break;case"width":s=Wt(y);break;case"height":n=Wt(y);break;case"totalheight":l=Wt(y);break;default:throw new E("Invalid key: '"+x[0]+"' in \\includegraphics.")}}}var b=ae(e[0],"url").url;return c===""&&(c=b,c=c.replace(/^.*[\\/]/,""),c=c.substring(0,c.lastIndexOf("."))),a.settings.isTrusted({command:"\\includegraphics",url:b})?{type:"includegraphics",mode:a.mode,alt:c,width:s,height:n,totalheight:l,src:b}:a.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(r,e)=>{var t=fe(r.height,e),a=0;r.totalheight.number>0&&(a=fe(r.totalheight,e)-t);var s=0;r.width.number>0&&(s=fe(r.width,e));var n={height:P(t+a)};s>0&&(n.width=P(s)),a>0&&(n.verticalAlign=P(-a));var l=new zi(r.src,r.alt,n);return l.height=t,l.depth=a,l},mathmlBuilder:(r,e)=>{var t=new I.MathNode("mglyph",[]);t.setAttribute("alt",r.alt);var a=fe(r.height,e),s=0;if(r.totalheight.number>0&&(s=fe(r.totalheight,e)-a,t.setAttribute("valign",P(-s))),t.setAttribute("height",P(a+s)),r.width.number>0){var n=fe(r.width,e);t.setAttribute("width",P(n))}return t.setAttribute("src",r.src),t}});$({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,s=ae(e[0],"size");if(t.settings.strict){var n=a[1]==="m",l=s.value.unit==="mu";n?(l||t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, "+("not "+s.value.unit+" units")),t.mode!=="math"&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):l&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:t.mode,dimension:s.value}},htmlBuilder(r,e){return M.makeGlue(r.dimension,e)},mathmlBuilder(r,e){var t=fe(r.dimension,e);return new I.SpaceNode(t)}});$({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0];return{type:"lap",mode:t.mode,alignment:a.slice(5),body:s}},htmlBuilder:(r,e)=>{var t;r.alignment==="clap"?(t=M.makeSpan([],[ne(r.body,e)]),t=M.makeSpan(["inner"],[t],e)):t=M.makeSpan(["inner"],[ne(r.body,e)]);var a=M.makeSpan(["fix"],[]),s=M.makeSpan([r.alignment],[t,a],e),n=M.makeSpan(["strut"]);return n.style.height=P(s.height+s.depth),s.depth&&(n.style.verticalAlign=P(-s.depth)),s.children.unshift(n),s=M.makeSpan(["thinbox"],[s],e),M.makeSpan(["mord","vbox"],[s],e)},mathmlBuilder:(r,e)=>{var t=new I.MathNode("mpadded",[ce(r.body,e)]);if(r.alignment!=="rlap"){var a=r.alignment==="llap"?"-1":"-0.5";t.setAttribute("lspace",a+"width")}return t.setAttribute("width","0px"),t}});$({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){var{funcName:t,parser:a}=r,s=a.mode;a.switchMode("math");var n=t==="\\("?"\\)":"$",l=a.parseExpression(!1,n);return a.expect(n),a.switchMode(s),{type:"styling",mode:a.mode,style:"text",body:l}}});$({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){throw new E("Mismatched "+r.funcName)}});var pa=(r,e)=>{switch(e.style.size){case Z.DISPLAY.size:return r.display;case Z.TEXT.size:return r.text;case Z.SCRIPT.size:return r.script;case Z.SCRIPTSCRIPT.size:return r.scriptscript;default:return r.text}};$({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"mathchoice",mode:t.mode,display:xe(e[0]),text:xe(e[1]),script:xe(e[2]),scriptscript:xe(e[3])}},htmlBuilder:(r,e)=>{var t=pa(r,e),a=we(t,e,!1);return M.makeFragment(a)},mathmlBuilder:(r,e)=>{var t=pa(r,e);return b0(t,e)}});var Es=(r,e,t,a,s,n,l)=>{r=M.makeSpan([],[r]);var c=t&&ie.isCharacterBox(t),d,p;if(e){var f=ne(e,a.havingStyle(s.sup()),a);p={elem:f,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-f.depth)}}if(t){var x=ne(t,a.havingStyle(s.sub()),a);d={elem:x,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-x.height)}}var y;if(p&&d){var b=a.fontMetrics().bigOpSpacing5+d.elem.height+d.elem.depth+d.kern+r.depth+l;y=M.makeVList({positionType:"bottom",positionData:b,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:d.elem,marginLeft:P(-n)},{type:"kern",size:d.kern},{type:"elem",elem:r},{type:"kern",size:p.kern},{type:"elem",elem:p.elem,marginLeft:P(n)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else if(d){var S=r.height-l;y=M.makeVList({positionType:"top",positionData:S,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:d.elem,marginLeft:P(-n)},{type:"kern",size:d.kern},{type:"elem",elem:r}]},a)}else if(p){var k=r.depth+l;y=M.makeVList({positionType:"bottom",positionData:k,children:[{type:"elem",elem:r},{type:"kern",size:p.kern},{type:"elem",elem:p.elem,marginLeft:P(n)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else return r;var C=[y];if(d&&n!==0&&!c){var B=M.makeSpan(["mspace"],[],a);B.style.marginRight=P(n),C.unshift(B)}return M.makeSpan(["mop","op-limits"],C,a)},qs=["\\smallint"],I0=(r,e)=>{var t,a,s=!1,n;r.type==="supsub"?(t=r.sup,a=r.sub,n=ae(r.base,"op"),s=!0):n=ae(r,"op");var l=e.style,c=!1;l.size===Z.DISPLAY.size&&n.symbol&&!qs.includes(n.name)&&(c=!0);var d;if(n.symbol){var p=c?"Size2-Regular":"Size1-Regular",f="";if((n.name==="\\oiint"||n.name==="\\oiiint")&&(f=n.name.slice(1),n.name=f==="oiint"?"\\iint":"\\iiint"),d=M.makeSymbol(n.name,p,"math",e,["mop","op-symbol",c?"large-op":"small-op"]),f.length>0){var x=d.italic,y=M.staticSvg(f+"Size"+(c?"2":"1"),e);d=M.makeVList({positionType:"individualShift",children:[{type:"elem",elem:d,shift:0},{type:"elem",elem:y,shift:c?.08:0}]},e),n.name="\\"+f,d.classes.unshift("mop"),d.italic=x}}else if(n.body){var b=we(n.body,e,!0);b.length===1&&b[0]instanceof Ge?(d=b[0],d.classes[0]="mop"):d=M.makeSpan(["mop"],b,e)}else{for(var S=[],k=1;k<n.name.length;k++)S.push(M.mathsym(n.name[k],n.mode,e));d=M.makeSpan(["mop"],S,e)}var C=0,B=0;return(d instanceof Ge||n.name==="\\oiint"||n.name==="\\oiiint")&&!n.suppressBaseShift&&(C=(d.height-d.depth)/2-e.fontMetrics().axisHeight,B=d.italic),s?Es(d,t,a,e,l,B,C):(C&&(d.style.position="relative",d.style.top=P(C)),d)},Y0=(r,e)=>{var t;if(r.symbol)t=new Pe("mo",[Ue(r.name,r.mode)]),qs.includes(r.name)&&t.setAttribute("largeop","false");else if(r.body)t=new Pe("mo",qe(r.body,e));else{t=new Pe("mi",[new Ze(r.name.slice(1))]);var a=new Pe("mo",[Ue("","text")]);r.parentIsSupSub?t=new Pe("mrow",[t,a]):t=cs([t,a])}return t},Al={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};$({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=a;return s.length===1&&(s=Al[s]),{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:s}},htmlBuilder:I0,mathmlBuilder:Y0});$({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:xe(a)}},htmlBuilder:I0,mathmlBuilder:Y0});var jl={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};$({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:I0,mathmlBuilder:Y0});$({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:I0,mathmlBuilder:Y0});$({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(r){var{parser:e,funcName:t}=r,a=t;return a.length===1&&(a=jl[a]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:I0,mathmlBuilder:Y0});var Rs=(r,e)=>{var t,a,s=!1,n;r.type==="supsub"?(t=r.sup,a=r.sub,n=ae(r.base,"operatorname"),s=!0):n=ae(r,"operatorname");var l;if(n.body.length>0){for(var c=n.body.map(x=>{var y=x.text;return typeof y=="string"?{type:"textord",mode:x.mode,text:y}:x}),d=we(c,e.withFont("mathrm"),!0),p=0;p<d.length;p++){var f=d[p];f instanceof Ge&&(f.text=f.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}l=M.makeSpan(["mop"],d,e)}else l=M.makeSpan(["mop"],[],e);return s?Es(l,t,a,e,e.style,0,0):l},Cl=(r,e)=>{for(var t=qe(r.body,e.withFont("mathrm")),a=!0,s=0;s<t.length;s++){var n=t[s];if(!(n instanceof I.SpaceNode))if(n instanceof I.MathNode)switch(n.type){case"mi":case"mn":case"ms":case"mspace":case"mtext":break;case"mo":{var l=n.children[0];n.children.length===1&&l instanceof I.TextNode?l.text=l.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):a=!1;break}default:a=!1}else a=!1}if(a){var c=t.map(f=>f.toText()).join("");t=[new I.TextNode(c)]}var d=new I.MathNode("mi",t);d.setAttribute("mathvariant","normal");var p=new I.MathNode("mo",[Ue("","text")]);return r.parentIsSupSub?new I.MathNode("mrow",[d,p]):I.newDocumentFragment([d,p])};$({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0];return{type:"operatorname",mode:t.mode,body:xe(s),alwaysHandleSupSub:a==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Rs,mathmlBuilder:Cl});m("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");N0({type:"ordgroup",htmlBuilder(r,e){return r.semisimple?M.makeFragment(we(r.body,e,!1)):M.makeSpan(["mord"],we(r.body,e,!0),e)},mathmlBuilder(r,e){return b0(r.body,e,!0)}});$({type:"overline",names:["\\overline"],props:{numArgs:1},handler(r,e){var{parser:t}=r,a=e[0];return{type:"overline",mode:t.mode,body:a}},htmlBuilder(r,e){var t=ne(r.body,e.havingCrampedStyle()),a=M.makeLineSpan("overline-line",e),s=e.fontMetrics().defaultRuleThickness,n=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t},{type:"kern",size:3*s},{type:"elem",elem:a},{type:"kern",size:s}]},e);return M.makeSpan(["mord","overline"],[n],e)},mathmlBuilder(r,e){var t=new I.MathNode("mo",[new I.TextNode("‾")]);t.setAttribute("stretchy","true");var a=new I.MathNode("mover",[ce(r.body,e),t]);return a.setAttribute("accent","true"),a}});$({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"phantom",mode:t.mode,body:xe(a)}},htmlBuilder:(r,e)=>{var t=we(r.body,e.withPhantom(),!1);return M.makeFragment(t)},mathmlBuilder:(r,e)=>{var t=qe(r.body,e);return new I.MathNode("mphantom",t)}});$({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"hphantom",mode:t.mode,body:a}},htmlBuilder:(r,e)=>{var t=M.makeSpan([],[ne(r.body,e.withPhantom())]);if(t.height=0,t.depth=0,t.children)for(var a=0;a<t.children.length;a++)t.children[a].height=0,t.children[a].depth=0;return t=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t}]},e),M.makeSpan(["mord"],[t],e)},mathmlBuilder:(r,e)=>{var t=qe(xe(r.body),e),a=new I.MathNode("mphantom",t),s=new I.MathNode("mpadded",[a]);return s.setAttribute("height","0px"),s.setAttribute("depth","0px"),s}});$({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"vphantom",mode:t.mode,body:a}},htmlBuilder:(r,e)=>{var t=M.makeSpan(["inner"],[ne(r.body,e.withPhantom())]),a=M.makeSpan(["fix"],[]);return M.makeSpan(["mord","rlap"],[t,a],e)},mathmlBuilder:(r,e)=>{var t=qe(xe(r.body),e),a=new I.MathNode("mphantom",t),s=new I.MathNode("mpadded",[a]);return s.setAttribute("width","0px"),s}});$({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r,a=ae(e[0],"size").value,s=e[1];return{type:"raisebox",mode:t.mode,dy:a,body:s}},htmlBuilder(r,e){var t=ne(r.body,e),a=fe(r.dy,e);return M.makeVList({positionType:"shift",positionData:-a,children:[{type:"elem",elem:t}]},e)},mathmlBuilder(r,e){var t=new I.MathNode("mpadded",[ce(r.body,e)]),a=r.dy.number+r.dy.unit;return t.setAttribute("voffset",a),t}});$({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(r){var{parser:e}=r;return{type:"internal",mode:e.mode}}});$({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(r,e,t){var{parser:a}=r,s=t[0],n=ae(e[0],"size"),l=ae(e[1],"size");return{type:"rule",mode:a.mode,shift:s&&ae(s,"size").value,width:n.value,height:l.value}},htmlBuilder(r,e){var t=M.makeSpan(["mord","rule"],[],e),a=fe(r.width,e),s=fe(r.height,e),n=r.shift?fe(r.shift,e):0;return t.style.borderRightWidth=P(a),t.style.borderTopWidth=P(s),t.style.bottom=P(n),t.width=a,t.height=s+n,t.depth=-n,t.maxFontSize=s*1.125*e.sizeMultiplier,t},mathmlBuilder(r,e){var t=fe(r.width,e),a=fe(r.height,e),s=r.shift?fe(r.shift,e):0,n=e.color&&e.getColor()||"black",l=new I.MathNode("mspace");l.setAttribute("mathbackground",n),l.setAttribute("width",P(t)),l.setAttribute("height",P(a));var c=new I.MathNode("mpadded",[l]);return s>=0?c.setAttribute("height",P(s)):(c.setAttribute("height",P(s)),c.setAttribute("depth",P(-s))),c.setAttribute("voffset",P(s)),c}});function Ps(r,e,t){for(var a=we(r,e,!1),s=e.sizeMultiplier/t.sizeMultiplier,n=0;n<a.length;n++){var l=a[n].classes.indexOf("sizing");l<0?Array.prototype.push.apply(a[n].classes,e.sizingClasses(t)):a[n].classes[l+1]==="reset-size"+e.size&&(a[n].classes[l+1]="reset-size"+t.size),a[n].height*=s,a[n].depth*=s}return M.makeFragment(a)}var fa=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],Dl=(r,e)=>{var t=e.havingSize(r.size);return Ps(r.body,t,e)};$({type:"sizing",names:fa,props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{breakOnTokenText:t,funcName:a,parser:s}=r,n=s.parseExpression(!1,t);return{type:"sizing",mode:s.mode,size:fa.indexOf(a)+1,body:n}},htmlBuilder:Dl,mathmlBuilder:(r,e)=>{var t=e.havingSize(r.size),a=qe(r.body,t),s=new I.MathNode("mstyle",a);return s.setAttribute("mathsize",P(t.sizeMultiplier)),s}});$({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(r,e,t)=>{var{parser:a}=r,s=!1,n=!1,l=t[0]&&ae(t[0],"ordgroup");if(l)for(var c="",d=0;d<l.body.length;++d){var p=l.body[d];if(c=p.text,c==="t")s=!0;else if(c==="b")n=!0;else{s=!1,n=!1;break}}else s=!0,n=!0;var f=e[0];return{type:"smash",mode:a.mode,body:f,smashHeight:s,smashDepth:n}},htmlBuilder:(r,e)=>{var t=M.makeSpan([],[ne(r.body,e)]);if(!r.smashHeight&&!r.smashDepth)return t;if(r.smashHeight&&(t.height=0,t.children))for(var a=0;a<t.children.length;a++)t.children[a].height=0;if(r.smashDepth&&(t.depth=0,t.children))for(var s=0;s<t.children.length;s++)t.children[s].depth=0;var n=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t}]},e);return M.makeSpan(["mord"],[n],e)},mathmlBuilder:(r,e)=>{var t=new I.MathNode("mpadded",[ce(r.body,e)]);return r.smashHeight&&t.setAttribute("height","0px"),r.smashDepth&&t.setAttribute("depth","0px"),t}});$({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:a}=r,s=t[0],n=e[0];return{type:"sqrt",mode:a.mode,body:n,index:s}},htmlBuilder(r,e){var t=ne(r.body,e.havingCrampedStyle());t.height===0&&(t.height=e.fontMetrics().xHeight),t=M.wrapFragment(t,e);var a=e.fontMetrics(),s=a.defaultRuleThickness,n=s;e.style.id<Z.TEXT.id&&(n=e.fontMetrics().xHeight);var l=s+n/4,c=t.height+t.depth+l+s,{span:d,ruleWidth:p,advanceWidth:f}=s0.sqrtImage(c,e),x=d.height-p;x>t.height+t.depth+l&&(l=(l+x-t.height-t.depth)/2);var y=d.height-t.height-l-p;t.style.paddingLeft=P(f);var b=M.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t,wrapperClasses:["svg-align"]},{type:"kern",size:-(t.height+y)},{type:"elem",elem:d},{type:"kern",size:p}]},e);if(r.index){var S=e.havingStyle(Z.SCRIPTSCRIPT),k=ne(r.index,S,e),C=.6*(b.height-b.depth),B=M.makeVList({positionType:"shift",positionData:-C,children:[{type:"elem",elem:k}]},e),z=M.makeSpan(["root"],[B]);return M.makeSpan(["mord","sqrt"],[z,b],e)}else return M.makeSpan(["mord","sqrt"],[b],e)},mathmlBuilder(r,e){var{body:t,index:a}=r;return a?new I.MathNode("mroot",[ce(t,e),ce(a,e)]):new I.MathNode("msqrt",[ce(t,e)])}});var ga={display:Z.DISPLAY,text:Z.TEXT,script:Z.SCRIPT,scriptscript:Z.SCRIPTSCRIPT};$({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r,e){var{breakOnTokenText:t,funcName:a,parser:s}=r,n=s.parseExpression(!0,t),l=a.slice(1,a.length-5);return{type:"styling",mode:s.mode,style:l,body:n}},htmlBuilder(r,e){var t=ga[r.style],a=e.havingStyle(t).withFont("");return Ps(r.body,a,e)},mathmlBuilder(r,e){var t=ga[r.style],a=e.havingStyle(t),s=qe(r.body,a),n=new I.MathNode("mstyle",s),l={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},c=l[r.style];return n.setAttribute("scriptlevel",c[0]),n.setAttribute("displaystyle",c[1]),n}});var Bl=function(e,t){var a=e.base;if(a)if(a.type==="op"){var s=a.limits&&(t.style.size===Z.DISPLAY.size||a.alwaysHandleSupSub);return s?I0:null}else if(a.type==="operatorname"){var n=a.alwaysHandleSupSub&&(t.style.size===Z.DISPLAY.size||a.limits);return n?Rs:null}else{if(a.type==="accent")return ie.isCharacterBox(a.base)?kr:null;if(a.type==="horizBrace"){var l=!e.sub;return l===a.isOver?Is:null}else return null}else return null};N0({type:"supsub",htmlBuilder(r,e){var t=Bl(r,e);if(t)return t(r,e);var{base:a,sup:s,sub:n}=r,l=ne(a,e),c,d,p=e.fontMetrics(),f=0,x=0,y=a&&ie.isCharacterBox(a);if(s){var b=e.havingStyle(e.style.sup());c=ne(s,b,e),y||(f=l.height-b.fontMetrics().supDrop*b.sizeMultiplier/e.sizeMultiplier)}if(n){var S=e.havingStyle(e.style.sub());d=ne(n,S,e),y||(x=l.depth+S.fontMetrics().subDrop*S.sizeMultiplier/e.sizeMultiplier)}var k;e.style===Z.DISPLAY?k=p.sup1:e.style.cramped?k=p.sup3:k=p.sup2;var C=e.sizeMultiplier,B=P(.5/p.ptPerEm/C),z=null;if(d){var U=r.base&&r.base.type==="op"&&r.base.name&&(r.base.name==="\\oiint"||r.base.name==="\\oiiint");(l instanceof Ge||U)&&(z=P(-l.italic))}var R;if(c&&d){f=Math.max(f,k,c.depth+.25*p.xHeight),x=Math.max(x,p.sub2);var O=p.defaultRuleThickness,X=4*O;if(f-c.depth-(d.height-x)<X){x=X-(f-c.depth)+d.height;var F=.8*p.xHeight-(f-c.depth);F>0&&(f+=F,x-=F)}var q=[{type:"elem",elem:d,shift:x,marginRight:B,marginLeft:z},{type:"elem",elem:c,shift:-f,marginRight:B}];R=M.makeVList({positionType:"individualShift",children:q},e)}else if(d){x=Math.max(x,p.sub1,d.height-.8*p.xHeight);var N=[{type:"elem",elem:d,marginLeft:z,marginRight:B}];R=M.makeVList({positionType:"shift",positionData:x,children:N},e)}else if(c)f=Math.max(f,k,c.depth+.25*p.xHeight),R=M.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:c,marginRight:B}]},e);else throw new Error("supsub must have either sup or sub.");var j=nr(l,"right")||"mord";return M.makeSpan([j],[l,M.makeSpan(["msupsub"],[R])],e)},mathmlBuilder(r,e){var t=!1,a,s;r.base&&r.base.type==="horizBrace"&&(s=!!r.sup,s===r.base.isOver&&(t=!0,a=r.base.isOver)),r.base&&(r.base.type==="op"||r.base.type==="operatorname")&&(r.base.parentIsSupSub=!0);var n=[ce(r.base,e)];r.sub&&n.push(ce(r.sub,e)),r.sup&&n.push(ce(r.sup,e));var l;if(t)l=a?"mover":"munder";else if(r.sub)if(r.sup){var p=r.base;p&&p.type==="op"&&p.limits&&e.style===Z.DISPLAY||p&&p.type==="operatorname"&&p.alwaysHandleSupSub&&(e.style===Z.DISPLAY||p.limits)?l="munderover":l="msubsup"}else{var d=r.base;d&&d.type==="op"&&d.limits&&(e.style===Z.DISPLAY||d.alwaysHandleSupSub)||d&&d.type==="operatorname"&&d.alwaysHandleSupSub&&(d.limits||e.style===Z.DISPLAY)?l="munder":l="msub"}else{var c=r.base;c&&c.type==="op"&&c.limits&&(e.style===Z.DISPLAY||c.alwaysHandleSupSub)||c&&c.type==="operatorname"&&c.alwaysHandleSupSub&&(c.limits||e.style===Z.DISPLAY)?l="mover":l="msup"}return new I.MathNode(l,n)}});N0({type:"atom",htmlBuilder(r,e){return M.mathsym(r.text,r.mode,e,["m"+r.family])},mathmlBuilder(r,e){var t=new I.MathNode("mo",[Ue(r.text,r.mode)]);if(r.family==="bin"){var a=yr(r,e);a==="bold-italic"&&t.setAttribute("mathvariant",a)}else r.family==="punct"?t.setAttribute("separator","true"):(r.family==="open"||r.family==="close")&&t.setAttribute("stretchy","false");return t}});var Os={mi:"italic",mn:"normal",mtext:"normal"};N0({type:"mathord",htmlBuilder(r,e){return M.makeOrd(r,e,"mathord")},mathmlBuilder(r,e){var t=new I.MathNode("mi",[Ue(r.text,r.mode,e)]),a=yr(r,e)||"italic";return a!==Os[t.type]&&t.setAttribute("mathvariant",a),t}});N0({type:"textord",htmlBuilder(r,e){return M.makeOrd(r,e,"textord")},mathmlBuilder(r,e){var t=Ue(r.text,r.mode,e),a=yr(r,e)||"normal",s;return r.mode==="text"?s=new I.MathNode("mtext",[t]):/[0-9]/.test(r.text)?s=new I.MathNode("mn",[t]):r.text==="\\prime"?s=new I.MathNode("mo",[t]):s=new I.MathNode("mi",[t]),a!==Os[s.type]&&s.setAttribute("mathvariant",a),s}});var Xt={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Yt={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};N0({type:"spacing",htmlBuilder(r,e){if(Yt.hasOwnProperty(r.text)){var t=Yt[r.text].className||"";if(r.mode==="text"){var a=M.makeOrd(r,e,"textord");return a.classes.push(t),a}else return M.makeSpan(["mspace",t],[M.mathsym(r.text,r.mode,e)],e)}else{if(Xt.hasOwnProperty(r.text))return M.makeSpan(["mspace",Xt[r.text]],[],e);throw new E('Unknown type of space "'+r.text+'"')}},mathmlBuilder(r,e){var t;if(Yt.hasOwnProperty(r.text))t=new I.MathNode("mtext",[new I.TextNode(" ")]);else{if(Xt.hasOwnProperty(r.text))return new I.MathNode("mspace");throw new E('Unknown type of space "'+r.text+'"')}return t}});var va=()=>{var r=new I.MathNode("mtd",[]);return r.setAttribute("width","50%"),r};N0({type:"tag",mathmlBuilder(r,e){var t=new I.MathNode("mtable",[new I.MathNode("mtr",[va(),new I.MathNode("mtd",[b0(r.body,e)]),va(),new I.MathNode("mtd",[b0(r.tag,e)])])]);return t.setAttribute("width","100%"),t}});var xa={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},ba={"\\textbf":"textbf","\\textmd":"textmd"},Fl={"\\textit":"textit","\\textup":"textup"},ya=(r,e)=>{var t=r.font;if(t){if(xa[t])return e.withTextFontFamily(xa[t]);if(ba[t])return e.withTextFontWeight(ba[t]);if(t==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(Fl[t])};$({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,s=e[0];return{type:"text",mode:t.mode,body:xe(s),font:a}},htmlBuilder(r,e){var t=ya(r,e),a=we(r.body,t,!0);return M.makeSpan(["mord","text"],a,t)},mathmlBuilder(r,e){var t=ya(r,e);return b0(r.body,t)}});$({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"underline",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=ne(r.body,e),a=M.makeLineSpan("underline-line",e),s=e.fontMetrics().defaultRuleThickness,n=M.makeVList({positionType:"top",positionData:t.height,children:[{type:"kern",size:s},{type:"elem",elem:a},{type:"kern",size:3*s},{type:"elem",elem:t}]},e);return M.makeSpan(["mord","underline"],[n],e)},mathmlBuilder(r,e){var t=new I.MathNode("mo",[new I.TextNode("‾")]);t.setAttribute("stretchy","true");var a=new I.MathNode("munder",[ce(r.body,e),t]);return a.setAttribute("accentunder","true"),a}});$({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"vcenter",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=ne(r.body,e),a=e.fontMetrics().axisHeight,s=.5*(t.height-a-(t.depth+a));return M.makeVList({positionType:"shift",positionData:s,children:[{type:"elem",elem:t}]},e)},mathmlBuilder(r,e){return new I.MathNode("mpadded",[ce(r.body,e)],["vcenter"])}});$({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(r,e,t){throw new E("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(r,e){for(var t=wa(r),a=[],s=e.havingStyle(e.style.text()),n=0;n<t.length;n++){var l=t[n];l==="~"&&(l="\\textasciitilde"),a.push(M.makeSymbol(l,"Typewriter-Regular",r.mode,s,["mord","texttt"]))}return M.makeSpan(["mord","text"].concat(s.sizingClasses(e)),M.tryCombineChars(a),s)},mathmlBuilder(r,e){var t=new I.TextNode(wa(r)),a=new I.MathNode("mtext",[t]);return a.setAttribute("mathvariant","monospace"),a}});var wa=r=>r.body.replace(/ /g,r.star?"␣":" "),f0=os,Ls=`[ \r
|
|
261
261
|
]`,Il="\\\\[a-zA-Z@]+",El="\\\\[^\uD800-\uDFFF]",ql="("+Il+")"+Ls+"*",Rl=`\\\\(
|
|
262
262
|
|[ \r ]+
|
|
263
263
|
?)[ \r ]*`,ur="[̀-ͯ]",Pl=new RegExp(ur+"+$"),Ol="("+Ls+"+)|"+(Rl+"|")+"([!-\\[\\]-‧-豈-]"+(ur+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(ur+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+ql)+("|"+El+")");class ka{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Ol,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new Oe("EOF",new Ee(this,t,t));var a=this.tokenRegex.exec(e);if(a===null||a.index!==t)throw new E("Unexpected character: '"+e[t]+"'",new Oe(e[t],new Ee(this,t,t+1)));var s=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[s]===14){var n=e.indexOf(`
|
|
264
|
-
`,this.tokenRegex.lastIndex);return n===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=n+1,this.lex()}return new Oe(s,new Ee(this,t,this.tokenRegex.lastIndex))}}class Ll{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new E("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,a){if(a===void 0&&(a=!1),a){for(var s=0;s<this.undefStack.length;s++)delete this.undefStack[s][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var n=this.undefStack[this.undefStack.length-1];n&&!n.hasOwnProperty(e)&&(n[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}}var Hl=js;m("\\noexpand",function(r){var e=r.popToken();return r.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});m("\\expandafter",function(r){var e=r.popToken();return r.expandOnce(!0),{tokens:[e],numArgs:0}});m("\\@firstoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[0],numArgs:0}});m("\\@secondoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[1],numArgs:0}});m("\\@ifnextchar",function(r){var e=r.consumeArgs(3);r.consumeSpaces();var t=r.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});m("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");m("\\TextOrMath",function(r){var e=r.consumeArgs(2);return r.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var Sa={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};m("\\char",function(r){var e=r.popToken(),t,a="";if(e.text==="'")t=8,e=r.popToken();else if(e.text==='"')t=16,e=r.popToken();else if(e.text==="`")if(e=r.popToken(),e.text[0]==="\\")a=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new E("\\char` missing argument");a=e.text.charCodeAt(0)}else t=10;if(t){if(a=Sa[e.text],a==null||a>=t)throw new E("Invalid base-"+t+" digit "+e.text);for(var s;(s=Sa[r.future().text])!=null&&s<t;)a*=t,a+=s,r.popToken()}return"\\@char{"+a+"}"});var Cr=(r,e,t,a)=>{var s=r.consumeArg().tokens;if(s.length!==1)throw new E("\\newcommand's first argument must be a macro name");var n=s[0].text,l=r.isDefined(n);if(l&&!e)throw new E("\\newcommand{"+n+"} attempting to redefine "+(n+"; use \\renewcommand"));if(!l&&!t)throw new E("\\renewcommand{"+n+"} when command "+n+" does not yet exist; use \\newcommand");var c=0;if(s=r.consumeArg().tokens,s.length===1&&s[0].text==="["){for(var d="",p=r.expandNextToken();p.text!=="]"&&p.text!=="EOF";)d+=p.text,p=r.expandNextToken();if(!d.match(/^\s*[0-9]+\s*$/))throw new E("Invalid number of arguments: "+d);c=parseInt(d),s=r.consumeArg().tokens}return l&&a||r.macros.set(n,{tokens:s,numArgs:c}),""};m("\\newcommand",r=>Cr(r,!1,!0,!1));m("\\renewcommand",r=>Cr(r,!0,!1,!1));m("\\providecommand",r=>Cr(r,!0,!0,!0));m("\\message",r=>{var e=r.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""});m("\\errmessage",r=>{var e=r.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""});m("\\show",r=>{var e=r.popToken(),t=e.text;return console.log(e,r.macros.get(t),p0[t],de.math[t],de.text[t]),""});m("\\bgroup","{");m("\\egroup","}");m("~","\\nobreakspace");m("\\lq","`");m("\\rq","'");m("\\aa","\\r a");m("\\AA","\\r A");m("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");m("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");m("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");m("ℬ","\\mathscr{B}");m("ℰ","\\mathscr{E}");m("ℱ","\\mathscr{F}");m("ℋ","\\mathscr{H}");m("ℐ","\\mathscr{I}");m("ℒ","\\mathscr{L}");m("ℳ","\\mathscr{M}");m("ℛ","\\mathscr{R}");m("ℭ","\\mathfrak{C}");m("ℌ","\\mathfrak{H}");m("ℨ","\\mathfrak{Z}");m("\\Bbbk","\\Bbb{k}");m("·","\\cdotp");m("\\llap","\\mathllap{\\textrm{#1}}");m("\\rlap","\\mathrlap{\\textrm{#1}}");m("\\clap","\\mathclap{\\textrm{#1}}");m("\\mathstrut","\\vphantom{(}");m("\\underbar","\\underline{\\text{#1}}");m("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');m("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");m("\\ne","\\neq");m("≠","\\neq");m("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");m("∉","\\notin");m("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");m("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");m("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");m("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");m("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");m("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");m("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");m("⟂","\\perp");m("‼","\\mathclose{!\\mkern-0.8mu!}");m("∌","\\notni");m("⌜","\\ulcorner");m("⌝","\\urcorner");m("⌞","\\llcorner");m("⌟","\\lrcorner");m("©","\\copyright");m("®","\\textregistered");m("️","\\textregistered");m("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');m("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');m("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');m("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');m("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");m("⋮","\\vdots");m("\\varGamma","\\mathit{\\Gamma}");m("\\varDelta","\\mathit{\\Delta}");m("\\varTheta","\\mathit{\\Theta}");m("\\varLambda","\\mathit{\\Lambda}");m("\\varXi","\\mathit{\\Xi}");m("\\varPi","\\mathit{\\Pi}");m("\\varSigma","\\mathit{\\Sigma}");m("\\varUpsilon","\\mathit{\\Upsilon}");m("\\varPhi","\\mathit{\\Phi}");m("\\varPsi","\\mathit{\\Psi}");m("\\varOmega","\\mathit{\\Omega}");m("\\substack","\\begin{subarray}{c}#1\\end{subarray}");m("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");m("\\boxed","\\fbox{$\\displaystyle{#1}$}");m("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");m("\\implies","\\DOTSB\\;\\Longrightarrow\\;");m("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");m("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");m("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Ma={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};m("\\dots",function(r){var e="\\dotso",t=r.expandAfterFuture().text;return t in Ma?e=Ma[t]:(t.slice(0,4)==="\\not"||t in de.math&&["bin","rel"].includes(de.math[t].group))&&(e="\\dotsb"),e});var Dr={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};m("\\dotso",function(r){var e=r.future().text;return e in Dr?"\\ldots\\,":"\\ldots"});m("\\dotsc",function(r){var e=r.future().text;return e in Dr&&e!==","?"\\ldots\\,":"\\ldots"});m("\\cdots",function(r){var e=r.future().text;return e in Dr?"\\@cdots\\,":"\\@cdots"});m("\\dotsb","\\cdots");m("\\dotsm","\\cdots");m("\\dotsi","\\!\\cdots");m("\\dotsx","\\ldots\\,");m("\\DOTSI","\\relax");m("\\DOTSB","\\relax");m("\\DOTSX","\\relax");m("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");m("\\,","\\tmspace+{3mu}{.1667em}");m("\\thinspace","\\,");m("\\>","\\mskip{4mu}");m("\\:","\\tmspace+{4mu}{.2222em}");m("\\medspace","\\:");m("\\;","\\tmspace+{5mu}{.2777em}");m("\\thickspace","\\;");m("\\!","\\tmspace-{3mu}{.1667em}");m("\\negthinspace","\\!");m("\\negmedspace","\\tmspace-{4mu}{.2222em}");m("\\negthickspace","\\tmspace-{5mu}{.277em}");m("\\enspace","\\kern.5em ");m("\\enskip","\\hskip.5em\\relax");m("\\quad","\\hskip1em\\relax");m("\\qquad","\\hskip2em\\relax");m("\\tag","\\@ifstar\\tag@literal\\tag@paren");m("\\tag@paren","\\tag@literal{({#1})}");m("\\tag@literal",r=>{if(r.macros.get("\\df@tag"))throw new E("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});m("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");m("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");m("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");m("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");m("\\newline","\\\\\\relax");m("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Hs=P(Ke["Main-Regular"][84][1]-.7*Ke["Main-Regular"][65][1]);m("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Hs+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");m("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Hs+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");m("\\hspace","\\@ifstar\\@hspacer\\@hspace");m("\\@hspace","\\hskip #1\\relax");m("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");m("\\ordinarycolon",":");m("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");m("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');m("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');m("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');m("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');m("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');m("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');m("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');m("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');m("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');m("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');m("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');m("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');m("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');m("∷","\\dblcolon");m("∹","\\eqcolon");m("≔","\\coloneqq");m("≕","\\eqqcolon");m("⩴","\\Coloneqq");m("\\ratio","\\vcentcolon");m("\\coloncolon","\\dblcolon");m("\\colonequals","\\coloneqq");m("\\coloncolonequals","\\Coloneqq");m("\\equalscolon","\\eqqcolon");m("\\equalscoloncolon","\\Eqqcolon");m("\\colonminus","\\coloneq");m("\\coloncolonminus","\\Coloneq");m("\\minuscolon","\\eqcolon");m("\\minuscoloncolon","\\Eqcolon");m("\\coloncolonapprox","\\Colonapprox");m("\\coloncolonsim","\\Colonsim");m("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");m("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");m("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");m("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");m("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");m("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");m("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");m("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");m("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");m("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");m("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");m("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");m("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");m("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");m("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");m("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");m("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");m("\\nleqq","\\html@mathml{\\@nleqq}{≰}");m("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");m("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");m("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");m("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");m("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");m("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");m("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");m("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");m("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");m("\\imath","\\html@mathml{\\@imath}{ı}");m("\\jmath","\\html@mathml{\\@jmath}{ȷ}");m("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");m("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");m("⟦","\\llbracket");m("⟧","\\rrbracket");m("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");m("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");m("⦃","\\lBrace");m("⦄","\\rBrace");m("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");m("⦵","\\minuso");m("\\darr","\\downarrow");m("\\dArr","\\Downarrow");m("\\Darr","\\Downarrow");m("\\lang","\\langle");m("\\rang","\\rangle");m("\\uarr","\\uparrow");m("\\uArr","\\Uparrow");m("\\Uarr","\\Uparrow");m("\\N","\\mathbb{N}");m("\\R","\\mathbb{R}");m("\\Z","\\mathbb{Z}");m("\\alef","\\aleph");m("\\alefsym","\\aleph");m("\\Alpha","\\mathrm{A}");m("\\Beta","\\mathrm{B}");m("\\bull","\\bullet");m("\\Chi","\\mathrm{X}");m("\\clubs","\\clubsuit");m("\\cnums","\\mathbb{C}");m("\\Complex","\\mathbb{C}");m("\\Dagger","\\ddagger");m("\\diamonds","\\diamondsuit");m("\\empty","\\emptyset");m("\\Epsilon","\\mathrm{E}");m("\\Eta","\\mathrm{H}");m("\\exist","\\exists");m("\\harr","\\leftrightarrow");m("\\hArr","\\Leftrightarrow");m("\\Harr","\\Leftrightarrow");m("\\hearts","\\heartsuit");m("\\image","\\Im");m("\\infin","\\infty");m("\\Iota","\\mathrm{I}");m("\\isin","\\in");m("\\Kappa","\\mathrm{K}");m("\\larr","\\leftarrow");m("\\lArr","\\Leftarrow");m("\\Larr","\\Leftarrow");m("\\lrarr","\\leftrightarrow");m("\\lrArr","\\Leftrightarrow");m("\\Lrarr","\\Leftrightarrow");m("\\Mu","\\mathrm{M}");m("\\natnums","\\mathbb{N}");m("\\Nu","\\mathrm{N}");m("\\Omicron","\\mathrm{O}");m("\\plusmn","\\pm");m("\\rarr","\\rightarrow");m("\\rArr","\\Rightarrow");m("\\Rarr","\\Rightarrow");m("\\real","\\Re");m("\\reals","\\mathbb{R}");m("\\Reals","\\mathbb{R}");m("\\Rho","\\mathrm{P}");m("\\sdot","\\cdot");m("\\sect","\\S");m("\\spades","\\spadesuit");m("\\sub","\\subset");m("\\sube","\\subseteq");m("\\supe","\\supseteq");m("\\Tau","\\mathrm{T}");m("\\thetasym","\\vartheta");m("\\weierp","\\wp");m("\\Zeta","\\mathrm{Z}");m("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");m("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");m("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");m("\\bra","\\mathinner{\\langle{#1}|}");m("\\ket","\\mathinner{|{#1}\\rangle}");m("\\braket","\\mathinner{\\langle{#1}\\rangle}");m("\\Bra","\\left\\langle#1\\right|");m("\\Ket","\\left|#1\\right\\rangle");var $s=r=>e=>{var t=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.consumeArg().tokens,n=e.consumeArg().tokens,l=e.macros.get("|"),c=e.macros.get("\\|");e.macros.beginGroup();var d=x=>y=>{r&&(y.macros.set("|",l),s.length&&y.macros.set("\\|",c));var b=x;if(!x&&s.length){var S=y.future();S.text==="|"&&(y.popToken(),b=!0)}return{tokens:b?s:a,numArgs:0}};e.macros.set("|",d(!1)),s.length&&e.macros.set("\\|",d(!0));var p=e.consumeArg().tokens,f=e.expandTokens([...n,...p,...t]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}};m("\\bra@ket",$s(!1));m("\\bra@set",$s(!0));m("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");m("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");m("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");m("\\angln","{\\angl n}");m("\\blue","\\textcolor{##6495ed}{#1}");m("\\orange","\\textcolor{##ffa500}{#1}");m("\\pink","\\textcolor{##ff00af}{#1}");m("\\red","\\textcolor{##df0030}{#1}");m("\\green","\\textcolor{##28ae7b}{#1}");m("\\gray","\\textcolor{gray}{#1}");m("\\purple","\\textcolor{##9d38bd}{#1}");m("\\blueA","\\textcolor{##ccfaff}{#1}");m("\\blueB","\\textcolor{##80f6ff}{#1}");m("\\blueC","\\textcolor{##63d9ea}{#1}");m("\\blueD","\\textcolor{##11accd}{#1}");m("\\blueE","\\textcolor{##0c7f99}{#1}");m("\\tealA","\\textcolor{##94fff5}{#1}");m("\\tealB","\\textcolor{##26edd5}{#1}");m("\\tealC","\\textcolor{##01d1c1}{#1}");m("\\tealD","\\textcolor{##01a995}{#1}");m("\\tealE","\\textcolor{##208170}{#1}");m("\\greenA","\\textcolor{##b6ffb0}{#1}");m("\\greenB","\\textcolor{##8af281}{#1}");m("\\greenC","\\textcolor{##74cf70}{#1}");m("\\greenD","\\textcolor{##1fab54}{#1}");m("\\greenE","\\textcolor{##0d923f}{#1}");m("\\goldA","\\textcolor{##ffd0a9}{#1}");m("\\goldB","\\textcolor{##ffbb71}{#1}");m("\\goldC","\\textcolor{##ff9c39}{#1}");m("\\goldD","\\textcolor{##e07d10}{#1}");m("\\goldE","\\textcolor{##a75a05}{#1}");m("\\redA","\\textcolor{##fca9a9}{#1}");m("\\redB","\\textcolor{##ff8482}{#1}");m("\\redC","\\textcolor{##f9685d}{#1}");m("\\redD","\\textcolor{##e84d39}{#1}");m("\\redE","\\textcolor{##bc2612}{#1}");m("\\maroonA","\\textcolor{##ffbde0}{#1}");m("\\maroonB","\\textcolor{##ff92c6}{#1}");m("\\maroonC","\\textcolor{##ed5fa6}{#1}");m("\\maroonD","\\textcolor{##ca337c}{#1}");m("\\maroonE","\\textcolor{##9e034e}{#1}");m("\\purpleA","\\textcolor{##ddd7ff}{#1}");m("\\purpleB","\\textcolor{##c6b9fc}{#1}");m("\\purpleC","\\textcolor{##aa87ff}{#1}");m("\\purpleD","\\textcolor{##7854ab}{#1}");m("\\purpleE","\\textcolor{##543b78}{#1}");m("\\mintA","\\textcolor{##f5f9e8}{#1}");m("\\mintB","\\textcolor{##edf2df}{#1}");m("\\mintC","\\textcolor{##e0e5cc}{#1}");m("\\grayA","\\textcolor{##f6f7f7}{#1}");m("\\grayB","\\textcolor{##f0f1f2}{#1}");m("\\grayC","\\textcolor{##e3e5e6}{#1}");m("\\grayD","\\textcolor{##d6d8da}{#1}");m("\\grayE","\\textcolor{##babec2}{#1}");m("\\grayF","\\textcolor{##888d93}{#1}");m("\\grayG","\\textcolor{##626569}{#1}");m("\\grayH","\\textcolor{##3b3e40}{#1}");m("\\grayI","\\textcolor{##21242c}{#1}");m("\\kaBlue","\\textcolor{##314453}{#1}");m("\\kaGreen","\\textcolor{##71B307}{#1}");var Gs={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class $l{constructor(e,t,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Ll(Hl,t.macros),this.mode=a,this.stack=[]}feed(e){this.lexer=new ka(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,a,s;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken(),{tokens:s,end:a}=this.consumeArg(["]"])}else({tokens:s,start:t,end:a}=this.consumeArg());return this.pushToken(new Oe("EOF",a.loc)),this.pushTokens(s),new Oe("",Ee.range(t,a))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],a=e&&e.length>0;a||this.consumeSpaces();var s=this.future(),n,l=0,c=0;do{if(n=this.popToken(),t.push(n),n.text==="{")++l;else if(n.text==="}"){if(--l,l===-1)throw new E("Extra }",n)}else if(n.text==="EOF")throw new E("Unexpected end of input in a macro argument, expected '"+(e&&a?e[c]:"}")+"'",n);if(e&&a)if((l===0||l===1&&e[c]==="{")&&n.text===e[c]){if(++c,c===e.length){t.splice(-c,c);break}}else c=0}while(l!==0||a);return s.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:s,end:n}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new E("The length of delimiters doesn't match the number of args!");for(var a=t[0],s=0;s<a.length;s++){var n=this.popToken();if(a[s]!==n.text)throw new E("Use of the macro doesn't match its definition",n)}}for(var l=[],c=0;c<e;c++)l.push(this.consumeArg(t&&t[c+1]).tokens);return l}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new E("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),a=t.text,s=t.noexpand?null:this._getExpansion(a);if(s==null||e&&s.unexpandable){if(e&&s==null&&a[0]==="\\"&&!this.isDefined(a))throw new E("Undefined control sequence: "+a);return this.pushToken(t),!1}this.countExpansion(1);var n=s.tokens,l=this.consumeArgs(s.numArgs,s.delimiters);if(s.numArgs){n=n.slice();for(var c=n.length-1;c>=0;--c){var d=n[c];if(d.text==="#"){if(c===0)throw new E("Incomplete placeholder at end of macro body",d);if(d=n[--c],d.text==="#")n.splice(c+1,1);else if(/^[1-9]$/.test(d.text))n.splice(c,2,...l[+d.text-1]);else throw new E("Not a valid argument number",d)}}}return this.pushTokens(n),n.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Oe(e)]):void 0}expandTokens(e){var t=[],a=this.stack.length;for(this.pushTokens(e);this.stack.length>a;)if(this.expandOnce(!0)===!1){var s=this.stack.pop();s.treatAsRelax&&(s.noexpand=!1,s.treatAsRelax=!1),t.push(s)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(a=>a.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var a=this.lexer.catcodes[e];if(a!=null&&a!==13)return}var s=typeof t=="function"?t(this):t;if(typeof s=="string"){var n=0;if(s.indexOf("#")!==-1)for(var l=s.replace(/##/g,"");l.indexOf("#"+(n+1))!==-1;)++n;for(var c=new ka(s,this.settings),d=[],p=c.lex();p.text!=="EOF";)d.push(p),p=c.lex();d.reverse();var f={tokens:d,numArgs:n};return f}return s}isDefined(e){return this.macros.has(e)||p0.hasOwnProperty(e)||de.math.hasOwnProperty(e)||de.text.hasOwnProperty(e)||Gs.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:p0.hasOwnProperty(e)&&!p0[e].primitive}}var Na=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,lt=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Kt={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Ta={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class zt{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new $l(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new E("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new Oe("}")),this.gullet.pushTokens(e);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,a}parseExpression(e,t){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var s=this.fetch();if(zt.endOfExpression.indexOf(s.text)!==-1||t&&s.text===t||e&&p0[s.text]&&p0[s.text].infix)break;var n=this.parseAtom(t);if(n){if(n.type==="internal")continue}else break;a.push(n)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(e){for(var t=-1,a,s=0;s<e.length;s++)if(e[s].type==="infix"){if(t!==-1)throw new E("only one infix operator per group",e[s].token);t=s,a=e[s].replaceWith}if(t!==-1&&a){var n,l,c=e.slice(0,t),d=e.slice(t+1);c.length===1&&c[0].type==="ordgroup"?n=c[0]:n={type:"ordgroup",mode:this.mode,body:c},d.length===1&&d[0].type==="ordgroup"?l=d[0]:l={type:"ordgroup",mode:this.mode,body:d};var p;return a==="\\\\abovefrac"?p=this.callFunction(a,[n,e[t],l],[]):p=this.callFunction(a,[n,l],[]),[p]}else return e}handleSupSubscript(e){var t=this.fetch(),a=t.text;this.consume(),this.consumeSpaces();var s;do{var n;s=this.parseGroup(e)}while(((n=s)==null?void 0:n.type)==="internal");if(!s)throw new E("Expected group after '"+a+"'",t);return s}formatUnsupportedCmd(e){for(var t=[],a=0;a<e.length;a++)t.push({type:"textord",mode:"text",text:e[a]});var s={type:"text",mode:this.mode,body:t},n={type:"color",mode:this.mode,color:this.settings.errorColor,body:[s]};return n}parseAtom(e){var t=this.parseGroup("atom",e);if(t?.type==="internal"||this.mode==="text")return t;for(var a,s;;){this.consumeSpaces();var n=this.fetch();if(n.text==="\\limits"||n.text==="\\nolimits"){if(t&&t.type==="op"){var l=n.text==="\\limits";t.limits=l,t.alwaysHandleSupSub=!0}else if(t&&t.type==="operatorname")t.alwaysHandleSupSub&&(t.limits=n.text==="\\limits");else throw new E("Limit controls must follow a math operator",n);this.consume()}else if(n.text==="^"){if(a)throw new E("Double superscript",n);a=this.handleSupSubscript("superscript")}else if(n.text==="_"){if(s)throw new E("Double subscript",n);s=this.handleSupSubscript("subscript")}else if(n.text==="'"){if(a)throw new E("Double superscript",n);var c={type:"textord",mode:this.mode,text:"\\prime"},d=[c];for(this.consume();this.fetch().text==="'";)d.push(c),this.consume();this.fetch().text==="^"&&d.push(this.handleSupSubscript("superscript")),a={type:"ordgroup",mode:this.mode,body:d}}else if(lt[n.text]){var p=Na.test(n.text),f=[];for(f.push(new Oe(lt[n.text])),this.consume();;){var x=this.fetch().text;if(!lt[x]||Na.test(x)!==p)break;f.unshift(new Oe(lt[x])),this.consume()}var y=this.subparse(f);p?s={type:"ordgroup",mode:"math",body:y}:a={type:"ordgroup",mode:"math",body:y}}else break}return a||s?{type:"supsub",mode:this.mode,base:t,sup:a,sub:s}:t}parseFunction(e,t){var a=this.fetch(),s=a.text,n=p0[s];if(!n)return null;if(this.consume(),t&&t!=="atom"&&!n.allowedInArgument)throw new E("Got function '"+s+"' with no arguments"+(t?" as "+t:""),a);if(this.mode==="text"&&!n.allowedInText)throw new E("Can't use function '"+s+"' in text mode",a);if(this.mode==="math"&&n.allowedInMath===!1)throw new E("Can't use function '"+s+"' in math mode",a);var{args:l,optArgs:c}=this.parseArguments(s,n);return this.callFunction(s,l,c,a,e)}callFunction(e,t,a,s,n){var l={funcName:e,parser:this,token:s,breakOnTokenText:n},c=p0[e];if(c&&c.handler)return c.handler(l,t,a);throw new E("No function handler for "+e)}parseArguments(e,t){var a=t.numArgs+t.numOptionalArgs;if(a===0)return{args:[],optArgs:[]};for(var s=[],n=[],l=0;l<a;l++){var c=t.argTypes&&t.argTypes[l],d=l<t.numOptionalArgs;(t.primitive&&c==null||t.type==="sqrt"&&l===1&&n[0]==null)&&(c="primitive");var p=this.parseGroupOfType("argument to '"+e+"'",c,d);if(d)n.push(p);else if(p!=null)s.push(p);else throw new E("Null argument, please report this as a bug")}return{args:s,optArgs:n}}parseGroupOfType(e,t,a){switch(t){case"color":return this.parseColorGroup(a);case"size":return this.parseSizeGroup(a);case"url":return this.parseUrlGroup(a);case"math":case"text":return this.parseArgumentGroup(a,t);case"hbox":{var s=this.parseArgumentGroup(a,"text");return s!=null?{type:"styling",mode:s.mode,body:[s],style:"text"}:null}case"raw":{var n=this.parseStringGroup("raw",a);return n!=null?{type:"raw",mode:"text",string:n.text}:null}case"primitive":{if(a)throw new E("A primitive argument cannot be optional");var l=this.parseGroup(e);if(l==null)throw new E("Expected group as "+e,this.fetch());return l}case"original":case null:case void 0:return this.parseArgumentGroup(a);default:throw new E("Unknown group type as "+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(e,t){var a=this.gullet.scanArgument(t);if(a==null)return null;for(var s="",n;(n=this.fetch()).text!=="EOF";)s+=n.text,this.consume();return this.consume(),a.text=s,a}parseRegexGroup(e,t){for(var a=this.fetch(),s=a,n="",l;(l=this.fetch()).text!=="EOF"&&e.test(n+l.text);)s=l,n+=s.text,this.consume();if(n==="")throw new E("Invalid "+t+": '"+a.text+"'",a);return a.range(s,n)}parseColorGroup(e){var t=this.parseStringGroup("color",e);if(t==null)return null;var a=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!a)throw new E("Invalid color: '"+t.text+"'",t);var s=a[0];return/^[0-9a-f]{6}$/i.test(s)&&(s="#"+s),{type:"color-token",mode:this.mode,color:s}}parseSizeGroup(e){var t,a=!1;if(this.gullet.consumeSpaces(),!e&&this.gullet.future().text!=="{"?t=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):t=this.parseStringGroup("size",e),!t)return null;!e&&t.text.length===0&&(t.text="0pt",a=!0);var s=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!s)throw new E("Invalid size: '"+t.text+"'",t);var n={number:+(s[1]+s[2]),unit:s[3]};if(!_a(n))throw new E("Invalid unit: '"+n.unit+"'",t);return{type:"size",mode:this.mode,value:n,isBlank:a}}parseUrlGroup(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var t=this.parseStringGroup("url",e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),t==null)return null;var a=t.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}}parseArgumentGroup(e,t){var a=this.gullet.scanArgument(e);if(a==null)return null;var s=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var n=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var l={type:"ordgroup",mode:this.mode,loc:a.loc,body:n};return t&&this.switchMode(s),l}parseGroup(e,t){var a=this.fetch(),s=a.text,n;if(s==="{"||s==="\\begingroup"){this.consume();var l=s==="{"?"}":"\\endgroup";this.gullet.beginGroup();var c=this.parseExpression(!1,l),d=this.fetch();this.expect(l),this.gullet.endGroup(),n={type:"ordgroup",mode:this.mode,loc:Ee.range(a,d),body:c,semisimple:s==="\\begingroup"||void 0}}else if(n=this.parseFunction(t,e)||this.parseSymbol(),n==null&&s[0]==="\\"&&!Gs.hasOwnProperty(s)){if(this.settings.throwOnError)throw new E("Undefined control sequence: "+s,a);n=this.formatUnsupportedCmd(s),this.consume()}return n}formLigatures(e){for(var t=e.length-1,a=0;a<t;++a){var s=e[a],n=s.text;n==="-"&&e[a+1].text==="-"&&(a+1<t&&e[a+2].text==="-"?(e.splice(a,3,{type:"textord",mode:"text",loc:Ee.range(s,e[a+2]),text:"---"}),t-=2):(e.splice(a,2,{type:"textord",mode:"text",loc:Ee.range(s,e[a+1]),text:"--"}),t-=1)),(n==="'"||n==="`")&&e[a+1].text===n&&(e.splice(a,2,{type:"textord",mode:"text",loc:Ee.range(s,e[a+1]),text:n+n}),t-=1)}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var a=t.slice(5),s=a.charAt(0)==="*";if(s&&(a=a.slice(1)),a.length<2||a.charAt(0)!==a.slice(-1))throw new E(`\\verb assertion failed --
|
|
265
|
-
please report what input caused this bug`);return a=a.slice(1,-1),{type:"verb",mode:"text",body:a,star:s}}Ta.hasOwnProperty(t[0])&&!de[this.mode][t[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=Ta[t[0]]+t.slice(1));var n=Pl.exec(t);n&&(t=t.substring(0,n.index),t==="i"?t="ı":t==="j"&&(t="ȷ"));var l;if(de[this.mode][t]){this.settings.strict&&this.mode==="math"&&sr.indexOf(t)>=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var c=de[this.mode][t].group,d=Ee.range(e),p;if(Ci.hasOwnProperty(c)){var f=c;p={type:"atom",mode:this.mode,family:f,loc:d,text:t}}else p={type:c,mode:this.mode,loc:d,text:t};l=p}else if(t.charCodeAt(0)>=128)this.settings.strict&&(Qa(t.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'"'+(" ("+t.charCodeAt(0)+")"),e)),l={type:"textord",mode:"text",loc:Ee.range(e),text:t};else return null;if(this.consume(),n)for(var x=0;x<n[0].length;x++){var y=n[0][x];if(!Kt[y])throw new E("Unknown accent ' "+y+"'",e);var b=Kt[y][this.mode]||Kt[y].text;if(!b)throw new E("Accent "+y+" unsupported in "+this.mode+" mode",e);l={type:"accent",mode:this.mode,loc:Ee.range(e),label:b,isStretchy:!1,isShifty:!0,base:l}}return l}}zt.endOfExpression=["}","\\endgroup","\\end","\\right","&"];var Br=function(e,t){if(!(typeof e=="string"||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var a=new zt(e,t);delete a.gullet.macros.current["\\df@tag"];var s=a.parse();if(delete a.gullet.macros.current["\\current@color"],delete a.gullet.macros.current["\\color"],a.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new E("\\tag works only in display equations");s=[{type:"tag",mode:"text",body:s,tag:a.subparse([new Oe("\\df@tag")])}]}return s},Us=function(e,t,a){t.textContent="";var s=Fr(e,a).toNode();t.appendChild(s)};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),Us=function(){throw new E("KaTeX doesn't work in quirks mode.")});var Gl=function(e,t){var a=Fr(e,t).toMarkup();return a},Ul=function(e,t){var a=new pr(t);return Br(e,a)},Vs=function(e,t,a){if(a.throwOnError||!(e instanceof E))throw e;var s=M.makeSpan(["katex-error"],[new Ge(t)]);return s.setAttribute("title",e.toString()),s.setAttribute("style","color:"+a.errorColor),s},Fr=function(e,t){var a=new pr(t);try{var s=Br(e,a);return _i(s,e,a)}catch(n){return Vs(n,e,a)}},Vl=function(e,t){var a=new pr(t);try{var s=Br(e,a);return el(s,e,a)}catch(n){return Vs(n,e,a)}},Wl="0.16.28",Xl={Span:X0,Anchor:vr,SymbolNode:Ge,SvgNode:n0,PathNode:
|
|
264
|
+
`,this.tokenRegex.lastIndex);return n===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=n+1,this.lex()}return new Oe(s,new Ee(this,t,this.tokenRegex.lastIndex))}}class Ll{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new E("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,a){if(a===void 0&&(a=!1),a){for(var s=0;s<this.undefStack.length;s++)delete this.undefStack[s][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var n=this.undefStack[this.undefStack.length-1];n&&!n.hasOwnProperty(e)&&(n[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}}var Hl=js;m("\\noexpand",function(r){var e=r.popToken();return r.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});m("\\expandafter",function(r){var e=r.popToken();return r.expandOnce(!0),{tokens:[e],numArgs:0}});m("\\@firstoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[0],numArgs:0}});m("\\@secondoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[1],numArgs:0}});m("\\@ifnextchar",function(r){var e=r.consumeArgs(3);r.consumeSpaces();var t=r.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});m("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");m("\\TextOrMath",function(r){var e=r.consumeArgs(2);return r.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var Sa={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};m("\\char",function(r){var e=r.popToken(),t,a="";if(e.text==="'")t=8,e=r.popToken();else if(e.text==='"')t=16,e=r.popToken();else if(e.text==="`")if(e=r.popToken(),e.text[0]==="\\")a=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new E("\\char` missing argument");a=e.text.charCodeAt(0)}else t=10;if(t){if(a=Sa[e.text],a==null||a>=t)throw new E("Invalid base-"+t+" digit "+e.text);for(var s;(s=Sa[r.future().text])!=null&&s<t;)a*=t,a+=s,r.popToken()}return"\\@char{"+a+"}"});var Cr=(r,e,t,a)=>{var s=r.consumeArg().tokens;if(s.length!==1)throw new E("\\newcommand's first argument must be a macro name");var n=s[0].text,l=r.isDefined(n);if(l&&!e)throw new E("\\newcommand{"+n+"} attempting to redefine "+(n+"; use \\renewcommand"));if(!l&&!t)throw new E("\\renewcommand{"+n+"} when command "+n+" does not yet exist; use \\newcommand");var c=0;if(s=r.consumeArg().tokens,s.length===1&&s[0].text==="["){for(var d="",p=r.expandNextToken();p.text!=="]"&&p.text!=="EOF";)d+=p.text,p=r.expandNextToken();if(!d.match(/^\s*[0-9]+\s*$/))throw new E("Invalid number of arguments: "+d);c=parseInt(d),s=r.consumeArg().tokens}return l&&a||r.macros.set(n,{tokens:s,numArgs:c}),""};m("\\newcommand",r=>Cr(r,!1,!0,!1));m("\\renewcommand",r=>Cr(r,!0,!1,!1));m("\\providecommand",r=>Cr(r,!0,!0,!0));m("\\message",r=>{var e=r.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""});m("\\errmessage",r=>{var e=r.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""});m("\\show",r=>{var e=r.popToken(),t=e.text;return console.log(e,r.macros.get(t),f0[t],de.math[t],de.text[t]),""});m("\\bgroup","{");m("\\egroup","}");m("~","\\nobreakspace");m("\\lq","`");m("\\rq","'");m("\\aa","\\r a");m("\\AA","\\r A");m("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");m("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");m("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");m("ℬ","\\mathscr{B}");m("ℰ","\\mathscr{E}");m("ℱ","\\mathscr{F}");m("ℋ","\\mathscr{H}");m("ℐ","\\mathscr{I}");m("ℒ","\\mathscr{L}");m("ℳ","\\mathscr{M}");m("ℛ","\\mathscr{R}");m("ℭ","\\mathfrak{C}");m("ℌ","\\mathfrak{H}");m("ℨ","\\mathfrak{Z}");m("\\Bbbk","\\Bbb{k}");m("·","\\cdotp");m("\\llap","\\mathllap{\\textrm{#1}}");m("\\rlap","\\mathrlap{\\textrm{#1}}");m("\\clap","\\mathclap{\\textrm{#1}}");m("\\mathstrut","\\vphantom{(}");m("\\underbar","\\underline{\\text{#1}}");m("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');m("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");m("\\ne","\\neq");m("≠","\\neq");m("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");m("∉","\\notin");m("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");m("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");m("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");m("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");m("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");m("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");m("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");m("⟂","\\perp");m("‼","\\mathclose{!\\mkern-0.8mu!}");m("∌","\\notni");m("⌜","\\ulcorner");m("⌝","\\urcorner");m("⌞","\\llcorner");m("⌟","\\lrcorner");m("©","\\copyright");m("®","\\textregistered");m("️","\\textregistered");m("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');m("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');m("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');m("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');m("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");m("⋮","\\vdots");m("\\varGamma","\\mathit{\\Gamma}");m("\\varDelta","\\mathit{\\Delta}");m("\\varTheta","\\mathit{\\Theta}");m("\\varLambda","\\mathit{\\Lambda}");m("\\varXi","\\mathit{\\Xi}");m("\\varPi","\\mathit{\\Pi}");m("\\varSigma","\\mathit{\\Sigma}");m("\\varUpsilon","\\mathit{\\Upsilon}");m("\\varPhi","\\mathit{\\Phi}");m("\\varPsi","\\mathit{\\Psi}");m("\\varOmega","\\mathit{\\Omega}");m("\\substack","\\begin{subarray}{c}#1\\end{subarray}");m("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");m("\\boxed","\\fbox{$\\displaystyle{#1}$}");m("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");m("\\implies","\\DOTSB\\;\\Longrightarrow\\;");m("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");m("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");m("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Ma={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};m("\\dots",function(r){var e="\\dotso",t=r.expandAfterFuture().text;return t in Ma?e=Ma[t]:(t.slice(0,4)==="\\not"||t in de.math&&["bin","rel"].includes(de.math[t].group))&&(e="\\dotsb"),e});var Dr={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};m("\\dotso",function(r){var e=r.future().text;return e in Dr?"\\ldots\\,":"\\ldots"});m("\\dotsc",function(r){var e=r.future().text;return e in Dr&&e!==","?"\\ldots\\,":"\\ldots"});m("\\cdots",function(r){var e=r.future().text;return e in Dr?"\\@cdots\\,":"\\@cdots"});m("\\dotsb","\\cdots");m("\\dotsm","\\cdots");m("\\dotsi","\\!\\cdots");m("\\dotsx","\\ldots\\,");m("\\DOTSI","\\relax");m("\\DOTSB","\\relax");m("\\DOTSX","\\relax");m("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");m("\\,","\\tmspace+{3mu}{.1667em}");m("\\thinspace","\\,");m("\\>","\\mskip{4mu}");m("\\:","\\tmspace+{4mu}{.2222em}");m("\\medspace","\\:");m("\\;","\\tmspace+{5mu}{.2777em}");m("\\thickspace","\\;");m("\\!","\\tmspace-{3mu}{.1667em}");m("\\negthinspace","\\!");m("\\negmedspace","\\tmspace-{4mu}{.2222em}");m("\\negthickspace","\\tmspace-{5mu}{.277em}");m("\\enspace","\\kern.5em ");m("\\enskip","\\hskip.5em\\relax");m("\\quad","\\hskip1em\\relax");m("\\qquad","\\hskip2em\\relax");m("\\tag","\\@ifstar\\tag@literal\\tag@paren");m("\\tag@paren","\\tag@literal{({#1})}");m("\\tag@literal",r=>{if(r.macros.get("\\df@tag"))throw new E("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});m("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");m("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");m("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");m("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");m("\\newline","\\\\\\relax");m("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Hs=P(Ke["Main-Regular"][84][1]-.7*Ke["Main-Regular"][65][1]);m("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Hs+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");m("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Hs+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");m("\\hspace","\\@ifstar\\@hspacer\\@hspace");m("\\@hspace","\\hskip #1\\relax");m("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");m("\\ordinarycolon",":");m("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");m("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');m("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');m("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');m("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');m("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');m("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');m("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');m("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');m("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');m("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');m("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');m("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');m("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');m("∷","\\dblcolon");m("∹","\\eqcolon");m("≔","\\coloneqq");m("≕","\\eqqcolon");m("⩴","\\Coloneqq");m("\\ratio","\\vcentcolon");m("\\coloncolon","\\dblcolon");m("\\colonequals","\\coloneqq");m("\\coloncolonequals","\\Coloneqq");m("\\equalscolon","\\eqqcolon");m("\\equalscoloncolon","\\Eqqcolon");m("\\colonminus","\\coloneq");m("\\coloncolonminus","\\Coloneq");m("\\minuscolon","\\eqcolon");m("\\minuscoloncolon","\\Eqcolon");m("\\coloncolonapprox","\\Colonapprox");m("\\coloncolonsim","\\Colonsim");m("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");m("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");m("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");m("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");m("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");m("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");m("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");m("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");m("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");m("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");m("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");m("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");m("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");m("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");m("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");m("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");m("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");m("\\nleqq","\\html@mathml{\\@nleqq}{≰}");m("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");m("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");m("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");m("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");m("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");m("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");m("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");m("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");m("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");m("\\imath","\\html@mathml{\\@imath}{ı}");m("\\jmath","\\html@mathml{\\@jmath}{ȷ}");m("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");m("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");m("⟦","\\llbracket");m("⟧","\\rrbracket");m("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");m("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");m("⦃","\\lBrace");m("⦄","\\rBrace");m("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");m("⦵","\\minuso");m("\\darr","\\downarrow");m("\\dArr","\\Downarrow");m("\\Darr","\\Downarrow");m("\\lang","\\langle");m("\\rang","\\rangle");m("\\uarr","\\uparrow");m("\\uArr","\\Uparrow");m("\\Uarr","\\Uparrow");m("\\N","\\mathbb{N}");m("\\R","\\mathbb{R}");m("\\Z","\\mathbb{Z}");m("\\alef","\\aleph");m("\\alefsym","\\aleph");m("\\Alpha","\\mathrm{A}");m("\\Beta","\\mathrm{B}");m("\\bull","\\bullet");m("\\Chi","\\mathrm{X}");m("\\clubs","\\clubsuit");m("\\cnums","\\mathbb{C}");m("\\Complex","\\mathbb{C}");m("\\Dagger","\\ddagger");m("\\diamonds","\\diamondsuit");m("\\empty","\\emptyset");m("\\Epsilon","\\mathrm{E}");m("\\Eta","\\mathrm{H}");m("\\exist","\\exists");m("\\harr","\\leftrightarrow");m("\\hArr","\\Leftrightarrow");m("\\Harr","\\Leftrightarrow");m("\\hearts","\\heartsuit");m("\\image","\\Im");m("\\infin","\\infty");m("\\Iota","\\mathrm{I}");m("\\isin","\\in");m("\\Kappa","\\mathrm{K}");m("\\larr","\\leftarrow");m("\\lArr","\\Leftarrow");m("\\Larr","\\Leftarrow");m("\\lrarr","\\leftrightarrow");m("\\lrArr","\\Leftrightarrow");m("\\Lrarr","\\Leftrightarrow");m("\\Mu","\\mathrm{M}");m("\\natnums","\\mathbb{N}");m("\\Nu","\\mathrm{N}");m("\\Omicron","\\mathrm{O}");m("\\plusmn","\\pm");m("\\rarr","\\rightarrow");m("\\rArr","\\Rightarrow");m("\\Rarr","\\Rightarrow");m("\\real","\\Re");m("\\reals","\\mathbb{R}");m("\\Reals","\\mathbb{R}");m("\\Rho","\\mathrm{P}");m("\\sdot","\\cdot");m("\\sect","\\S");m("\\spades","\\spadesuit");m("\\sub","\\subset");m("\\sube","\\subseteq");m("\\supe","\\supseteq");m("\\Tau","\\mathrm{T}");m("\\thetasym","\\vartheta");m("\\weierp","\\wp");m("\\Zeta","\\mathrm{Z}");m("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");m("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");m("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");m("\\bra","\\mathinner{\\langle{#1}|}");m("\\ket","\\mathinner{|{#1}\\rangle}");m("\\braket","\\mathinner{\\langle{#1}\\rangle}");m("\\Bra","\\left\\langle#1\\right|");m("\\Ket","\\left|#1\\right\\rangle");var $s=r=>e=>{var t=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.consumeArg().tokens,n=e.consumeArg().tokens,l=e.macros.get("|"),c=e.macros.get("\\|");e.macros.beginGroup();var d=x=>y=>{r&&(y.macros.set("|",l),s.length&&y.macros.set("\\|",c));var b=x;if(!x&&s.length){var S=y.future();S.text==="|"&&(y.popToken(),b=!0)}return{tokens:b?s:a,numArgs:0}};e.macros.set("|",d(!1)),s.length&&e.macros.set("\\|",d(!0));var p=e.consumeArg().tokens,f=e.expandTokens([...n,...p,...t]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}};m("\\bra@ket",$s(!1));m("\\bra@set",$s(!0));m("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");m("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");m("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");m("\\angln","{\\angl n}");m("\\blue","\\textcolor{##6495ed}{#1}");m("\\orange","\\textcolor{##ffa500}{#1}");m("\\pink","\\textcolor{##ff00af}{#1}");m("\\red","\\textcolor{##df0030}{#1}");m("\\green","\\textcolor{##28ae7b}{#1}");m("\\gray","\\textcolor{gray}{#1}");m("\\purple","\\textcolor{##9d38bd}{#1}");m("\\blueA","\\textcolor{##ccfaff}{#1}");m("\\blueB","\\textcolor{##80f6ff}{#1}");m("\\blueC","\\textcolor{##63d9ea}{#1}");m("\\blueD","\\textcolor{##11accd}{#1}");m("\\blueE","\\textcolor{##0c7f99}{#1}");m("\\tealA","\\textcolor{##94fff5}{#1}");m("\\tealB","\\textcolor{##26edd5}{#1}");m("\\tealC","\\textcolor{##01d1c1}{#1}");m("\\tealD","\\textcolor{##01a995}{#1}");m("\\tealE","\\textcolor{##208170}{#1}");m("\\greenA","\\textcolor{##b6ffb0}{#1}");m("\\greenB","\\textcolor{##8af281}{#1}");m("\\greenC","\\textcolor{##74cf70}{#1}");m("\\greenD","\\textcolor{##1fab54}{#1}");m("\\greenE","\\textcolor{##0d923f}{#1}");m("\\goldA","\\textcolor{##ffd0a9}{#1}");m("\\goldB","\\textcolor{##ffbb71}{#1}");m("\\goldC","\\textcolor{##ff9c39}{#1}");m("\\goldD","\\textcolor{##e07d10}{#1}");m("\\goldE","\\textcolor{##a75a05}{#1}");m("\\redA","\\textcolor{##fca9a9}{#1}");m("\\redB","\\textcolor{##ff8482}{#1}");m("\\redC","\\textcolor{##f9685d}{#1}");m("\\redD","\\textcolor{##e84d39}{#1}");m("\\redE","\\textcolor{##bc2612}{#1}");m("\\maroonA","\\textcolor{##ffbde0}{#1}");m("\\maroonB","\\textcolor{##ff92c6}{#1}");m("\\maroonC","\\textcolor{##ed5fa6}{#1}");m("\\maroonD","\\textcolor{##ca337c}{#1}");m("\\maroonE","\\textcolor{##9e034e}{#1}");m("\\purpleA","\\textcolor{##ddd7ff}{#1}");m("\\purpleB","\\textcolor{##c6b9fc}{#1}");m("\\purpleC","\\textcolor{##aa87ff}{#1}");m("\\purpleD","\\textcolor{##7854ab}{#1}");m("\\purpleE","\\textcolor{##543b78}{#1}");m("\\mintA","\\textcolor{##f5f9e8}{#1}");m("\\mintB","\\textcolor{##edf2df}{#1}");m("\\mintC","\\textcolor{##e0e5cc}{#1}");m("\\grayA","\\textcolor{##f6f7f7}{#1}");m("\\grayB","\\textcolor{##f0f1f2}{#1}");m("\\grayC","\\textcolor{##e3e5e6}{#1}");m("\\grayD","\\textcolor{##d6d8da}{#1}");m("\\grayE","\\textcolor{##babec2}{#1}");m("\\grayF","\\textcolor{##888d93}{#1}");m("\\grayG","\\textcolor{##626569}{#1}");m("\\grayH","\\textcolor{##3b3e40}{#1}");m("\\grayI","\\textcolor{##21242c}{#1}");m("\\kaBlue","\\textcolor{##314453}{#1}");m("\\kaGreen","\\textcolor{##71B307}{#1}");var Gs={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class $l{constructor(e,t,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Ll(Hl,t.macros),this.mode=a,this.stack=[]}feed(e){this.lexer=new ka(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,a,s;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken(),{tokens:s,end:a}=this.consumeArg(["]"])}else({tokens:s,start:t,end:a}=this.consumeArg());return this.pushToken(new Oe("EOF",a.loc)),this.pushTokens(s),new Oe("",Ee.range(t,a))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],a=e&&e.length>0;a||this.consumeSpaces();var s=this.future(),n,l=0,c=0;do{if(n=this.popToken(),t.push(n),n.text==="{")++l;else if(n.text==="}"){if(--l,l===-1)throw new E("Extra }",n)}else if(n.text==="EOF")throw new E("Unexpected end of input in a macro argument, expected '"+(e&&a?e[c]:"}")+"'",n);if(e&&a)if((l===0||l===1&&e[c]==="{")&&n.text===e[c]){if(++c,c===e.length){t.splice(-c,c);break}}else c=0}while(l!==0||a);return s.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:s,end:n}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new E("The length of delimiters doesn't match the number of args!");for(var a=t[0],s=0;s<a.length;s++){var n=this.popToken();if(a[s]!==n.text)throw new E("Use of the macro doesn't match its definition",n)}}for(var l=[],c=0;c<e;c++)l.push(this.consumeArg(t&&t[c+1]).tokens);return l}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new E("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),a=t.text,s=t.noexpand?null:this._getExpansion(a);if(s==null||e&&s.unexpandable){if(e&&s==null&&a[0]==="\\"&&!this.isDefined(a))throw new E("Undefined control sequence: "+a);return this.pushToken(t),!1}this.countExpansion(1);var n=s.tokens,l=this.consumeArgs(s.numArgs,s.delimiters);if(s.numArgs){n=n.slice();for(var c=n.length-1;c>=0;--c){var d=n[c];if(d.text==="#"){if(c===0)throw new E("Incomplete placeholder at end of macro body",d);if(d=n[--c],d.text==="#")n.splice(c+1,1);else if(/^[1-9]$/.test(d.text))n.splice(c,2,...l[+d.text-1]);else throw new E("Not a valid argument number",d)}}}return this.pushTokens(n),n.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Oe(e)]):void 0}expandTokens(e){var t=[],a=this.stack.length;for(this.pushTokens(e);this.stack.length>a;)if(this.expandOnce(!0)===!1){var s=this.stack.pop();s.treatAsRelax&&(s.noexpand=!1,s.treatAsRelax=!1),t.push(s)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(a=>a.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var a=this.lexer.catcodes[e];if(a!=null&&a!==13)return}var s=typeof t=="function"?t(this):t;if(typeof s=="string"){var n=0;if(s.indexOf("#")!==-1)for(var l=s.replace(/##/g,"");l.indexOf("#"+(n+1))!==-1;)++n;for(var c=new ka(s,this.settings),d=[],p=c.lex();p.text!=="EOF";)d.push(p),p=c.lex();d.reverse();var f={tokens:d,numArgs:n};return f}return s}isDefined(e){return this.macros.has(e)||f0.hasOwnProperty(e)||de.math.hasOwnProperty(e)||de.text.hasOwnProperty(e)||Gs.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:f0.hasOwnProperty(e)&&!f0[e].primitive}}var Na=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,lt=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Kt={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Ta={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class zt{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new $l(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new E("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new Oe("}")),this.gullet.pushTokens(e);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,a}parseExpression(e,t){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var s=this.fetch();if(zt.endOfExpression.indexOf(s.text)!==-1||t&&s.text===t||e&&f0[s.text]&&f0[s.text].infix)break;var n=this.parseAtom(t);if(n){if(n.type==="internal")continue}else break;a.push(n)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(e){for(var t=-1,a,s=0;s<e.length;s++)if(e[s].type==="infix"){if(t!==-1)throw new E("only one infix operator per group",e[s].token);t=s,a=e[s].replaceWith}if(t!==-1&&a){var n,l,c=e.slice(0,t),d=e.slice(t+1);c.length===1&&c[0].type==="ordgroup"?n=c[0]:n={type:"ordgroup",mode:this.mode,body:c},d.length===1&&d[0].type==="ordgroup"?l=d[0]:l={type:"ordgroup",mode:this.mode,body:d};var p;return a==="\\\\abovefrac"?p=this.callFunction(a,[n,e[t],l],[]):p=this.callFunction(a,[n,l],[]),[p]}else return e}handleSupSubscript(e){var t=this.fetch(),a=t.text;this.consume(),this.consumeSpaces();var s;do{var n;s=this.parseGroup(e)}while(((n=s)==null?void 0:n.type)==="internal");if(!s)throw new E("Expected group after '"+a+"'",t);return s}formatUnsupportedCmd(e){for(var t=[],a=0;a<e.length;a++)t.push({type:"textord",mode:"text",text:e[a]});var s={type:"text",mode:this.mode,body:t},n={type:"color",mode:this.mode,color:this.settings.errorColor,body:[s]};return n}parseAtom(e){var t=this.parseGroup("atom",e);if(t?.type==="internal"||this.mode==="text")return t;for(var a,s;;){this.consumeSpaces();var n=this.fetch();if(n.text==="\\limits"||n.text==="\\nolimits"){if(t&&t.type==="op"){var l=n.text==="\\limits";t.limits=l,t.alwaysHandleSupSub=!0}else if(t&&t.type==="operatorname")t.alwaysHandleSupSub&&(t.limits=n.text==="\\limits");else throw new E("Limit controls must follow a math operator",n);this.consume()}else if(n.text==="^"){if(a)throw new E("Double superscript",n);a=this.handleSupSubscript("superscript")}else if(n.text==="_"){if(s)throw new E("Double subscript",n);s=this.handleSupSubscript("subscript")}else if(n.text==="'"){if(a)throw new E("Double superscript",n);var c={type:"textord",mode:this.mode,text:"\\prime"},d=[c];for(this.consume();this.fetch().text==="'";)d.push(c),this.consume();this.fetch().text==="^"&&d.push(this.handleSupSubscript("superscript")),a={type:"ordgroup",mode:this.mode,body:d}}else if(lt[n.text]){var p=Na.test(n.text),f=[];for(f.push(new Oe(lt[n.text])),this.consume();;){var x=this.fetch().text;if(!lt[x]||Na.test(x)!==p)break;f.unshift(new Oe(lt[x])),this.consume()}var y=this.subparse(f);p?s={type:"ordgroup",mode:"math",body:y}:a={type:"ordgroup",mode:"math",body:y}}else break}return a||s?{type:"supsub",mode:this.mode,base:t,sup:a,sub:s}:t}parseFunction(e,t){var a=this.fetch(),s=a.text,n=f0[s];if(!n)return null;if(this.consume(),t&&t!=="atom"&&!n.allowedInArgument)throw new E("Got function '"+s+"' with no arguments"+(t?" as "+t:""),a);if(this.mode==="text"&&!n.allowedInText)throw new E("Can't use function '"+s+"' in text mode",a);if(this.mode==="math"&&n.allowedInMath===!1)throw new E("Can't use function '"+s+"' in math mode",a);var{args:l,optArgs:c}=this.parseArguments(s,n);return this.callFunction(s,l,c,a,e)}callFunction(e,t,a,s,n){var l={funcName:e,parser:this,token:s,breakOnTokenText:n},c=f0[e];if(c&&c.handler)return c.handler(l,t,a);throw new E("No function handler for "+e)}parseArguments(e,t){var a=t.numArgs+t.numOptionalArgs;if(a===0)return{args:[],optArgs:[]};for(var s=[],n=[],l=0;l<a;l++){var c=t.argTypes&&t.argTypes[l],d=l<t.numOptionalArgs;(t.primitive&&c==null||t.type==="sqrt"&&l===1&&n[0]==null)&&(c="primitive");var p=this.parseGroupOfType("argument to '"+e+"'",c,d);if(d)n.push(p);else if(p!=null)s.push(p);else throw new E("Null argument, please report this as a bug")}return{args:s,optArgs:n}}parseGroupOfType(e,t,a){switch(t){case"color":return this.parseColorGroup(a);case"size":return this.parseSizeGroup(a);case"url":return this.parseUrlGroup(a);case"math":case"text":return this.parseArgumentGroup(a,t);case"hbox":{var s=this.parseArgumentGroup(a,"text");return s!=null?{type:"styling",mode:s.mode,body:[s],style:"text"}:null}case"raw":{var n=this.parseStringGroup("raw",a);return n!=null?{type:"raw",mode:"text",string:n.text}:null}case"primitive":{if(a)throw new E("A primitive argument cannot be optional");var l=this.parseGroup(e);if(l==null)throw new E("Expected group as "+e,this.fetch());return l}case"original":case null:case void 0:return this.parseArgumentGroup(a);default:throw new E("Unknown group type as "+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(e,t){var a=this.gullet.scanArgument(t);if(a==null)return null;for(var s="",n;(n=this.fetch()).text!=="EOF";)s+=n.text,this.consume();return this.consume(),a.text=s,a}parseRegexGroup(e,t){for(var a=this.fetch(),s=a,n="",l;(l=this.fetch()).text!=="EOF"&&e.test(n+l.text);)s=l,n+=s.text,this.consume();if(n==="")throw new E("Invalid "+t+": '"+a.text+"'",a);return a.range(s,n)}parseColorGroup(e){var t=this.parseStringGroup("color",e);if(t==null)return null;var a=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!a)throw new E("Invalid color: '"+t.text+"'",t);var s=a[0];return/^[0-9a-f]{6}$/i.test(s)&&(s="#"+s),{type:"color-token",mode:this.mode,color:s}}parseSizeGroup(e){var t,a=!1;if(this.gullet.consumeSpaces(),!e&&this.gullet.future().text!=="{"?t=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):t=this.parseStringGroup("size",e),!t)return null;!e&&t.text.length===0&&(t.text="0pt",a=!0);var s=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!s)throw new E("Invalid size: '"+t.text+"'",t);var n={number:+(s[1]+s[2]),unit:s[3]};if(!_a(n))throw new E("Invalid unit: '"+n.unit+"'",t);return{type:"size",mode:this.mode,value:n,isBlank:a}}parseUrlGroup(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var t=this.parseStringGroup("url",e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),t==null)return null;var a=t.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}}parseArgumentGroup(e,t){var a=this.gullet.scanArgument(e);if(a==null)return null;var s=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var n=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var l={type:"ordgroup",mode:this.mode,loc:a.loc,body:n};return t&&this.switchMode(s),l}parseGroup(e,t){var a=this.fetch(),s=a.text,n;if(s==="{"||s==="\\begingroup"){this.consume();var l=s==="{"?"}":"\\endgroup";this.gullet.beginGroup();var c=this.parseExpression(!1,l),d=this.fetch();this.expect(l),this.gullet.endGroup(),n={type:"ordgroup",mode:this.mode,loc:Ee.range(a,d),body:c,semisimple:s==="\\begingroup"||void 0}}else if(n=this.parseFunction(t,e)||this.parseSymbol(),n==null&&s[0]==="\\"&&!Gs.hasOwnProperty(s)){if(this.settings.throwOnError)throw new E("Undefined control sequence: "+s,a);n=this.formatUnsupportedCmd(s),this.consume()}return n}formLigatures(e){for(var t=e.length-1,a=0;a<t;++a){var s=e[a],n=s.text;n==="-"&&e[a+1].text==="-"&&(a+1<t&&e[a+2].text==="-"?(e.splice(a,3,{type:"textord",mode:"text",loc:Ee.range(s,e[a+2]),text:"---"}),t-=2):(e.splice(a,2,{type:"textord",mode:"text",loc:Ee.range(s,e[a+1]),text:"--"}),t-=1)),(n==="'"||n==="`")&&e[a+1].text===n&&(e.splice(a,2,{type:"textord",mode:"text",loc:Ee.range(s,e[a+1]),text:n+n}),t-=1)}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var a=t.slice(5),s=a.charAt(0)==="*";if(s&&(a=a.slice(1)),a.length<2||a.charAt(0)!==a.slice(-1))throw new E(`\\verb assertion failed --
|
|
265
|
+
please report what input caused this bug`);return a=a.slice(1,-1),{type:"verb",mode:"text",body:a,star:s}}Ta.hasOwnProperty(t[0])&&!de[this.mode][t[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=Ta[t[0]]+t.slice(1));var n=Pl.exec(t);n&&(t=t.substring(0,n.index),t==="i"?t="ı":t==="j"&&(t="ȷ"));var l;if(de[this.mode][t]){this.settings.strict&&this.mode==="math"&&sr.indexOf(t)>=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var c=de[this.mode][t].group,d=Ee.range(e),p;if(Ci.hasOwnProperty(c)){var f=c;p={type:"atom",mode:this.mode,family:f,loc:d,text:t}}else p={type:c,mode:this.mode,loc:d,text:t};l=p}else if(t.charCodeAt(0)>=128)this.settings.strict&&(Qa(t.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'"'+(" ("+t.charCodeAt(0)+")"),e)),l={type:"textord",mode:"text",loc:Ee.range(e),text:t};else return null;if(this.consume(),n)for(var x=0;x<n[0].length;x++){var y=n[0][x];if(!Kt[y])throw new E("Unknown accent ' "+y+"'",e);var b=Kt[y][this.mode]||Kt[y].text;if(!b)throw new E("Accent "+y+" unsupported in "+this.mode+" mode",e);l={type:"accent",mode:this.mode,loc:Ee.range(e),label:b,isStretchy:!1,isShifty:!0,base:l}}return l}}zt.endOfExpression=["}","\\endgroup","\\end","\\right","&"];var Br=function(e,t){if(!(typeof e=="string"||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var a=new zt(e,t);delete a.gullet.macros.current["\\df@tag"];var s=a.parse();if(delete a.gullet.macros.current["\\current@color"],delete a.gullet.macros.current["\\color"],a.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new E("\\tag works only in display equations");s=[{type:"tag",mode:"text",body:s,tag:a.subparse([new Oe("\\df@tag")])}]}return s},Us=function(e,t,a){t.textContent="";var s=Fr(e,a).toNode();t.appendChild(s)};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),Us=function(){throw new E("KaTeX doesn't work in quirks mode.")});var Gl=function(e,t){var a=Fr(e,t).toMarkup();return a},Ul=function(e,t){var a=new pr(t);return Br(e,a)},Vs=function(e,t,a){if(a.throwOnError||!(e instanceof E))throw e;var s=M.makeSpan(["katex-error"],[new Ge(t)]);return s.setAttribute("title",e.toString()),s.setAttribute("style","color:"+a.errorColor),s},Fr=function(e,t){var a=new pr(t);try{var s=Br(e,a);return _i(s,e,a)}catch(n){return Vs(n,e,a)}},Vl=function(e,t){var a=new pr(t);try{var s=Br(e,a);return el(s,e,a)}catch(n){return Vs(n,e,a)}},Wl="0.16.28",Xl={Span:X0,Anchor:vr,SymbolNode:Ge,SvgNode:n0,PathNode:x0,LineNode:ar},za={version:Wl,render:Us,renderToString:Gl,ParseError:E,SETTINGS_SCHEMA:ut,__parse:Ul,__renderToDomTree:Fr,__renderToHTMLTree:Vl,__setFontMetrics:ki,__defineSymbol:i,__defineFunction:$,__defineMacro:m,__domTree:Xl};const Yl={};function Kl(r){const e=this,t=r||Yl,a=e.data(),s=a.micromarkExtensions||(a.micromarkExtensions=[]),n=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),l=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);s.push(Yn(t)),n.push(Ln()),l.push(Hn(t))}const Zt={html:"http://www.w3.org/1999/xhtml",svg:"http://www.w3.org/2000/svg"};function Zl(r,e){return Ws(r,{})||{type:"root",children:[]}}function Ws(r,e){const t=Jl(r,e);return t&&e.afterTransform&&e.afterTransform(r,t),t}function Jl(r,e){switch(r.nodeType){case 1:return to(r,e);case 3:return _l(r);case 8:return eo(r);case 9:return Aa(r,e);case 10:return Ql();case 11:return Aa(r,e);default:return}}function Aa(r,e){return{type:"root",children:Xs(r,e)}}function Ql(){return{type:"doctype"}}function _l(r){return{type:"text",value:r.nodeValue||""}}function eo(r){return{type:"comment",value:r.nodeValue||""}}function to(r,e){const t=r.namespaceURI,a=t===Zt.svg?on:un,s=t===Zt.html?r.tagName.toLowerCase():r.tagName,n=t===Zt.html&&s==="template"?r.content:r,l=r.getAttributeNames(),c={};let d=-1;for(;++d<l.length;)c[l[d]]=r.getAttribute(l[d])||"";return a(s,c,Xs(n,e))}function Xs(r,e){const t=r.childNodes,a=[];let s=-1;for(;++s<t.length;){const n=Ws(t[s],e);n!==void 0&&a.push(n)}return a}new DOMParser;function ro(r,e){const t=ao(r);return Zl(t)}function ao(r){const e=document.createElement("template");return e.innerHTML=r,e.content}const ja=(function(r,e,t){const a=cn(t);if(!r||!r.type||!r.children)throw new Error("Expected parent node");if(typeof e=="number"){if(e<0||e===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(e=r.children.indexOf(e),e<0)throw new Error("Expected child node or index");for(;++e<r.children.length;)if(a(r.children[e],e,r))return r.children[e]}),T0=(function(r){if(r==null)return io;if(typeof r=="string")return no(r);if(typeof r=="object")return so(r);if(typeof r=="function")return Ir(r);throw new Error("Expected function, string, or array as `test`")});function so(r){const e=[];let t=-1;for(;++t<r.length;)e[t]=T0(r[t]);return Ir(a);function a(...s){let n=-1;for(;++n<e.length;)if(e[n].apply(this,s))return!0;return!1}}function no(r){return Ir(e);function e(t){return t.tagName===r}}function Ir(r){return e;function e(t,a,s){return!!(lo(t)&&r.call(this,t,typeof a=="number"?a:void 0,s||void 0))}}function io(r){return!!(r&&typeof r=="object"&&"type"in r&&r.type==="element"&&"tagName"in r&&typeof r.tagName=="string")}function lo(r){return r!==null&&typeof r=="object"&&"type"in r&&"tagName"in r}const Ca=/\n/g,Da=/[\t ]+/g,cr=T0("br"),Ba=T0(go),oo=T0("p"),Fa=T0("tr"),uo=T0(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",fo,vo]),Ys=T0(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function co(r,e){const t=e||{},a="children"in r?r.children:[],s=Ys(r),n=Js(r,{whitespace:t.whitespace||"normal"}),l=[];(r.type==="text"||r.type==="comment")&&l.push(...Zs(r,{breakBefore:!0,breakAfter:!0}));let c=-1;for(;++c<a.length;)l.push(...Ks(a[c],r,{whitespace:n,breakBefore:c?void 0:s,breakAfter:c<a.length-1?cr(a[c+1]):s}));const d=[];let p;for(c=-1;++c<l.length;){const f=l[c];typeof f=="number"?p!==void 0&&f>p&&(p=f):f&&(p!==void 0&&p>-1&&d.push(`
|
|
266
266
|
`.repeat(p)||" "),p=-1,d.push(f))}return d.join("")}function Ks(r,e,t){return r.type==="element"?ho(r,e,t):r.type==="text"?t.whitespace==="normal"?Zs(r,t):mo(r):[]}function ho(r,e,t){const a=Js(r,t),s=r.children||[];let n=-1,l=[];if(uo(r))return l;let c,d;for(cr(r)||Fa(r)&&ja(e,r,Fa)?d=`
|
|
267
|
-
`:oo(r)?(c=2,d=2):Ys(r)&&(c=1,d=1);++n<s.length;)l=l.concat(Ks(s[n],r,{whitespace:a,breakBefore:n?void 0:c,breakAfter:n<s.length-1?cr(s[n+1]):d}));return Ba(r)&&ja(e,r,Ba)&&l.push(" "),c&&l.unshift(c),d&&l.push(d),l}function Zs(r,e){const t=String(r.value),a=[],s=[];let n=0;for(;n<=t.length;){Ca.lastIndex=n;const d=Ca.exec(t),p=d&&"index"in d?d.index:t.length;a.push(po(t.slice(n,p).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),n===0?e.breakBefore:!0,p===t.length?e.breakAfter:!0)),n=p+1}let l=-1,c;for(;++l<a.length;)a[l].charCodeAt(a[l].length-1)===8203||l<a.length-1&&a[l+1].charCodeAt(0)===8203?(s.push(a[l]),c=void 0):a[l]?(typeof c=="number"&&s.push(c),s.push(a[l]),c=0):(l===0||l===a.length-1)&&s.push(0);return s}function mo(r){return[String(r.value)]}function po(r,e,t){const a=[];let s=0,n;for(;s<r.length;){Da.lastIndex=s;const l=Da.exec(r);n=l?l.index:r.length,!s&&!n&&l&&!e&&a.push(""),s!==n&&a.push(r.slice(s,n)),s=l?n+l[0].length:n}return s!==n&&!t&&a.push(""),a.join(" ")}function Js(r,e){if(r.type==="element"){const t=r.properties||{};switch(r.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return t.wrap?"pre-wrap":"pre";case"td":case"th":return t.noWrap?"nowrap":e.whitespace;case"textarea":return"pre-wrap"}}return e.whitespace}function fo(r){return!!(r.properties||{}).hidden}function go(r){return r.tagName==="td"||r.tagName==="th"}function vo(r){return r.tagName==="dialog"&&!(r.properties||{}).open}const xo={},bo=[];function yo(r){const e=r||xo;return function(t,a){dn(t,"element",function(s,n){const l=Array.isArray(s.properties.className)?s.properties.className:bo,c=l.includes("language-math"),d=l.includes("math-display"),p=l.includes("math-inline");let f=d;if(!c&&!d&&!p)return;let x=n[n.length-1],y=s;if(s.tagName==="code"&&c&&x&&x.type==="element"&&x.tagName==="pre"&&(y=x,x=n[n.length-2],f=!0),!x)return;const b=co(y,{whitespace:"pre"});let S;try{S=za.renderToString(b,{...e,displayMode:f,throwOnError:!0})}catch(C){const B=C,z=B.name.toLowerCase();a.message("Could not render math with KaTeX",{ancestors:[...n,s],cause:B,place:s.position,ruleId:z,source:"rehype-katex"});try{S=za.renderToString(b,{...e,displayMode:f,strict:"ignore",throwOnError:!1})}catch{S=[{type:"element",tagName:"span",properties:{className:["katex-error"],style:"color:"+(e.errorColor||"#cc0000"),title:String(C)},children:[{type:"text",value:b}]}]}}typeof S=="string"&&(S=ro(S).children);const k=x.children.indexOf(y);return x.children.splice(k,1,...S),hn})}}const wo=r=>{const e=[];let t=r.replace(/```[\s\S]*?```|`[^`\n]+`/g,a=>(e.push(a),`__CODE_BLOCK_${e.length-1}__`));return t=t.replace(/\\\[([\s\S]*?)\\\]/g,(a,s)=>`$$${s}$$`),t=t.replace(/\\\(([\s\S]*?)\\\)/g,(a,s)=>`$${s}$`),e.forEach((a,s)=>{t=t.replace(`__CODE_BLOCK_${s}__`,a)}),t},ko=({content:r,className:e})=>{const{theme:t}=C0(),[a,s]=Jt.useState(null),n=Jt.useMemo(()=>wo(r),[r]),l=async c=>{try{await navigator.clipboard.writeText(c),s(c),setTimeout(()=>s(null),2e3)}catch(d){console.error("Failed to copy text:",d)}};return u.jsx("div",{className:Y("prose prose-sm max-w-none dark:prose-invert prose-gray","[&_.katex-display]:overflow-x-auto [&_.katex-display]:overflow-y-hidden [&_.katex-display]:py-2","[&_.katex]:text-inherit",e),children:u.jsx(mn,{remarkPlugins:[Kl],rehypePlugins:[yo],components:{code({inline:c,className:d,children:p,...f}){const x=/language-(\w+)/.exec(d||""),y=String(p).replace(/\n$/,""),b=x?x[1]:null;return c?u.jsx("code",{className:Y("px-2 py-1 rounded-md bg-gray-100 dark:bg-dark-200 text-gray-800 dark:text-dark-800","font-mono text-sm border border-gray-200 dark:border-dark-300",d),...f,children:p}):u.jsxs("div",{className:"relative group my-4 overflow-hidden rounded-xl border border-gray-200 dark:border-dark-300 shadow-sm",children:[u.jsxs("div",{className:"flex items-center justify-between bg-gray-50 dark:bg-dark-100 px-4 py-3 border-b border-gray-200 dark:border-dark-300",children:[u.jsx("span",{className:"text-xs font-semibold text-gray-700 dark:text-dark-700 uppercase tracking-wide",children:b||"text"}),u.jsx("button",{onClick:()=>l(y),className:"opacity-0 group-hover:opacity-100 transition-all duration-200 p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-300 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-1",title:"Copy code",children:a===y?u.jsx(yt,{className:"h-4 w-4 text-success-600 dark:text-success-400"}):u.jsx(La,{className:"h-4 w-4 text-gray-500 dark:text-dark-600"})})]}),u.jsx("div",{className:"overflow-x-auto",children:u.jsx(gn,{language:b||"text",isDark:t.mode==="dark",className:"!m-0 !rounded-none !border-none",children:y})})]})},pre({children:c,...d}){return u.jsx("pre",{...d,children:c})},p({children:c,...d}){return u.jsx("p",{className:"mb-4 last:mb-0 leading-relaxed",...d,children:c})},ul({children:c,...d}){return u.jsx("ul",{className:"list-disc list-inside mb-4 space-y-2 pl-4",...d,children:c})},ol({children:c,...d}){return u.jsx("ol",{className:"list-decimal list-inside mb-4 space-y-2 pl-4",...d,children:c})},li({children:c,...d}){return u.jsx("li",{className:"text-gray-700 dark:text-dark-700 leading-relaxed",...d,children:c})},blockquote({children:c,...d}){return u.jsx("blockquote",{className:"border-l-4 border-primary-400 dark:border-primary-500 ophelia:border-[#a855f7] bg-primary-25 dark:bg-primary-950/30 ophelia:bg-[rgba(168,85,247,0.1)] pl-4 py-3 my-4 rounded-r-lg italic text-gray-700 dark:text-dark-700 ophelia:text-[#d4d4d4]",...d,children:c})},h1({children:c,...d}){return u.jsx("h1",{className:"text-2xl font-bold mb-4 mt-6 first:mt-0 text-gray-900 dark:text-dark-800 border-b border-gray-200 dark:border-dark-300 pb-2",...d,children:c})},h2({children:c,...d}){return u.jsx("h2",{className:"text-xl font-semibold mb-3 mt-6 first:mt-0 text-gray-900 dark:text-dark-800",...d,children:c})},h3({children:c,...d}){return u.jsx("h3",{className:"text-lg font-medium mb-3 mt-4 first:mt-0 text-gray-900 dark:text-dark-800",...d,children:c})}},children:n})})},So=({statistics:r,className:e=""})=>{const[t,a]=A.useState(!1),s=x=>{if(x==null)return"N/A";const y=x/1e6;return y<1e3?`${Math.round(y)}ms`:`${(y/1e3).toFixed(2)}s`},n=x=>x?`${x.toFixed(1)} t/s`:"N/A",l=r.prompt_eval_count||0,c=r.eval_count||0,d=l+c,p=s(r.total_duration),f=n(r.tokens_per_second);return u.jsxs("div",{className:`text-xs text-gray-500 dark:text-dark-500 mt-2 ${e}`,children:[u.jsxs("div",{className:"flex items-center gap-4 mb-1",children:[u.jsxs("span",{className:"flex items-center gap-1 text-gray-600 dark:text-dark-600",children:[u.jsx(yn,{size:12,className:"text-primary-500"}),c," tokens"]}),u.jsx("span",{className:"text-gray-500 dark:text-dark-500",children:f}),u.jsx("span",{className:"text-gray-500 dark:text-dark-500",children:p}),r.model&&u.jsx("span",{className:"text-gray-400 dark:text-dark-400 bg-gray-100 dark:bg-dark-200 px-2 py-0.5 rounded-full truncate max-w-32 sm:max-w-48",title:r.model,children:r.model})]}),u.jsxs("button",{onClick:()=>a(!t),className:"flex items-center gap-1 text-gray-400 dark:text-dark-400 hover:text-gray-600 dark:hover:text-dark-600 transition-colors",children:[t?u.jsx(D0,{size:12}):u.jsx(wn,{size:12}),u.jsx("span",{children:"Details"})]}),t&&u.jsxs("div",{className:"mt-2 p-3 bg-gray-50 dark:bg-dark-100 border border-gray-200 dark:border-dark-300 rounded-lg text-xs space-y-2",children:[u.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-2",children:[u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:"Prompt tokens:"})," ",l]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:"Generated tokens:"})," ",c]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:"Total tokens:"})," ",d]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:"Speed:"})," ",f]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:"Prompt eval:"})," ",s(r.prompt_eval_duration)]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:"Generation:"})," ",s(r.eval_duration)]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:"Model load:"})," ",s(r.load_duration)]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:"Total time:"})," ",p]})]}),r.created_at&&u.jsxs("div",{className:"pt-2 border-t border-gray-200 dark:border-dark-300 text-gray-600 dark:text-dark-600",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:"Generated at:"})," ",new Date(r.created_at).toLocaleTimeString()]})]})]})};let L0=null,H0=null,ot=0;const Mo=300*1e3;async function No(){const r=Date.now();return L0!==null&&r-ot<Mo?L0:H0||(H0=(async()=>{try{const e=await dt.getModels();return e.success&&e.data&&e.data.length>0?(L0=e.data,ot=r,e.data):(L0=[],ot=r,[])}catch{return L0=[],ot=r,[]}finally{H0=null}})(),H0)}function To(r){return r.split(/(?<=[.!?]["']?\s)|(?<=[.!?]["']?$)/).map(t=>t.trim()).filter(t=>t.length>0)}const zo=({text:r,className:e,size:t="sm"})=>{const{t:a}=b0(),{preferences:s}=C0(),[n,l]=A.useState(!1),[c,d]=A.useState(!1),[p,f]=A.useState(null),[x,y]=A.useState([]),[b,S]=A.useState(null),k=A.useRef(null),C=A.useRef(!1),B=A.useRef([]),z=A.useRef(0);A.useEffect(()=>{let N=!0;return No().then(j=>{N&&(y(j),S(j.length>0))}),()=>{N=!1}},[]);const U=A.useCallback(async(N,j,L,H)=>{const V=await dt.generateBase64({model:j,input:N,voice:L,speed:H,response_format:"mp3"});if(!V.success||!V.data?.audio)throw new Error(V.message||a("ttsButton.generateFailed"));const Q=`data:${V.data.mimeType};base64,${V.data.audio}`,W=new Audio(Q);return k.current=W,new Promise((te,le)=>{W.onended=()=>{k.current=null,te()},W.onerror=()=>{k.current=null,le(new Error(a("ttsButton.playbackFailed")))},W.play().catch(le)})},[a]),R=A.useCallback(async(N,j,L,H)=>{B.current=N,z.current=0,C.current=!1;let V=null;const Q=async W=>{try{const te=await dt.generateBase64({model:j,input:W,voice:L,speed:H,response_format:"mp3"});return!te.success||!te.data?.audio?null:{audioUrl:`data:${te.data.mimeType};base64,${te.data.audio}`,mimeType:te.data.mimeType}}catch{return null}};N.length>0&&(V=Q(N[0]));for(let W=0;W<N.length&&!C.current;W++){z.current=W;try{const te=await V;if(C.current)break;if(W+1<N.length?V=Q(N[W+1]):V=null,!te){console.warn(`Failed to generate audio for sentence ${W+1}, skipping`);continue}const le=new Audio(te.audioUrl);k.current=le,await new Promise((be,ke)=>{le.onended=()=>{k.current=null,be()},le.onerror=()=>{k.current=null,be()},le.play().catch(()=>{be()})})}catch(te){console.error(`Error playing sentence ${W+1}:`,te)}}},[]),O=A.useCallback(()=>{C.current=!0,k.current&&(k.current.pause(),k.current.currentTime=0,k.current=null),l(!1),d(!1)},[]),X=async()=>{if(!c){if(n){O();return}d(!0),f(null),C.current=!1;try{const N=s.ttsSettings,j=N?.model||x[0]?.model||"tts-1",L=N?.voice||x[0]?.config?.default_voice||"alloy",H=N?.speed||1;if(N?.streamSentences||!1){const Q=To(r);if(Q.length===0)throw new Error(a("ttsButton.generateFailed"));d(!1),l(!0),await R(Q,j,L,H),C.current||l(!1)}else await U(r,j,L,H),d(!1),l(!0),k.current&&(k.current.onended=()=>{l(!1),k.current=null},k.current.onerror=()=>{f(a("ttsButton.playbackFailed")),l(!1),k.current=null})}catch(N){const j=N instanceof Error?N.message:a("ttsButton.generateFailed");f(j),console.error("TTS error:",N),l(!1),d(!1)}}};if(A.useEffect(()=>()=>{C.current=!0,k.current&&(k.current.pause(),k.current=null)},[]),b===!1||b===null)return null;const F={sm:"h-6 w-6 p-1",md:"h-8 w-8 p-1.5",lg:"h-10 w-10 p-2"},q={sm:"h-3.5 w-3.5",md:"h-4 w-4",lg:"h-5 w-5"};return u.jsx("button",{onClick:X,disabled:c||!r,title:p||a(n?"ttsButton.stopSpeaking":c?"ttsButton.generatingSpeech":"ttsButton.readAloud"),className:Y("rounded-full transition-all duration-200","hover:bg-gray-100 dark:hover:bg-dark-200","focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-1","disabled:opacity-50 disabled:cursor-not-allowed",p?"text-red-500 dark:text-red-400":n?"text-primary-600 dark:text-primary-400 bg-primary-50 dark:bg-primary-900/20":"text-gray-500 dark:text-gray-400",F[t],e),children:c?u.jsx(Ha,{className:Y(q[t],"animate-spin")}):n?u.jsx($a,{className:q[t]}):p?u.jsx(kn,{className:q[t]}):u.jsx(Sn,{className:q[t]})})},Ao=[{regex:/```html\s*\n([\s\S]*?)\n```/gi,type:"html",getTitle:r=>Co(r)||"HTML Document"},{regex:/```svg\s*\n([\s\S]*?)\n```/gi,type:"svg",getTitle:r=>"SVG Image"},{regex:/```(?:react|jsx)\s*\n([\s\S]*?)\n```/gi,type:"react",getTitle:r=>Do(r)||"React Component"},{regex:/```json\s*\n([\s\S]*?)\n```/gi,type:"json",getTitle:r=>"JSON Data"},{regex:/```python\s*\n([\s\S]*?)\n```/gi,type:"code",language:"python",getTitle:r=>Bo(r)||"Python Code"},{regex:/```(?:javascript|js)\s*\n([\s\S]*?)\n```/gi,type:"code",language:"javascript",getTitle:r=>Fo(r)||"JavaScript Code"},{regex:/```css\s*\n([\s\S]*?)\n```/gi,type:"code",language:"css",getTitle:r=>"CSS Styles"},{regex:/```(\w+)\s*\n([\s\S]*?)\n```/gi,type:"code",getTitle:(r,e)=>`${e.toUpperCase()} Code`}],jo=[{regex:/<artifact\s+type="([^"]+)"\s+title="([^"]+)"[^>]*>([\s\S]*?)<\/artifact>/gi,extract:r=>({type:r[1],title:r[2],content:r[3].trim()})},{regex:/<artifact\s+type="([^"]+)"[^>]*>([\s\S]*?)<\/artifact>/gi,extract:r=>({type:r[1],title:`${r[1].toUpperCase()} Artifact`,content:r[2].trim()})}];function Ia(r){const e=document.createElement("div");return e.innerHTML=r,e.textContent||e.innerText||""}function Co(r){const e=r.match(/<title[^>]*>(.*?)<\/title>/i);if(e)return Ia(e[1]).trim();const t=r.match(/<h1[^>]*>(.*?)<\/h1>/i);return t?Ia(t[1]).trim():null}function Do(r){const e=r.match(/(?:function|const)\s+(\w+)/);if(e)return e[1];const t=r.match(/class\s+(\w+)/);return t?t[1]:null}function Bo(r){if(r.includes("def main("))return"Python Script";const e=r.match(/class\s+(\w+)/);if(e)return`${e[1]} Class`;const t=r.match(/def\s+(\w+)/);return t&&t[1]!=="__init__"?`${t[1]} Function`:null}function Fo(r){const e=r.match(/function\s+(\w+)/);if(e)return`${e[1]} Function`;const t=r.match(/(?:const|let)\s+(\w+)\s*=/);return t?t[1]:null}function Ea(r,e){if(e==="html")return/<[^>]+>/.test(r)&&r.trim().length>200;if(e==="svg")return/<svg[^>]*>/.test(r);if(e==="react")return/<[A-Z][^>]*>/.test(r)||/return\s*\(/.test(r);if(e==="json")try{return JSON.parse(r),r.trim().length>100}catch{return!1}if(e==="code"){const t=r.split(`
|
|
268
|
-
`).length,a=r.trim().length,s=/function|class|def |import |from |const |let |var |if |for |while |try |catch/.test(r);return(a>500||t>15)&&s}return!1}function qa(r){const e=[];let t=r;for(const a of jo){let s;for(;(s=a.regex.exec(t))!==null;){const n=a.extract(s);if(Ea(n.content,n.type)){const l={id:`artifact-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,type:n.type,title:n.title,content:n.content,createdAt:Date.now(),updatedAt:Date.now()};e.push(l),t=t.replace(s[0],"")}}}for(const a of Ao){let s;for(a.regex.lastIndex=0;(s=a.regex.exec(t))!==null;){const n=s[1]||s[2],l=a.language||(s[1]&&s[2]?s[1]:void 0);if(Ea(n,a.type)){const c={id:`artifact-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,type:a.type,title:a.getTitle(n,l||"code"),content:n,language:l,createdAt:Date.now(),updatedAt:Date.now()};e.push(c),t=t.replace(s[0],"")}}}return{content:t.trim(),artifacts:e}}const dr=({message:r,isStreaming:e=!1,className:t,isLastAssistantMessage:a=!1,onRegenerate:s})=>{const{t:n}=b0(),l=r.role==="user",c=r.role==="system",{preferences:d}=C0(),{user:p}=Pa(),{setSystemMessage:f,getCurrentPersona:x}=ze(),y=x(),[b,S]=A.useState(!1),[k,C]=A.useState(r.content),[B,z]=A.useState(null),[U,R]=A.useState(!1),[O,X]=A.useState(r.content),[F,q]=A.useState(!1),[N,j]=A.useState(r.artifacts||[]),[L,H]=A.useState(null),[V,Q]=A.useState(!1),[W,te]=A.useState(!1),[le,be]=A.useState(!1),ke=A.useRef(null),Ae=A.useRef(e),re=A.useRef(!1),ee=async()=>{try{await navigator.clipboard.writeText(r.content),be(!0),setTimeout(()=>be(!1),2e3)}catch(se){console.error("Failed to copy message:",se)}};A.useEffect(()=>{if(!l&&!c&&r.content){const se=Lr(r.content);H(se.thinking);const oe=se.content;if(r.artifacts&&r.artifacts.length>0)X(oe),j(r.artifacts);else if(e)X(oe),j([]);else{const Te=qa(oe);X(Te.content),j(Te.artifacts)}}},[r.content,r.artifacts,l,c,e]),A.useEffect(()=>{if(!l&&!c&&r.content&&!e){const se=Lr(r.content);H(se.thinking);const oe=se.content;if(!r.artifacts||r.artifacts.length===0){const Te=qa(oe);X(Te.content),j(Te.artifacts)}}},[e,r.content,r.artifacts,l,c]),A.useEffect(()=>{const se=Ae.current&&!e;return Ae.current=e,se&&!re.current&&!l&&!c&&O&&d.ttsSettings?.enabled&&d.ttsSettings?.autoPlay&&(re.current=!0,(async()=>{te(!0);try{const Te=await dt.generateBase64({model:d.ttsSettings?.model||"tts-1",input:O,voice:d.ttsSettings?.voice||"alloy",speed:d.ttsSettings?.speed||1,response_format:"mp3"});if(Te.success&&Te.data?.audio){const Ve=`data:${Te.data.mimeType};base64,${Te.data.audio}`,u0=new Audio(Ve);ke.current=u0,u0.onended=()=>{te(!1),ke.current=null},u0.onerror=()=>{te(!1),ke.current=null},await u0.play()}}catch(Te){console.error("Auto-play TTS failed:",Te),te(!1)}})()),()=>{ke.current&&(ke.current.pause(),ke.current=null)}},[e,l,c,O,d.ttsSettings]);const he=()=>c?n("chatMessage.system"):l?d.showUsername&&p?.username?p.username:n("chatMessage.you"):y?.name?y.name:r.model||n("chatMessage.assistant"),He=()=>{S(!0),C(r.content)},Xe=async()=>{R(!0);try{f(k),S(!1),console.log("✅ System message updated:",k)}catch(se){console.error("Failed to save system message:",se)}finally{R(!1)}},w0=()=>{S(!1),C(r.content)},Ne=(se,oe=100)=>se.length<=oe?se:se.substring(0,oe)+"...",Se=c&&r.content.length>100;return u.jsxs("div",{className:Y("flex transition-colors group my-2",l?"justify-end":"justify-start",t),children:[u.jsxs("div",{className:Y("flex gap-3 sm:gap-4",l?"flex-row-reverse max-w-[85%] sm:max-w-[75%]":c?"w-full":"max-w-[85%] sm:max-w-[75%]"),children:[!c&&u.jsx("div",{className:Y("flex shrink-0 items-center justify-center shadow-sm overflow-hidden mt-1",l?"h-8 w-8 rounded-full bg-primary-600 ophelia:bg-[#9333ea] text-white":y?.avatar?"h-8 w-8 rounded-full bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]":"h-8 px-2 rounded-full bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]"),children:l?p?.avatar?u.jsx("img",{src:p.avatar,alt:p.username,className:"w-full h-full object-cover"}):u.jsx(_t,{className:"h-4 w-4"}):y?.avatar?u.jsx("img",{src:y.avatar,alt:y.name||"Assistant",className:"w-full h-full object-cover"}):u.jsx("span",{className:"libre-brand text-xs text-gray-700 dark:text-gray-200 ophelia:text-[#e5e5e5]",children:"Libre"})}),u.jsxs("div",{className:Y("flex-1 min-w-0 rounded-2xl sm:rounded-3xl p-4 sm:p-5",l?"bg-primary-600/90 dark:bg-primary-700/90 ophelia:bg-[#9333ea]/90 text-white":c?"bg-transparent p-2 py-3":"bg-white/95 dark:bg-dark-100/95 ophelia:bg-[#0a0a0a]/95 backdrop-blur-md shadow-sm border border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/60"),children:[!c&&u.jsxs("div",{className:Y("flex items-center gap-3 mb-2",l&&"flex-row-reverse"),children:[u.jsx("span",{className:Y("text-sm font-semibold",l?"text-white/90":"text-gray-900 dark:text-dark-800 ophelia:text-[#fafafa]"),children:he()}),r.model&&!l&&y?.name&&u.jsx("span",{className:"text-xs text-gray-500 dark:text-dark-600 ophelia:text-[#737373] bg-gray-100 dark:bg-dark-200 ophelia:bg-[#121212] px-2 py-0.5 rounded-full truncate max-w-32 sm:max-w-48",title:r.model,children:r.model}),u.jsx("span",{className:Y("text-xs",l?"text-white/60":"text-gray-400 dark:text-dark-500 ophelia:text-[#525252]"),children:vn(r.timestamp)}),!l&&!c&&!e&&O&&u.jsx(zo,{text:O,size:"sm",className:Y("transition-opacity",W?"opacity-100 text-primary-600 dark:text-primary-400":"opacity-0 group-hover:opacity-100")}),!c&&!e&&u.jsx("button",{onClick:ee,className:"p-1 rounded hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(147,51,234,0.2)] transition-opacity opacity-0 group-hover:opacity-100",title:n(le?"chatMessage.copied":"chatMessage.copyMessage"),children:le?u.jsx(yt,{className:"h-3.5 w-3.5 text-green-500 dark:text-green-400"}):u.jsx(La,{className:"h-3.5 w-3.5 text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3]"})}),!l&&!c&&!e&&a&&s&&u.jsx("button",{onClick:s,className:"p-1 rounded hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(147,51,234,0.2)] transition-opacity opacity-0 group-hover:opacity-100",title:n("chatMessage.regenerateResponse"),children:u.jsx(er,{className:"h-3.5 w-3.5 text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3]"})})]}),u.jsxs("div",{className:Y(l?"text-white":"text-gray-700 dark:text-dark-700 ophelia:text-[#e5e5e5]"),children:[r.images&&r.images.length>0&&u.jsx("div",{className:"mb-3 grid grid-cols-2 sm:grid-cols-3 gap-2 max-w-lg",children:r.images.map((se,oe)=>u.jsx("div",{className:"aspect-square rounded-lg overflow-hidden bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700",children:u.jsx("img",{src:se,alt:`Uploaded image ${oe+1}`,className:"w-full h-full object-cover cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>z(se)})},oe))}),l?u.jsx("p",{className:"whitespace-pre-wrap leading-relaxed",children:r.content}):c?u.jsxs("div",{className:"bg-gray-50/30 dark:bg-dark-50/30 ophelia:bg-[rgba(5,5,5,0.8)] rounded-md p-2 border border-gray-100/50 dark:border-dark-200/50 ophelia:border-[rgba(26,26,26,0.5)] relative z-0",children:[u.jsxs("div",{className:"text-xs font-medium mb-1 text-gray-500 dark:text-gray-400 ophelia:text-[#737373] flex items-center justify-between",children:[u.jsxs("div",{className:"flex items-center gap-1",children:[u.jsx(Ga,{className:"h-2.5 w-2.5 opacity-50"}),n("chatMessage.system")]}),u.jsx("div",{className:"flex items-center gap-1",children:b?u.jsxs(u.Fragment,{children:[u.jsx("button",{onClick:Xe,disabled:U,className:"p-1 hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(147,51,234,0.2)] rounded transition-colors disabled:opacity-50",title:n("chatMessage.saveChanges"),children:u.jsx(Mn,{className:"h-3 w-3 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"})}),u.jsx("button",{onClick:w0,disabled:U,className:"p-1 hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(239,68,68,0.15)] rounded transition-colors disabled:opacity-50",title:n("chatMessage.cancelEditing"),children:u.jsx(f0,{className:"h-3 w-3 text-red-600 dark:text-red-400 ophelia:text-[#f87171]"})})]}):u.jsx("button",{onClick:He,className:"p-1 hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(147,51,234,0.2)] rounded transition-colors",title:n("chatMessage.editSystemMessage"),children:u.jsx(Nn,{className:"h-3 w-3 text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3] ophelia:hover:text-[#c084fc]"})})})]}),b?u.jsx("textarea",{value:k,onChange:se=>C(se.target.value),className:"w-full min-h-[100px] p-3 text-sm text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] bg-gray-50 dark:bg-dark-50 ophelia:bg-[#0a0a0a] border border-gray-200 dark:border-dark-300 ophelia:border-[#262626] rounded-lg resize-none focus:outline-none focus:ring-2 focus:ring-primary-500 dark:focus:ring-primary-400 ophelia:focus:ring-[#a855f7] focus:border-transparent",placeholder:n("chatMessage.systemMessagePlaceholder"),disabled:U}):u.jsxs("div",{children:[u.jsx("p",{className:"whitespace-pre-wrap leading-relaxed text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:F?r.content:Ne(r.content)}),Se&&u.jsx("button",{onClick:()=>q(!F),className:"mt-1 flex items-center gap-1 text-xs text-gray-400 dark:text-gray-500 ophelia:text-[#737373] hover:text-primary-600 dark:hover:text-primary-400 ophelia:hover:text-[#c084fc] transition-colors",children:F?u.jsxs(u.Fragment,{children:[u.jsx(Ur,{className:"h-3 w-3"}),n("chatMessage.showLess")]}):u.jsxs(u.Fragment,{children:[u.jsx(D0,{className:"h-3 w-3"}),n("chatMessage.showMore")]})})]})]}):u.jsxs("div",{className:"relative",children:[L&&u.jsxs("div",{className:"mb-3",children:[u.jsxs("button",{onClick:()=>Q(!V),className:"flex items-center gap-2 text-sm text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] hover:text-primary-600 dark:hover:text-primary-400 ophelia:hover:text-[#c084fc] transition-colors",children:[u.jsx(mt,{className:"h-4 w-4"}),u.jsx("span",{className:"font-medium",children:n("chatMessage.thinking")}),V?u.jsx(Ur,{className:"h-4 w-4"}):u.jsx(D0,{className:"h-4 w-4"})]}),V&&u.jsx("div",{className:"mt-2 p-3 bg-gray-50 dark:bg-dark-100 ophelia:bg-[#0a0a0a] rounded-lg border border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a]",children:u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-300 ophelia:text-[#a3a3a3] whitespace-pre-wrap leading-relaxed",children:L})})]}),u.jsx(ko,{content:O}),e&&u.jsx("div",{className:"inline-block w-2 h-5 bg-primary-500 animate-pulse ml-1 rounded-sm"})]}),!l&&!c&&N.length>0&&u.jsx("div",{className:"mt-4",children:u.jsx(Pn,{artifacts:N})}),!l&&!c&&r.statistics&&u.jsx("div",{className:"mt-3",children:u.jsx(So,{statistics:r.statistics})})]})]})]}),B&&hr.createPortal(u.jsxs("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/80 backdrop-blur-sm",onClick:()=>z(null),children:[u.jsx("button",{className:"absolute top-6 right-6 p-3 bg-white/20 hover:bg-white/40 rounded-full text-white transition-all shadow-lg border border-white/30",onClick:se=>{se.stopPropagation(),z(null)},children:u.jsx(f0,{className:"h-7 w-7"})}),u.jsx("img",{src:B,alt:n("chatMessage.fullSizeImage"),className:"max-w-[90vw] max-h-[90vh] object-contain rounded-lg shadow-2xl",onClick:se=>se.stopPropagation()})]}),document.body)]})},Io=({messages:r,isStreaming:e=!1,streamingMessage:t,streamingMessageId:a,isLastAssistantMessage:s=!1,onRegenerate:n,onSelectBranch:l,className:c})=>{if(r.length===1){const d=r[0],p=e&&a===d.id,f=p&&t?{...d,content:t}:d;return u.jsx(dr,{message:f,isStreaming:p,isLastAssistantMessage:s,onRegenerate:n,className:c})}return u.jsxs("div",{className:Y("relative py-1",c),children:[u.jsxs("div",{className:"flex items-center gap-1.5 px-4 pb-2 text-[10px] text-gray-400 dark:text-gray-500 ophelia:text-[#525252]",children:[u.jsx(Tn,{className:"h-3 w-3"}),u.jsxs("span",{children:[r.length," variants"]})]}),u.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3 px-4",children:r.map((d,p)=>{const f=d.isActive!==!1,x=e&&a===d.id,y=x&&t?{...d,content:t}:d;return u.jsxs("div",{className:Y("relative rounded-lg overflow-hidden transition-all duration-200","border shadow-sm",f||x?"border-primary-300 dark:border-primary-600 ophelia:border-[#7c3aed] shadow-primary-100 dark:shadow-primary-900/20 ophelia:shadow-[#9333ea]/10":"border-gray-200 dark:border-dark-300 ophelia:border-[#262626] hover:border-gray-300 dark:hover:border-dark-400 ophelia:hover:border-[#3f3f46]",!f&&!x&&"cursor-pointer hover:shadow-md"),onClick:()=>!f&&!x&&l?.(d.id),children:[u.jsxs("div",{className:Y("flex items-center justify-between px-2.5 py-1 text-[11px]",f||x?"bg-primary-50/80 dark:bg-primary-900/20 ophelia:bg-[#9333ea]/10 text-primary-600 dark:text-primary-400 ophelia:text-[#c084fc]":"bg-gray-50/80 dark:bg-dark-100/80 ophelia:bg-[#121212]/80 text-gray-500 dark:text-gray-500 ophelia:text-[#737373]"),children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("span",{className:"font-medium",children:p+1}),x&&u.jsx("span",{className:"text-[10px] opacity-70 animate-pulse",children:"generating..."})]}),f&&!x&&u.jsx(yt,{className:"h-3 w-3"}),!f&&!x&&u.jsx("span",{className:"text-[10px] opacity-50",children:"select"})]}),u.jsx("div",{className:Y("bg-white dark:bg-dark-50 ophelia:bg-[#0a0a0a]",!f&&!x&&"opacity-80"),children:u.jsx(dr,{message:y,isStreaming:x,isLastAssistantMessage:s&&(f||x),onRegenerate:f&&!e?n:void 0,className:"!bg-transparent !p-3 !text-sm"})})]},d.id)})})]})},Eo=({messages:r,streamingMessage:e,streamingMessageId:t,isStreaming:a=!1,className:s,onRegenerate:n,onSelectBranch:l})=>{const{t:c}=b0(),d=A.useRef(null),p=A.useRef(),f=A.useRef(null),x=A.useRef(!1),[y,b]=A.useState(!1),S=A.useMemo(()=>{const R=[],O=new Set;console.log("[ChatMessages] Grouping messages:",r.map(F=>({id:F.id?.substring(0,8),role:F.role,parentId:F.parentId?.substring(0,8),branchIndex:F.branchIndex,isActive:F.isActive})));const X=[...r].sort((F,q)=>F.role==="system"&&q.role!=="system"?-1:q.role==="system"&&F.role!=="system"?1:F.parentId===q.parentId?(F.branchIndex||0)-(q.branchIndex||0):F.timestamp-q.timestamp);for(const F of X){if(O.has(F.id))continue;const q=F.parentId;if(q){const N=R.findIndex(j=>j.id===q);if(N>=0)R[N].messages.push(F);else{const j=r.find(L=>L.id===q);j&&!O.has(q)?(R.push({id:q,messages:[j,F],messageIndex:R.length}),O.add(q)):R.push({id:F.id,messages:[F],messageIndex:R.length})}O.add(F.id)}else{const N=r.filter(j=>j.parentId===F.id);N.length>0?(R.push({id:F.id,messages:[F,...N],messageIndex:R.length}),O.add(F.id),N.forEach(j=>O.add(j.id))):(R.push({id:F.id,messages:[F],messageIndex:R.length}),O.add(F.id))}}return R.sort((F,q)=>{const N=F.messages[0],j=q.messages[0];return N.role==="system"&&j.role!=="system"?-1:j.role==="system"&&N.role!=="system"?1:N.timestamp-j.timestamp})},[r]),k=A.useCallback((R=!1)=>{x.current&&!R||d.current?.scrollIntoView({behavior:"smooth"})},[]),C=A.useCallback(()=>{const R=f.current;if(!R)return;const{scrollTop:O,scrollHeight:X,clientHeight:F}=R,N=X-O-F<100;x.current=!N,b(!N&&r.length>0)},[r.length]),B=A.useRef(r.length);if(A.useEffect(()=>{r.length>B.current&&!x.current&&k(),B.current=r.length},[r.length,k]),A.useEffect(()=>{a&&e&&!x.current&&requestAnimationFrame(()=>{const R=f.current;R&&(R.scrollTop=R.scrollHeight)})},[a,e]),A.useEffect(()=>{const R=p.current;return()=>{R&&clearTimeout(R)}},[]),r.length===0&&!a)return u.jsx("div",{className:Y("flex-1 flex items-center justify-center p-4 sm:p-8",s),children:u.jsxs("div",{className:"text-center text-gray-500 dark:text-dark-600 max-w-md",children:[u.jsx("div",{className:"text-5xl sm:text-7xl mb-4 sm:mb-6 opacity-60",children:"💬"}),u.jsx("h3",{className:"text-lg sm:text-xl font-semibold mb-2 sm:mb-3 text-gray-700 dark:text-dark-700",children:c("chatMessage.startConversation")}),u.jsx("p",{className:"text-sm leading-relaxed px-4",children:c("chatMessage.startConversationDescription")})]})});let z=-1;for(let R=S.length-1;R>=0;R--)if(S[R].messages.some(O=>O.role==="assistant")){z=R;break}const U=()=>{x.current=!1,d.current?.scrollIntoView({behavior:"smooth"}),b(!1)};return u.jsxs("div",{ref:f,onScroll:C,className:Y("relative flex-1 overflow-y-auto scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-gray-600","scrollbar-track-transparent hover:scrollbar-thumb-gray-400 dark:hover:scrollbar-thumb-gray-500","overscroll-behavior-y-contain","[-webkit-overflow-scrolling:touch]",s),style:{WebkitOverflowScrolling:"touch",overscrollBehaviorY:"contain",WebkitAppRegion:"no-drag"},children:[u.jsxs("div",{className:"max-w-5xl mx-auto px-3 sm:px-4 md:px-6 w-full min-w-0",children:[S.map((R,O)=>{const X=O===z,F=a&&R.messages.some(q=>q.id===t);if(R.messages.length===1){const q=R.messages[0],N=a&&q.id===t,j=N&&e?{...q,content:e}:q;return u.jsx(dr,{message:j,isStreaming:N,isLastAssistantMessage:X,onRegenerate:X?n:void 0,className:O===0?"mt-3 sm:mt-4 md:mt-6":""},q.id)}return u.jsx(Io,{messages:R.messages,isStreaming:F,streamingMessage:e,streamingMessageId:t||void 0,isLastAssistantMessage:X,onRegenerate:X?n:void 0,onSelectBranch:l,className:O===0?"mt-3 sm:mt-4 md:mt-6":""},R.id)}),u.jsx("div",{ref:d,className:"h-3 sm:h-4 md:h-6"})]}),y&&u.jsxs("button",{onClick:U,className:Y("absolute bottom-4 left-1/2 -translate-x-1/2 z-10","flex items-center justify-center gap-1.5","px-3 py-2 rounded-full","bg-white/95 dark:bg-dark-100/95 ophelia:bg-[#0a0a0a]/95","border border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/60","shadow-lg backdrop-blur-sm","text-gray-600 dark:text-dark-600 ophelia:text-[#a3a3a3]","hover:bg-gray-50 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a]","hover:text-gray-900 dark:hover:text-dark-800 ophelia:hover:text-[#fafafa]","transition-all duration-200","hover:shadow-xl hover:scale-105 active:scale-95"),title:c("chatMessage.scrollToBottom"),children:[u.jsx(zn,{className:"h-4 w-4"}),u.jsx("span",{className:"text-xs font-medium",children:c("chatMessage.newMessages")})]})]})};function qo(r){const e=(r.match(/```/g)||[]).length,t=e%2===1;let a=null;if(t){const s=r.lastIndexOf("```");if(s!==-1){const l=r.slice(s+3).match(/^(\w+)/);l&&(a=l[1])}}return{hasCodeBlocks:e>0,isInCodeBlock:t,language:a}}const Er=Jt.forwardRef(({value:r,onChange:e,className:t,placeholder:a,disabled:s,onKeyDown:n,...l},c)=>{const{hasCodeBlocks:d,isInCodeBlock:p,language:f}=A.useMemo(()=>qo(r),[r]);return u.jsxs("div",{className:"relative w-full",children:[u.jsx("textarea",{ref:c,value:r,onChange:e,onKeyDown:n,placeholder:a,disabled:s,className:Y("w-full resize-none transition-all duration-200",p&&["font-mono text-[13px]","bg-gray-50 dark:bg-dark-100/50 ophelia:bg-[#0f0f0f]","rounded-lg"],t),...l}),d&&u.jsx("div",{className:"absolute right-0 top-0 pointer-events-none flex items-center gap-1",children:u.jsxs("div",{className:Y("flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[10px] font-medium","bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a]","text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3]","border border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/50",p&&"animate-pulse"),children:[u.jsx(An,{className:"h-3 w-3"}),f&&u.jsx("span",{children:f}),!f&&p&&u.jsx("span",{children:"code"})]})})]})});Er.displayName="CodeAwareTextarea";const Ro=({images:r,onImagesChange:e,maxImages:t=5,sessionId:a,onDocumentUploaded:s,disabled:n=!1,className:l})=>{const{t:c}=b0(),d=A.useRef(null),[p,f]=A.useState(!1),[x,y]=A.useState(!1),[b,S]=A.useState([]),k=async N=>{if(!(!N||n))for(let j=0;j<N.length;j++){const L=N[j];L.type.startsWith("image/")?await C(L):L.type.includes("pdf")||L.type.includes("text")?await B(L):ue.error(`File type not supported: ${L.name}`)}},C=async N=>{if(t-r.length<=0){ue.error(`Maximum ${t} images allowed`);return}if(N.size>10*1024*1024){ue.error(`Image ${N.name} is too large (max 10MB)`);return}const L=new FileReader;L.onload=H=>{H.target?.result&&e([...r,H.target.result])},L.readAsDataURL(N)},B=async N=>{if(N.size>10*1024*1024){ue.error("File size must be less than 10MB");return}y(!0);try{const j=await Qt.uploadDocument(N,a);if(j.success&&j.data){const L=j.data;S(H=>[...H,L]),s?.(L),ue.success(`Document "${N.name}" uploaded`)}else ue.error(j.error||"Failed to upload document")}catch(j){console.error("Document upload error:",j),ue.error("Failed to upload document")}finally{y(!1)}},z=N=>{N.preventDefault(),n||f(!0)},U=N=>{N.preventDefault(),f(!1)},R=N=>{N.preventDefault(),f(!1),n||k(N.dataTransfer.files)},O=N=>{const j=r.filter((L,H)=>H!==N);e(j)},X=async N=>{try{const j=await Qt.deleteDocument(N);j.success?(S(L=>L.filter(H=>H.id!==N)),ue.success("Document removed")):ue.error(j.error||"Failed to remove document")}catch(j){console.error("Error removing document:",j),ue.error("Failed to remove document")}},F=N=>{if(N===0)return"0 B";const j=1024,L=["B","KB","MB","GB"],H=Math.floor(Math.log(N)/Math.log(j));return parseFloat((N/Math.pow(j,H)).toFixed(1))+" "+L[H]},q=r.length>0||b.length>0;return u.jsxs("div",{className:Y("space-y-3",l),children:[u.jsxs("div",{className:Y("border-2 border-dashed rounded-xl p-6 transition-all duration-200 cursor-pointer","border-gray-300 dark:border-gray-600 ophelia:border-[#3f3f46]","hover:border-primary-400 dark:hover:border-primary-500 ophelia:hover:border-[#9333ea]",p&&"border-primary-500 dark:border-primary-400 ophelia:border-[#a855f7] bg-primary-50/50 dark:bg-primary-900/10 ophelia:bg-[#9333ea]/10",n&&"opacity-50 cursor-not-allowed"),onDragOver:z,onDragLeave:U,onDrop:R,onClick:()=>!n&&d.current?.click(),children:[u.jsx("input",{ref:d,type:"file",multiple:!0,accept:"image/*,.pdf,.txt",onChange:N=>{k(N.target.files),N.target.value=""},className:"hidden",disabled:n}),u.jsxs("div",{className:"flex flex-col items-center text-center",children:[x?u.jsx(Ha,{className:"h-8 w-8 text-gray-400 dark:text-gray-500 ophelia:text-[#737373] mb-2 animate-spin"}):u.jsx(Ua,{className:"h-8 w-8 text-gray-400 dark:text-gray-500 ophelia:text-[#737373] mb-2"}),u.jsxs("p",{className:"text-sm text-gray-700 dark:text-gray-300 ophelia:text-[#d4d4d4]",children:[c("chat.mediaUpload.dropImagesHere")," ",u.jsx("span",{className:"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] font-medium",children:c("chat.mediaUpload.browse")})]}),u.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373] mt-1",children:c("chat.mediaUpload.supportedFormats")})]})]}),q&&u.jsxs("div",{className:"flex flex-wrap gap-2",children:[r.map((N,j)=>u.jsxs("div",{className:"relative group w-16 h-16 rounded-lg overflow-hidden bg-gray-100 dark:bg-gray-800 ophelia:bg-[#1a1a1a] border border-gray-200 dark:border-gray-700 ophelia:border-[#262626]",children:[u.jsx("img",{src:N,alt:`Upload ${j+1}`,className:"w-full h-full object-cover"}),u.jsx("button",{onClick:L=>{L.stopPropagation(),O(j)},className:"absolute top-0.5 right-0.5 p-0.5 rounded-full bg-black/60 hover:bg-black/80 text-white opacity-0 group-hover:opacity-100 transition-opacity",children:u.jsx(f0,{className:"h-3 w-3"})})]},`img-${j}`)),b.map(N=>u.jsxs("div",{className:"relative group flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-100 dark:bg-gray-800 ophelia:bg-[#1a1a1a] border border-gray-200 dark:border-gray-700 ophelia:border-[#262626]",children:[N.fileType==="pdf"?u.jsx(Va,{className:"w-4 h-4 text-red-500 flex-shrink-0"}):u.jsx(jn,{className:"w-4 h-4 text-blue-500 flex-shrink-0"}),u.jsxs("div",{className:"min-w-0",children:[u.jsx("p",{className:"text-xs font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] truncate max-w-[100px]",children:N.filename}),u.jsx("p",{className:"text-[10px] text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:F(N.size)})]}),u.jsx("button",{onClick:j=>{j.stopPropagation(),X(N.id)},className:"p-0.5 rounded-full hover:bg-gray-200 dark:hover:bg-gray-700 ophelia:hover:bg-[#262626] text-gray-500 hover:text-red-500 transition-colors",children:u.jsx(f0,{className:"h-3 w-3"})})]},N.id))]})]})},Po=({sessionId:r,className:e=""})=>{const[t,a]=A.useState([]);if(A.useEffect(()=>{if(!r)return;(async()=>{try{const c=await Qt.getDocuments(r);c.success&&c.data&&a(c.data)}catch(c){console.error("Failed to load documents:",c)}})()},[r]),!r||t.length===0)return null;const s=t.reduce((l,c)=>l+c.size,0),n=l=>{if(l===0)return"0 B";const c=1024,d=["B","KB","MB","GB"],p=Math.floor(Math.log(l)/Math.log(c));return parseFloat((l/Math.pow(c,p)).toFixed(1))+" "+d[p]};return u.jsxs("div",{className:`
|
|
267
|
+
`:oo(r)?(c=2,d=2):Ys(r)&&(c=1,d=1);++n<s.length;)l=l.concat(Ks(s[n],r,{whitespace:a,breakBefore:n?void 0:c,breakAfter:n<s.length-1?cr(s[n+1]):d}));return Ba(r)&&ja(e,r,Ba)&&l.push(" "),c&&l.unshift(c),d&&l.push(d),l}function Zs(r,e){const t=String(r.value),a=[],s=[];let n=0;for(;n<=t.length;){Ca.lastIndex=n;const d=Ca.exec(t),p=d&&"index"in d?d.index:t.length;a.push(po(t.slice(n,p).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),n===0?e.breakBefore:!0,p===t.length?e.breakAfter:!0)),n=p+1}let l=-1,c;for(;++l<a.length;)a[l].charCodeAt(a[l].length-1)===8203||l<a.length-1&&a[l+1].charCodeAt(0)===8203?(s.push(a[l]),c=void 0):a[l]?(typeof c=="number"&&s.push(c),s.push(a[l]),c=0):(l===0||l===a.length-1)&&s.push(0);return s}function mo(r){return[String(r.value)]}function po(r,e,t){const a=[];let s=0,n;for(;s<r.length;){Da.lastIndex=s;const l=Da.exec(r);n=l?l.index:r.length,!s&&!n&&l&&!e&&a.push(""),s!==n&&a.push(r.slice(s,n)),s=l?n+l[0].length:n}return s!==n&&!t&&a.push(""),a.join(" ")}function Js(r,e){if(r.type==="element"){const t=r.properties||{};switch(r.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return t.wrap?"pre-wrap":"pre";case"td":case"th":return t.noWrap?"nowrap":e.whitespace;case"textarea":return"pre-wrap"}}return e.whitespace}function fo(r){return!!(r.properties||{}).hidden}function go(r){return r.tagName==="td"||r.tagName==="th"}function vo(r){return r.tagName==="dialog"&&!(r.properties||{}).open}const xo={},bo=[];function yo(r){const e=r||xo;return function(t,a){dn(t,"element",function(s,n){const l=Array.isArray(s.properties.className)?s.properties.className:bo,c=l.includes("language-math"),d=l.includes("math-display"),p=l.includes("math-inline");let f=d;if(!c&&!d&&!p)return;let x=n[n.length-1],y=s;if(s.tagName==="code"&&c&&x&&x.type==="element"&&x.tagName==="pre"&&(y=x,x=n[n.length-2],f=!0),!x)return;const b=co(y,{whitespace:"pre"});let S;try{S=za.renderToString(b,{...e,displayMode:f,throwOnError:!0})}catch(C){const B=C,z=B.name.toLowerCase();a.message("Could not render math with KaTeX",{ancestors:[...n,s],cause:B,place:s.position,ruleId:z,source:"rehype-katex"});try{S=za.renderToString(b,{...e,displayMode:f,strict:"ignore",throwOnError:!1})}catch{S=[{type:"element",tagName:"span",properties:{className:["katex-error"],style:"color:"+(e.errorColor||"#cc0000"),title:String(C)},children:[{type:"text",value:b}]}]}}typeof S=="string"&&(S=ro(S).children);const k=x.children.indexOf(y);return x.children.splice(k,1,...S),hn})}}const wo=r=>{const e=[];let t=r.replace(/```[\s\S]*?```|`[^`\n]+`/g,a=>(e.push(a),`__CODE_BLOCK_${e.length-1}__`));return t=t.replace(/\\\[([\s\S]*?)\\\]/g,(a,s)=>`$$${s}$$`),t=t.replace(/\\\(([\s\S]*?)\\\)/g,(a,s)=>`$${s}$`),e.forEach((a,s)=>{t=t.replace(`__CODE_BLOCK_${s}__`,a)}),t},ko=({content:r,className:e})=>{const{theme:t}=C0(),[a,s]=Jt.useState(null),n=Jt.useMemo(()=>wo(r),[r]),l=async c=>{try{await navigator.clipboard.writeText(c),s(c),setTimeout(()=>s(null),2e3)}catch(d){console.error("Failed to copy text:",d)}};return u.jsx("div",{className:Y("prose prose-sm max-w-none dark:prose-invert prose-gray","[&_.katex-display]:overflow-x-auto [&_.katex-display]:overflow-y-hidden [&_.katex-display]:py-2","[&_.katex]:text-inherit",e),children:u.jsx(mn,{remarkPlugins:[Kl],rehypePlugins:[yo],components:{code({inline:c,className:d,children:p,...f}){const x=/language-(\w+)/.exec(d||""),y=String(p).replace(/\n$/,""),b=x?x[1]:null;return c?u.jsx("code",{className:Y("px-2 py-1 rounded-md bg-gray-100 dark:bg-dark-200 text-gray-800 dark:text-dark-800","font-mono text-sm border border-gray-200 dark:border-dark-300",d),...f,children:p}):u.jsxs("div",{className:"relative group my-4 overflow-hidden rounded-xl border border-gray-200 dark:border-dark-300 shadow-sm",children:[u.jsxs("div",{className:"flex items-center justify-between bg-gray-50 dark:bg-dark-100 px-4 py-3 border-b border-gray-200 dark:border-dark-300",children:[u.jsx("span",{className:"text-xs font-semibold text-gray-700 dark:text-dark-700 uppercase tracking-wide",children:b||"text"}),u.jsx("button",{onClick:()=>l(y),className:"opacity-0 group-hover:opacity-100 transition-all duration-200 p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-300 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-1",title:"Copy code",children:a===y?u.jsx(yt,{className:"h-4 w-4 text-success-600 dark:text-success-400"}):u.jsx(La,{className:"h-4 w-4 text-gray-500 dark:text-dark-600"})})]}),u.jsx("div",{className:"overflow-x-auto",children:u.jsx(gn,{language:b||"text",isDark:t.mode==="dark",className:"!m-0 !rounded-none !border-none",children:y})})]})},pre({children:c,...d}){return u.jsx("pre",{...d,children:c})},p({children:c,...d}){return u.jsx("p",{className:"mb-4 last:mb-0 leading-relaxed",...d,children:c})},ul({children:c,...d}){return u.jsx("ul",{className:"list-disc list-inside mb-4 space-y-2 pl-4",...d,children:c})},ol({children:c,...d}){return u.jsx("ol",{className:"list-decimal list-inside mb-4 space-y-2 pl-4",...d,children:c})},li({children:c,...d}){return u.jsx("li",{className:"text-gray-700 dark:text-dark-700 leading-relaxed",...d,children:c})},blockquote({children:c,...d}){return u.jsx("blockquote",{className:"border-l-4 border-primary-400 dark:border-primary-500 ophelia:border-[#a855f7] bg-primary-25 dark:bg-primary-950/30 ophelia:bg-[rgba(168,85,247,0.1)] pl-4 py-3 my-4 rounded-r-lg italic text-gray-700 dark:text-dark-700 ophelia:text-[#d4d4d4]",...d,children:c})},h1({children:c,...d}){return u.jsx("h1",{className:"text-2xl font-bold mb-4 mt-6 first:mt-0 text-gray-900 dark:text-dark-800 border-b border-gray-200 dark:border-dark-300 pb-2",...d,children:c})},h2({children:c,...d}){return u.jsx("h2",{className:"text-xl font-semibold mb-3 mt-6 first:mt-0 text-gray-900 dark:text-dark-800",...d,children:c})},h3({children:c,...d}){return u.jsx("h3",{className:"text-lg font-medium mb-3 mt-4 first:mt-0 text-gray-900 dark:text-dark-800",...d,children:c})}},children:n})})},So=({statistics:r,className:e=""})=>{const[t,a]=A.useState(!1),{t:s}=o0(),n=y=>{if(y==null)return"N/A";const b=y/1e6;return b<1e3?`${Math.round(b)}ms`:`${(b/1e3).toFixed(2)}s`},l=y=>y?`${y.toFixed(1)} t/s`:"N/A",c=r.prompt_eval_count||0,d=r.eval_count||0,p=c+d,f=n(r.total_duration),x=l(r.tokens_per_second);return u.jsxs("div",{className:`text-xs text-gray-500 dark:text-dark-500 mt-2 ${e}`,children:[u.jsxs("div",{className:"flex items-center gap-4 mb-1",children:[u.jsxs("span",{className:"flex items-center gap-1 text-gray-600 dark:text-dark-600",children:[u.jsx(yn,{size:12,className:"text-primary-500"}),d," tokens"]}),u.jsx("span",{className:"text-gray-500 dark:text-dark-500",children:x}),u.jsx("span",{className:"text-gray-500 dark:text-dark-500",children:f}),r.model&&u.jsx("span",{className:"text-gray-400 dark:text-dark-400 bg-gray-100 dark:bg-dark-200 px-2 py-0.5 rounded-full truncate max-w-32 sm:max-w-48",title:r.model,children:r.model})]}),u.jsxs("button",{onClick:()=>a(!t),className:"flex items-center gap-1 text-gray-400 dark:text-dark-400 hover:text-gray-600 dark:hover:text-dark-600 transition-colors",children:[t?u.jsx(D0,{size:12}):u.jsx(wn,{size:12}),u.jsx("span",{children:s("generationStats.details")})]}),t&&u.jsxs("div",{className:"mt-2 p-3 bg-gray-50 dark:bg-dark-100 border border-gray-200 dark:border-dark-300 rounded-lg text-xs space-y-2",children:[u.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-2",children:[u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.promptTokens")})," ",c]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.generatedTokens")})," ",d]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.totalTokens")})," ",p]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.speed")})," ",x]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.promptEval")})," ",n(r.prompt_eval_duration)]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.generation")})," ",n(r.eval_duration)]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.modelLoad")})," ",n(r.load_duration)]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.totalTime")})," ",f]})]}),r.created_at&&u.jsxs("div",{className:"pt-2 border-t border-gray-200 dark:border-dark-300 text-gray-600 dark:text-dark-600",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.generatedAt")})," ",new Date(r.created_at).toLocaleTimeString()]})]})]})};let L0=null,H0=null,ot=0;const Mo=300*1e3;async function No(){const r=Date.now();return L0!==null&&r-ot<Mo?L0:H0||(H0=(async()=>{try{const e=await dt.getModels();return e.success&&e.data&&e.data.length>0?(L0=e.data,ot=r,e.data):(L0=[],ot=r,[])}catch{return L0=[],ot=r,[]}finally{H0=null}})(),H0)}function To(r){return r.split(/(?<=[.!?]["']?\s)|(?<=[.!?]["']?$)/).map(t=>t.trim()).filter(t=>t.length>0)}const zo=({text:r,className:e,size:t="sm"})=>{const{t:a}=o0(),{preferences:s}=C0(),[n,l]=A.useState(!1),[c,d]=A.useState(!1),[p,f]=A.useState(null),[x,y]=A.useState([]),[b,S]=A.useState(null),k=A.useRef(null),C=A.useRef(!1),B=A.useRef([]),z=A.useRef(0);A.useEffect(()=>{let N=!0;return No().then(j=>{N&&(y(j),S(j.length>0))}),()=>{N=!1}},[]);const U=A.useCallback(async(N,j,L,H)=>{const V=await dt.generateBase64({model:j,input:N,voice:L,speed:H,response_format:"mp3"});if(!V.success||!V.data?.audio)throw new Error(V.message||a("ttsButton.generateFailed"));const Q=`data:${V.data.mimeType};base64,${V.data.audio}`,W=new Audio(Q);return k.current=W,new Promise((te,le)=>{W.onended=()=>{k.current=null,te()},W.onerror=()=>{k.current=null,le(new Error(a("ttsButton.playbackFailed")))},W.play().catch(le)})},[a]),R=A.useCallback(async(N,j,L,H)=>{B.current=N,z.current=0,C.current=!1;let V=null;const Q=async W=>{try{const te=await dt.generateBase64({model:j,input:W,voice:L,speed:H,response_format:"mp3"});return!te.success||!te.data?.audio?null:{audioUrl:`data:${te.data.mimeType};base64,${te.data.audio}`,mimeType:te.data.mimeType}}catch{return null}};N.length>0&&(V=Q(N[0]));for(let W=0;W<N.length&&!C.current;W++){z.current=W;try{const te=await V;if(C.current)break;if(W+1<N.length?V=Q(N[W+1]):V=null,!te){console.warn(`Failed to generate audio for sentence ${W+1}, skipping`);continue}const le=new Audio(te.audioUrl);k.current=le,await new Promise((be,ke)=>{le.onended=()=>{k.current=null,be()},le.onerror=()=>{k.current=null,be()},le.play().catch(()=>{be()})})}catch(te){console.error(`Error playing sentence ${W+1}:`,te)}}},[]),O=A.useCallback(()=>{C.current=!0,k.current&&(k.current.pause(),k.current.currentTime=0,k.current=null),l(!1),d(!1)},[]),X=async()=>{if(!c){if(n){O();return}d(!0),f(null),C.current=!1;try{const N=s.ttsSettings,j=N?.model||x[0]?.model||"tts-1",L=N?.voice||x[0]?.config?.default_voice||"alloy",H=N?.speed||1;if(N?.streamSentences||!1){const Q=To(r);if(Q.length===0)throw new Error(a("ttsButton.generateFailed"));d(!1),l(!0),await R(Q,j,L,H),C.current||l(!1)}else await U(r,j,L,H),d(!1),l(!0),k.current&&(k.current.onended=()=>{l(!1),k.current=null},k.current.onerror=()=>{f(a("ttsButton.playbackFailed")),l(!1),k.current=null})}catch(N){const j=N instanceof Error?N.message:a("ttsButton.generateFailed");f(j),console.error("TTS error:",N),l(!1),d(!1)}}};if(A.useEffect(()=>()=>{C.current=!0,k.current&&(k.current.pause(),k.current=null)},[]),b===!1||b===null)return null;const F={sm:"h-6 w-6 p-1",md:"h-8 w-8 p-1.5",lg:"h-10 w-10 p-2"},q={sm:"h-3.5 w-3.5",md:"h-4 w-4",lg:"h-5 w-5"};return u.jsx("button",{onClick:X,disabled:c||!r,title:p||a(n?"ttsButton.stopSpeaking":c?"ttsButton.generatingSpeech":"ttsButton.readAloud"),className:Y("rounded-full transition-all duration-200","hover:bg-gray-100 dark:hover:bg-dark-200","focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-1","disabled:opacity-50 disabled:cursor-not-allowed",p?"text-red-500 dark:text-red-400":n?"text-primary-600 dark:text-primary-400 bg-primary-50 dark:bg-primary-900/20":"text-gray-500 dark:text-gray-400",F[t],e),children:c?u.jsx(Ha,{className:Y(q[t],"animate-spin")}):n?u.jsx($a,{className:q[t]}):p?u.jsx(kn,{className:q[t]}):u.jsx(Sn,{className:q[t]})})},Ao=[{regex:/```html\s*\n([\s\S]*?)\n```/gi,type:"html",getTitle:r=>Co(r)||"HTML Document"},{regex:/```svg\s*\n([\s\S]*?)\n```/gi,type:"svg",getTitle:r=>"SVG Image"},{regex:/```(?:react|jsx)\s*\n([\s\S]*?)\n```/gi,type:"react",getTitle:r=>Do(r)||"React Component"},{regex:/```json\s*\n([\s\S]*?)\n```/gi,type:"json",getTitle:r=>"JSON Data"},{regex:/```python\s*\n([\s\S]*?)\n```/gi,type:"code",language:"python",getTitle:r=>Bo(r)||"Python Code"},{regex:/```(?:javascript|js)\s*\n([\s\S]*?)\n```/gi,type:"code",language:"javascript",getTitle:r=>Fo(r)||"JavaScript Code"},{regex:/```css\s*\n([\s\S]*?)\n```/gi,type:"code",language:"css",getTitle:r=>"CSS Styles"},{regex:/```(\w+)\s*\n([\s\S]*?)\n```/gi,type:"code",getTitle:(r,e)=>`${e.toUpperCase()} Code`}],jo=[{regex:/<artifact\s+type="([^"]+)"\s+title="([^"]+)"[^>]*>([\s\S]*?)<\/artifact>/gi,extract:r=>({type:r[1],title:r[2],content:r[3].trim()})},{regex:/<artifact\s+type="([^"]+)"[^>]*>([\s\S]*?)<\/artifact>/gi,extract:r=>({type:r[1],title:`${r[1].toUpperCase()} Artifact`,content:r[2].trim()})}];function Ia(r){const e=document.createElement("div");return e.innerHTML=r,e.textContent||e.innerText||""}function Co(r){const e=r.match(/<title[^>]*>(.*?)<\/title>/i);if(e)return Ia(e[1]).trim();const t=r.match(/<h1[^>]*>(.*?)<\/h1>/i);return t?Ia(t[1]).trim():null}function Do(r){const e=r.match(/(?:function|const)\s+(\w+)/);if(e)return e[1];const t=r.match(/class\s+(\w+)/);return t?t[1]:null}function Bo(r){if(r.includes("def main("))return"Python Script";const e=r.match(/class\s+(\w+)/);if(e)return`${e[1]} Class`;const t=r.match(/def\s+(\w+)/);return t&&t[1]!=="__init__"?`${t[1]} Function`:null}function Fo(r){const e=r.match(/function\s+(\w+)/);if(e)return`${e[1]} Function`;const t=r.match(/(?:const|let)\s+(\w+)\s*=/);return t?t[1]:null}function Ea(r,e){if(e==="html")return/<[^>]+>/.test(r)&&r.trim().length>200;if(e==="svg")return/<svg[^>]*>/.test(r);if(e==="react")return/<[A-Z][^>]*>/.test(r)||/return\s*\(/.test(r);if(e==="json")try{return JSON.parse(r),r.trim().length>100}catch{return!1}if(e==="code"){const t=r.split(`
|
|
268
|
+
`).length,a=r.trim().length,s=/function|class|def |import |from |const |let |var |if |for |while |try |catch/.test(r);return(a>500||t>15)&&s}return!1}function qa(r){const e=[];let t=r;for(const a of jo){let s;for(;(s=a.regex.exec(t))!==null;){const n=a.extract(s);if(Ea(n.content,n.type)){const l={id:`artifact-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,type:n.type,title:n.title,content:n.content,createdAt:Date.now(),updatedAt:Date.now()};e.push(l),t=t.replace(s[0],"")}}}for(const a of Ao){let s;for(a.regex.lastIndex=0;(s=a.regex.exec(t))!==null;){const n=s[1]||s[2],l=a.language||(s[1]&&s[2]?s[1]:void 0);if(Ea(n,a.type)){const c={id:`artifact-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,type:a.type,title:a.getTitle(n,l||"code"),content:n,language:l,createdAt:Date.now(),updatedAt:Date.now()};e.push(c),t=t.replace(s[0],"")}}}return{content:t.trim(),artifacts:e}}const dr=({message:r,isStreaming:e=!1,className:t,isLastAssistantMessage:a=!1,onRegenerate:s})=>{const{t:n}=o0(),l=r.role==="user",c=r.role==="system",{preferences:d}=C0(),{user:p}=Pa(),{setSystemMessage:f,getCurrentPersona:x}=ze(),y=x(),[b,S]=A.useState(!1),[k,C]=A.useState(r.content),[B,z]=A.useState(null),[U,R]=A.useState(!1),[O,X]=A.useState(r.content),[F,q]=A.useState(!1),[N,j]=A.useState(r.artifacts||[]),[L,H]=A.useState(null),[V,Q]=A.useState(!1),[W,te]=A.useState(!1),[le,be]=A.useState(!1),ke=A.useRef(null),Ae=A.useRef(e),re=A.useRef(!1),ee=async()=>{try{await navigator.clipboard.writeText(r.content),be(!0),setTimeout(()=>be(!1),2e3)}catch(se){console.error("Failed to copy message:",se)}};A.useEffect(()=>{if(!l&&!c&&r.content){const se=Lr(r.content);H(se.thinking);const oe=se.content;if(r.artifacts&&r.artifacts.length>0)X(oe),j(r.artifacts);else if(e)X(oe),j([]);else{const Te=qa(oe);X(Te.content),j(Te.artifacts)}}},[r.content,r.artifacts,l,c,e]),A.useEffect(()=>{if(!l&&!c&&r.content&&!e){const se=Lr(r.content);H(se.thinking);const oe=se.content;if(!r.artifacts||r.artifacts.length===0){const Te=qa(oe);X(Te.content),j(Te.artifacts)}}},[e,r.content,r.artifacts,l,c]),A.useEffect(()=>{const se=Ae.current&&!e;return Ae.current=e,se&&!re.current&&!l&&!c&&O&&d.ttsSettings?.enabled&&d.ttsSettings?.autoPlay&&(re.current=!0,(async()=>{te(!0);try{const Te=await dt.generateBase64({model:d.ttsSettings?.model||"tts-1",input:O,voice:d.ttsSettings?.voice||"alloy",speed:d.ttsSettings?.speed||1,response_format:"mp3"});if(Te.success&&Te.data?.audio){const Ve=`data:${Te.data.mimeType};base64,${Te.data.audio}`,c0=new Audio(Ve);ke.current=c0,c0.onended=()=>{te(!1),ke.current=null},c0.onerror=()=>{te(!1),ke.current=null},await c0.play()}}catch(Te){console.error("Auto-play TTS failed:",Te),te(!1)}})()),()=>{ke.current&&(ke.current.pause(),ke.current=null)}},[e,l,c,O,d.ttsSettings]);const he=()=>c?n("chatMessage.system"):l?d.showUsername&&p?.username?p.username:n("chatMessage.you"):y?.name?y.name:r.model||n("chatMessage.assistant"),He=()=>{S(!0),C(r.content)},Xe=async()=>{R(!0);try{f(k),S(!1),console.log("✅ System message updated:",k)}catch(se){console.error("Failed to save system message:",se)}finally{R(!1)}},w0=()=>{S(!1),C(r.content)},Ne=(se,oe=100)=>se.length<=oe?se:se.substring(0,oe)+"...",Se=c&&r.content.length>100;return u.jsxs("div",{className:Y("flex transition-colors group my-2",l?"justify-end":"justify-start",t),children:[u.jsxs("div",{className:Y("flex gap-3 sm:gap-4",l?"flex-row-reverse max-w-[85%] sm:max-w-[75%]":c?"w-full":"max-w-[85%] sm:max-w-[75%]"),children:[!c&&u.jsx("div",{className:Y("flex shrink-0 items-center justify-center shadow-sm overflow-hidden mt-1",l?"h-8 w-8 rounded-full bg-primary-600 ophelia:bg-[#9333ea] text-white":y?.avatar?"h-8 w-8 rounded-full bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]":"h-8 px-2 rounded-full bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]"),children:l?p?.avatar?u.jsx("img",{src:p.avatar,alt:p.username,className:"w-full h-full object-cover"}):u.jsx(_t,{className:"h-4 w-4"}):y?.avatar?u.jsx("img",{src:y.avatar,alt:y.name||"Assistant",className:"w-full h-full object-cover"}):u.jsx("span",{className:"libre-brand text-xs text-gray-700 dark:text-gray-200 ophelia:text-[#e5e5e5]",children:"Libre"})}),u.jsxs("div",{className:Y("flex-1 min-w-0 rounded-2xl sm:rounded-3xl p-4 sm:p-5",l?"bg-primary-600/90 dark:bg-primary-700/90 ophelia:bg-[#9333ea]/90 text-white":c?"bg-transparent p-2 py-3":"bg-white/95 dark:bg-dark-100/95 ophelia:bg-[#0a0a0a]/95 backdrop-blur-md shadow-sm border border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/60"),children:[!c&&u.jsxs("div",{className:Y("flex items-center gap-3 mb-2",l&&"flex-row-reverse"),children:[u.jsx("span",{className:Y("text-sm font-semibold",l?"text-white/90":"text-gray-900 dark:text-dark-800 ophelia:text-[#fafafa]"),children:he()}),r.model&&!l&&y?.name&&u.jsx("span",{className:"text-xs text-gray-500 dark:text-dark-600 ophelia:text-[#737373] bg-gray-100 dark:bg-dark-200 ophelia:bg-[#121212] px-2 py-0.5 rounded-full truncate max-w-32 sm:max-w-48",title:r.model,children:r.model}),u.jsx("span",{className:Y("text-xs",l?"text-white/60":"text-gray-400 dark:text-dark-500 ophelia:text-[#525252]"),children:vn(r.timestamp)}),!l&&!c&&!e&&O&&u.jsx(zo,{text:O,size:"sm",className:Y("transition-opacity",W?"opacity-100 text-primary-600 dark:text-primary-400":"opacity-0 group-hover:opacity-100")}),!c&&!e&&u.jsx("button",{onClick:ee,className:"p-1 rounded hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(147,51,234,0.2)] transition-opacity opacity-0 group-hover:opacity-100",title:n(le?"chatMessage.copied":"chatMessage.copyMessage"),children:le?u.jsx(yt,{className:"h-3.5 w-3.5 text-green-500 dark:text-green-400"}):u.jsx(La,{className:"h-3.5 w-3.5 text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3]"})}),!l&&!c&&!e&&a&&s&&u.jsx("button",{onClick:s,className:"p-1 rounded hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(147,51,234,0.2)] transition-opacity opacity-0 group-hover:opacity-100",title:n("chatMessage.regenerateResponse"),children:u.jsx(er,{className:"h-3.5 w-3.5 text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3]"})})]}),u.jsxs("div",{className:Y(l?"text-white":"text-gray-700 dark:text-dark-700 ophelia:text-[#e5e5e5]"),children:[r.images&&r.images.length>0&&u.jsx("div",{className:"mb-3 grid grid-cols-2 sm:grid-cols-3 gap-2 max-w-lg",children:r.images.map((se,oe)=>u.jsx("div",{className:"aspect-square rounded-lg overflow-hidden bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700",children:u.jsx("img",{src:se,alt:`Uploaded image ${oe+1}`,className:"w-full h-full object-cover cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>z(se)})},oe))}),l?u.jsx("p",{className:"whitespace-pre-wrap leading-relaxed",children:r.content}):c?u.jsxs("div",{className:"bg-gray-50/30 dark:bg-dark-50/30 ophelia:bg-[rgba(5,5,5,0.8)] rounded-md p-2 border border-gray-100/50 dark:border-dark-200/50 ophelia:border-[rgba(26,26,26,0.5)] relative z-0",children:[u.jsxs("div",{className:"text-xs font-medium mb-1 text-gray-500 dark:text-gray-400 ophelia:text-[#737373] flex items-center justify-between",children:[u.jsxs("div",{className:"flex items-center gap-1",children:[u.jsx(Ga,{className:"h-2.5 w-2.5 opacity-50"}),n("chatMessage.system")]}),u.jsx("div",{className:"flex items-center gap-1",children:b?u.jsxs(u.Fragment,{children:[u.jsx("button",{onClick:Xe,disabled:U,className:"p-1 hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(147,51,234,0.2)] rounded transition-colors disabled:opacity-50",title:n("chatMessage.saveChanges"),children:u.jsx(Mn,{className:"h-3 w-3 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"})}),u.jsx("button",{onClick:w0,disabled:U,className:"p-1 hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(239,68,68,0.15)] rounded transition-colors disabled:opacity-50",title:n("chatMessage.cancelEditing"),children:u.jsx(g0,{className:"h-3 w-3 text-red-600 dark:text-red-400 ophelia:text-[#f87171]"})})]}):u.jsx("button",{onClick:He,className:"p-1 hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(147,51,234,0.2)] rounded transition-colors",title:n("chatMessage.editSystemMessage"),children:u.jsx(Nn,{className:"h-3 w-3 text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3] ophelia:hover:text-[#c084fc]"})})})]}),b?u.jsx("textarea",{value:k,onChange:se=>C(se.target.value),className:"w-full min-h-[100px] p-3 text-sm text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] bg-gray-50 dark:bg-dark-50 ophelia:bg-[#0a0a0a] border border-gray-200 dark:border-dark-300 ophelia:border-[#262626] rounded-lg resize-none focus:outline-none focus:ring-2 focus:ring-primary-500 dark:focus:ring-primary-400 ophelia:focus:ring-[#a855f7] focus:border-transparent",placeholder:n("chatMessage.systemMessagePlaceholder"),disabled:U}):u.jsxs("div",{children:[u.jsx("p",{className:"whitespace-pre-wrap leading-relaxed text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:F?r.content:Ne(r.content)}),Se&&u.jsx("button",{onClick:()=>q(!F),className:"mt-1 flex items-center gap-1 text-xs text-gray-400 dark:text-gray-500 ophelia:text-[#737373] hover:text-primary-600 dark:hover:text-primary-400 ophelia:hover:text-[#c084fc] transition-colors",children:F?u.jsxs(u.Fragment,{children:[u.jsx(Ur,{className:"h-3 w-3"}),n("chatMessage.showLess")]}):u.jsxs(u.Fragment,{children:[u.jsx(D0,{className:"h-3 w-3"}),n("chatMessage.showMore")]})})]})]}):u.jsxs("div",{className:"relative",children:[L&&u.jsxs("div",{className:"mb-3",children:[u.jsxs("button",{onClick:()=>Q(!V),className:"flex items-center gap-2 text-sm text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] hover:text-primary-600 dark:hover:text-primary-400 ophelia:hover:text-[#c084fc] transition-colors",children:[u.jsx(mt,{className:"h-4 w-4"}),u.jsx("span",{className:"font-medium",children:n("chatMessage.thinking")}),V?u.jsx(Ur,{className:"h-4 w-4"}):u.jsx(D0,{className:"h-4 w-4"})]}),V&&u.jsx("div",{className:"mt-2 p-3 bg-gray-50 dark:bg-dark-100 ophelia:bg-[#0a0a0a] rounded-lg border border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a]",children:u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-300 ophelia:text-[#a3a3a3] whitespace-pre-wrap leading-relaxed",children:L})})]}),u.jsx(ko,{content:O}),e&&u.jsx("div",{className:"inline-block w-2 h-5 bg-primary-500 animate-pulse ml-1 rounded-sm"})]}),!l&&!c&&N.length>0&&u.jsx("div",{className:"mt-4",children:u.jsx(Pn,{artifacts:N})}),!l&&!c&&r.statistics&&u.jsx("div",{className:"mt-3",children:u.jsx(So,{statistics:r.statistics})})]})]})]}),B&&hr.createPortal(u.jsxs("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/80 backdrop-blur-sm",onClick:()=>z(null),children:[u.jsx("button",{className:"absolute top-6 right-6 p-3 bg-white/20 hover:bg-white/40 rounded-full text-white transition-all shadow-lg border border-white/30",onClick:se=>{se.stopPropagation(),z(null)},children:u.jsx(g0,{className:"h-7 w-7"})}),u.jsx("img",{src:B,alt:n("chatMessage.fullSizeImage"),className:"max-w-[90vw] max-h-[90vh] object-contain rounded-lg shadow-2xl",onClick:se=>se.stopPropagation()})]}),document.body)]})},Io=({messages:r,isStreaming:e=!1,streamingMessage:t,streamingMessageId:a,isLastAssistantMessage:s=!1,onRegenerate:n,onSelectBranch:l,className:c})=>{if(r.length===1){const d=r[0],p=e&&a===d.id,f=p&&t?{...d,content:t}:d;return u.jsx(dr,{message:f,isStreaming:p,isLastAssistantMessage:s,onRegenerate:n,className:c})}return u.jsxs("div",{className:Y("relative py-1",c),children:[u.jsxs("div",{className:"flex items-center gap-1.5 px-4 pb-2 text-[10px] text-gray-400 dark:text-gray-500 ophelia:text-[#525252]",children:[u.jsx(Tn,{className:"h-3 w-3"}),u.jsxs("span",{children:[r.length," variants"]})]}),u.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3 px-4",children:r.map((d,p)=>{const f=d.isActive!==!1,x=e&&a===d.id,y=x&&t?{...d,content:t}:d;return u.jsxs("div",{className:Y("relative rounded-lg overflow-hidden transition-all duration-200","border shadow-sm",f||x?"border-primary-300 dark:border-primary-600 ophelia:border-[#7c3aed] shadow-primary-100 dark:shadow-primary-900/20 ophelia:shadow-[#9333ea]/10":"border-gray-200 dark:border-dark-300 ophelia:border-[#262626] hover:border-gray-300 dark:hover:border-dark-400 ophelia:hover:border-[#3f3f46]",!f&&!x&&"cursor-pointer hover:shadow-md"),onClick:()=>!f&&!x&&l?.(d.id),children:[u.jsxs("div",{className:Y("flex items-center justify-between px-2.5 py-1 text-[11px]",f||x?"bg-primary-50/80 dark:bg-primary-900/20 ophelia:bg-[#9333ea]/10 text-primary-600 dark:text-primary-400 ophelia:text-[#c084fc]":"bg-gray-50/80 dark:bg-dark-100/80 ophelia:bg-[#121212]/80 text-gray-500 dark:text-gray-500 ophelia:text-[#737373]"),children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("span",{className:"font-medium",children:p+1}),x&&u.jsx("span",{className:"text-[10px] opacity-70 animate-pulse",children:"generating..."})]}),f&&!x&&u.jsx(yt,{className:"h-3 w-3"}),!f&&!x&&u.jsx("span",{className:"text-[10px] opacity-50",children:"select"})]}),u.jsx("div",{className:Y("bg-white dark:bg-dark-50 ophelia:bg-[#0a0a0a]",!f&&!x&&"opacity-80"),children:u.jsx(dr,{message:y,isStreaming:x,isLastAssistantMessage:s&&(f||x),onRegenerate:f&&!e?n:void 0,className:"!bg-transparent !p-3 !text-sm"})})]},d.id)})})]})},Eo=({messages:r,streamingMessage:e,streamingMessageId:t,isStreaming:a=!1,className:s,onRegenerate:n,onSelectBranch:l})=>{const{t:c}=o0(),d=A.useRef(null),p=A.useRef(),f=A.useRef(null),x=A.useRef(!1),[y,b]=A.useState(!1),S=A.useMemo(()=>{const R=[],O=new Set;console.log("[ChatMessages] Grouping messages:",r.map(F=>({id:F.id?.substring(0,8),role:F.role,parentId:F.parentId?.substring(0,8),branchIndex:F.branchIndex,isActive:F.isActive})));const X=[...r].sort((F,q)=>F.role==="system"&&q.role!=="system"?-1:q.role==="system"&&F.role!=="system"?1:F.parentId===q.parentId?(F.branchIndex||0)-(q.branchIndex||0):F.timestamp-q.timestamp);for(const F of X){if(O.has(F.id))continue;const q=F.parentId;if(q){const N=R.findIndex(j=>j.id===q);if(N>=0)R[N].messages.push(F);else{const j=r.find(L=>L.id===q);j&&!O.has(q)?(R.push({id:q,messages:[j,F],messageIndex:R.length}),O.add(q)):R.push({id:F.id,messages:[F],messageIndex:R.length})}O.add(F.id)}else{const N=r.filter(j=>j.parentId===F.id);N.length>0?(R.push({id:F.id,messages:[F,...N],messageIndex:R.length}),O.add(F.id),N.forEach(j=>O.add(j.id))):(R.push({id:F.id,messages:[F],messageIndex:R.length}),O.add(F.id))}}return R.sort((F,q)=>{const N=F.messages[0],j=q.messages[0];return N.role==="system"&&j.role!=="system"?-1:j.role==="system"&&N.role!=="system"?1:N.timestamp-j.timestamp})},[r]),k=A.useCallback((R=!1)=>{x.current&&!R||d.current?.scrollIntoView({behavior:"smooth"})},[]),C=A.useCallback(()=>{const R=f.current;if(!R)return;const{scrollTop:O,scrollHeight:X,clientHeight:F}=R,N=X-O-F<100;x.current=!N,b(!N&&r.length>0)},[r.length]),B=A.useRef(r.length);if(A.useEffect(()=>{r.length>B.current&&!x.current&&k(),B.current=r.length},[r.length,k]),A.useEffect(()=>{a&&e&&!x.current&&requestAnimationFrame(()=>{const R=f.current;R&&(R.scrollTop=R.scrollHeight)})},[a,e]),A.useEffect(()=>{const R=p.current;return()=>{R&&clearTimeout(R)}},[]),r.length===0&&!a)return u.jsx("div",{className:Y("flex-1 flex items-center justify-center p-4 sm:p-8",s),children:u.jsxs("div",{className:"text-center text-gray-500 dark:text-dark-600 max-w-md",children:[u.jsx("div",{className:"text-5xl sm:text-7xl mb-4 sm:mb-6 opacity-60",children:"💬"}),u.jsx("h3",{className:"text-lg sm:text-xl font-semibold mb-2 sm:mb-3 text-gray-700 dark:text-dark-700",children:c("chatMessage.startConversation")}),u.jsx("p",{className:"text-sm leading-relaxed px-4",children:c("chatMessage.startConversationDescription")})]})});let z=-1;for(let R=S.length-1;R>=0;R--)if(S[R].messages.some(O=>O.role==="assistant")){z=R;break}const U=()=>{x.current=!1,d.current?.scrollIntoView({behavior:"smooth"}),b(!1)};return u.jsxs("div",{ref:f,onScroll:C,className:Y("relative flex-1 overflow-y-auto scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-gray-600","scrollbar-track-transparent hover:scrollbar-thumb-gray-400 dark:hover:scrollbar-thumb-gray-500","overscroll-behavior-y-contain","[-webkit-overflow-scrolling:touch]",s),style:{WebkitOverflowScrolling:"touch",overscrollBehaviorY:"contain",WebkitAppRegion:"no-drag"},children:[u.jsxs("div",{className:"max-w-5xl mx-auto px-3 sm:px-4 md:px-6 w-full min-w-0",children:[S.map((R,O)=>{const X=O===z,F=a&&R.messages.some(q=>q.id===t);if(R.messages.length===1){const q=R.messages[0],N=a&&q.id===t,j=N&&e?{...q,content:e}:q;return u.jsx(dr,{message:j,isStreaming:N,isLastAssistantMessage:X,onRegenerate:X?n:void 0,className:O===0?"mt-3 sm:mt-4 md:mt-6":""},q.id)}return u.jsx(Io,{messages:R.messages,isStreaming:F,streamingMessage:e,streamingMessageId:t||void 0,isLastAssistantMessage:X,onRegenerate:X?n:void 0,onSelectBranch:l,className:O===0?"mt-3 sm:mt-4 md:mt-6":""},R.id)}),u.jsx("div",{ref:d,className:"h-3 sm:h-4 md:h-6"})]}),y&&u.jsxs("button",{onClick:U,className:Y("absolute bottom-4 left-1/2 -translate-x-1/2 z-10","flex items-center justify-center gap-1.5","px-3 py-2 rounded-full","bg-white/95 dark:bg-dark-100/95 ophelia:bg-[#0a0a0a]/95","border border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/60","shadow-lg backdrop-blur-sm","text-gray-600 dark:text-dark-600 ophelia:text-[#a3a3a3]","hover:bg-gray-50 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a]","hover:text-gray-900 dark:hover:text-dark-800 ophelia:hover:text-[#fafafa]","transition-all duration-200","hover:shadow-xl hover:scale-105 active:scale-95"),title:c("chatMessage.scrollToBottom"),children:[u.jsx(zn,{className:"h-4 w-4"}),u.jsx("span",{className:"text-xs font-medium",children:c("chatMessage.newMessages")})]})]})};function qo(r){const e=(r.match(/```/g)||[]).length,t=e%2===1;let a=null;if(t){const s=r.lastIndexOf("```");if(s!==-1){const l=r.slice(s+3).match(/^(\w+)/);l&&(a=l[1])}}return{hasCodeBlocks:e>0,isInCodeBlock:t,language:a}}const Er=Jt.forwardRef(({value:r,onChange:e,className:t,placeholder:a,disabled:s,onKeyDown:n,...l},c)=>{const{hasCodeBlocks:d,isInCodeBlock:p,language:f}=A.useMemo(()=>qo(r),[r]);return u.jsxs("div",{className:"relative w-full",children:[u.jsx("textarea",{ref:c,value:r,onChange:e,onKeyDown:n,placeholder:a,disabled:s,className:Y("w-full resize-none transition-all duration-200",p&&["font-mono text-[13px]","bg-gray-50 dark:bg-dark-100/50 ophelia:bg-[#0f0f0f]","rounded-lg"],t),...l}),d&&u.jsx("div",{className:"absolute right-0 top-0 pointer-events-none flex items-center gap-1",children:u.jsxs("div",{className:Y("flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[10px] font-medium","bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a]","text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3]","border border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/50",p&&"animate-pulse"),children:[u.jsx(An,{className:"h-3 w-3"}),f&&u.jsx("span",{children:f}),!f&&p&&u.jsx("span",{children:"code"})]})})]})});Er.displayName="CodeAwareTextarea";const Ro=({images:r,onImagesChange:e,maxImages:t=5,sessionId:a,onDocumentUploaded:s,disabled:n=!1,className:l})=>{const{t:c}=o0(),d=A.useRef(null),[p,f]=A.useState(!1),[x,y]=A.useState(!1),[b,S]=A.useState([]),k=async N=>{if(!(!N||n))for(let j=0;j<N.length;j++){const L=N[j];L.type.startsWith("image/")?await C(L):L.type.includes("pdf")||L.type.includes("text")?await B(L):ue.error(`File type not supported: ${L.name}`)}},C=async N=>{if(t-r.length<=0){ue.error(`Maximum ${t} images allowed`);return}if(N.size>10*1024*1024){ue.error(`Image ${N.name} is too large (max 10MB)`);return}const L=new FileReader;L.onload=H=>{H.target?.result&&e([...r,H.target.result])},L.readAsDataURL(N)},B=async N=>{if(N.size>10*1024*1024){ue.error("File size must be less than 10MB");return}y(!0);try{const j=await Qt.uploadDocument(N,a);if(j.success&&j.data){const L=j.data;S(H=>[...H,L]),s?.(L),ue.success(`Document "${N.name}" uploaded`)}else ue.error(j.error||"Failed to upload document")}catch(j){console.error("Document upload error:",j),ue.error("Failed to upload document")}finally{y(!1)}},z=N=>{N.preventDefault(),n||f(!0)},U=N=>{N.preventDefault(),f(!1)},R=N=>{N.preventDefault(),f(!1),n||k(N.dataTransfer.files)},O=N=>{const j=r.filter((L,H)=>H!==N);e(j)},X=async N=>{try{const j=await Qt.deleteDocument(N);j.success?(S(L=>L.filter(H=>H.id!==N)),ue.success("Document removed")):ue.error(j.error||"Failed to remove document")}catch(j){console.error("Error removing document:",j),ue.error("Failed to remove document")}},F=N=>{if(N===0)return"0 B";const j=1024,L=["B","KB","MB","GB"],H=Math.floor(Math.log(N)/Math.log(j));return parseFloat((N/Math.pow(j,H)).toFixed(1))+" "+L[H]},q=r.length>0||b.length>0;return u.jsxs("div",{className:Y("space-y-3",l),children:[u.jsxs("div",{className:Y("border-2 border-dashed rounded-xl p-6 transition-all duration-200 cursor-pointer","border-gray-300 dark:border-gray-600 ophelia:border-[#3f3f46]","hover:border-primary-400 dark:hover:border-primary-500 ophelia:hover:border-[#9333ea]",p&&"border-primary-500 dark:border-primary-400 ophelia:border-[#a855f7] bg-primary-50/50 dark:bg-primary-900/10 ophelia:bg-[#9333ea]/10",n&&"opacity-50 cursor-not-allowed"),onDragOver:z,onDragLeave:U,onDrop:R,onClick:()=>!n&&d.current?.click(),children:[u.jsx("input",{ref:d,type:"file",multiple:!0,accept:"image/*,.pdf,.txt",onChange:N=>{k(N.target.files),N.target.value=""},className:"hidden",disabled:n}),u.jsxs("div",{className:"flex flex-col items-center text-center",children:[x?u.jsx(Ha,{className:"h-8 w-8 text-gray-400 dark:text-gray-500 ophelia:text-[#737373] mb-2 animate-spin"}):u.jsx(Ua,{className:"h-8 w-8 text-gray-400 dark:text-gray-500 ophelia:text-[#737373] mb-2"}),u.jsxs("p",{className:"text-sm text-gray-700 dark:text-gray-300 ophelia:text-[#d4d4d4]",children:[c("chat.mediaUpload.dropImagesHere")," ",u.jsx("span",{className:"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] font-medium",children:c("chat.mediaUpload.browse")})]}),u.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373] mt-1",children:c("chat.mediaUpload.supportedFormats")})]})]}),q&&u.jsxs("div",{className:"flex flex-wrap gap-2",children:[r.map((N,j)=>u.jsxs("div",{className:"relative group w-16 h-16 rounded-lg overflow-hidden bg-gray-100 dark:bg-gray-800 ophelia:bg-[#1a1a1a] border border-gray-200 dark:border-gray-700 ophelia:border-[#262626]",children:[u.jsx("img",{src:N,alt:`Upload ${j+1}`,className:"w-full h-full object-cover"}),u.jsx("button",{onClick:L=>{L.stopPropagation(),O(j)},className:"absolute top-0.5 right-0.5 p-0.5 rounded-full bg-black/60 hover:bg-black/80 text-white opacity-0 group-hover:opacity-100 transition-opacity",children:u.jsx(g0,{className:"h-3 w-3"})})]},`img-${j}`)),b.map(N=>u.jsxs("div",{className:"relative group flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-100 dark:bg-gray-800 ophelia:bg-[#1a1a1a] border border-gray-200 dark:border-gray-700 ophelia:border-[#262626]",children:[N.fileType==="pdf"?u.jsx(Va,{className:"w-4 h-4 text-red-500 flex-shrink-0"}):u.jsx(jn,{className:"w-4 h-4 text-blue-500 flex-shrink-0"}),u.jsxs("div",{className:"min-w-0",children:[u.jsx("p",{className:"text-xs font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] truncate max-w-[100px]",children:N.filename}),u.jsx("p",{className:"text-[10px] text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:F(N.size)})]}),u.jsx("button",{onClick:j=>{j.stopPropagation(),X(N.id)},className:"p-0.5 rounded-full hover:bg-gray-200 dark:hover:bg-gray-700 ophelia:hover:bg-[#262626] text-gray-500 hover:text-red-500 transition-colors",children:u.jsx(g0,{className:"h-3 w-3"})})]},N.id))]})]})},Po=({sessionId:r,className:e=""})=>{const[t,a]=A.useState([]);if(A.useEffect(()=>{if(!r)return;(async()=>{try{const c=await Qt.getDocuments(r);c.success&&c.data&&a(c.data)}catch(c){console.error("Failed to load documents:",c)}})()},[r]),!r||t.length===0)return null;const s=t.reduce((l,c)=>l+c.size,0),n=l=>{if(l===0)return"0 B";const c=1024,d=["B","KB","MB","GB"],p=Math.floor(Math.log(l)/Math.log(c));return parseFloat((l/Math.pow(c,p)).toFixed(1))+" "+d[p]};return u.jsxs("div",{className:`
|
|
269
269
|
inline-flex items-center space-x-1 px-2 py-1
|
|
270
270
|
bg-blue-50 dark:bg-blue-900/20
|
|
271
271
|
border border-blue-200 dark:border-blue-800
|
|
272
272
|
rounded-md text-xs
|
|
273
273
|
${e}
|
|
274
|
-
`,title:`${t.length} document(s) available for context - Total: ${n(s)}`,children:[u.jsx(Cn,{className:"w-3 h-3 text-blue-600 dark:text-blue-400"}),u.jsxs("span",{className:"text-blue-700 dark:text-blue-300 font-medium",children:[t.length," doc",t.length!==1?"s":""]})]})},Oo=[{key:"none",value:null},{key:"json",value:"json"},{key:"list",value:{type:"object",properties:{items:{type:"array",items:{type:"string"}}},required:["items"]}},{key:"summary",value:{type:"object",properties:{title:{type:"string"},summary:{type:"string"},key_points:{type:"array",items:{type:"string"}}},required:["title","summary","key_points"]}},{key:"analysis",value:{type:"object",properties:{analysis:{type:"string"},pros:{type:"array",items:{type:"string"}},cons:{type:"array",items:{type:"string"}},recommendation:{type:"string"}},required:["analysis","pros","cons","recommendation"]}},{key:"custom",value:"custom"}],Lo=({format:r,onFormatChange:e,className:t})=>{const{t:a}=
|
|
274
|
+
`,title:`${t.length} document(s) available for context - Total: ${n(s)}`,children:[u.jsx(Cn,{className:"w-3 h-3 text-blue-600 dark:text-blue-400"}),u.jsxs("span",{className:"text-blue-700 dark:text-blue-300 font-medium",children:[t.length," doc",t.length!==1?"s":""]})]})},Oo=[{key:"none",value:null},{key:"json",value:"json"},{key:"list",value:{type:"object",properties:{items:{type:"array",items:{type:"string"}}},required:["items"]}},{key:"summary",value:{type:"object",properties:{title:{type:"string"},summary:{type:"string"},key_points:{type:"array",items:{type:"string"}}},required:["title","summary","key_points"]}},{key:"analysis",value:{type:"object",properties:{analysis:{type:"string"},pros:{type:"array",items:{type:"string"}},cons:{type:"array",items:{type:"string"}},recommendation:{type:"string"}},required:["analysis","pros","cons","recommendation"]}},{key:"custom",value:"custom"}],Lo=({format:r,onFormatChange:e,className:t})=>{const{t:a}=o0(),[s,n]=A.useState(!1),[l,c]=A.useState(""),d=()=>Oo.map(b=>({key:b.key,label:a(`chat.structuredOutput.${b.key}`),value:b.value,description:a(`chat.structuredOutput.${b.key}Description`)})),p=()=>{const b=d();if(r===null)return b[0];if(r==="json")return b[1];if(typeof r=="object"){const S=b.find(k=>typeof k.value=="object"&&JSON.stringify(k.value)===JSON.stringify(r));return S||{key:"customSchema",label:a("chat.structuredOutput.custom"),value:r,description:a("chat.structuredOutput.customSchema")}}return b[0]},f=b=>{const k=d().find(C=>C.label===b);if(k){if(k.value==="custom"){n(!0);return}n(!1),e(k.value)}},x=()=>{try{const b=JSON.parse(l);e(b),n(!1)}catch(b){console.error("Invalid JSON schema:",b)}},y=()=>{const b=p();return!b.value||b.value==="json"?null:u.jsxs("div",{className:"mt-3 p-3 bg-gray-50 dark:bg-gray-800 rounded-md",children:[u.jsxs("div",{className:"flex items-center mb-2",children:[u.jsx(Dn,{className:"h-4 w-4 text-gray-500 mr-2"}),u.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:a("chat.structuredOutput.schemaPreview")})]}),u.jsx("pre",{className:"text-xs text-gray-700 dark:text-gray-300 overflow-x-auto",children:JSON.stringify(b.value,null,2)})]})};return u.jsxs("div",{className:Y("space-y-3",t),children:[u.jsx("div",{className:"flex items-center justify-between",children:u.jsxs("div",{className:"flex items-center",children:[u.jsx(Ga,{className:"h-4 w-4 text-gray-500 mr-2"}),u.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:a("chat.structuredOutput.title")})]})}),u.jsx(xn,{value:p().label,onChange:b=>f(b.target.value),options:d().map(b=>({value:b.label,label:b.label}))}),u.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:p().description}),s&&u.jsxs("div",{className:"space-y-3",children:[u.jsx(bn,{value:l,onChange:b=>c(b.target.value),placeholder:`{
|
|
275
275
|
"type": "object",
|
|
276
276
|
"properties": {
|
|
277
277
|
"field1": { "type": "string" },
|
|
278
278
|
"field2": { "type": "number" }
|
|
279
279
|
},
|
|
280
280
|
"required": ["field1"]
|
|
281
|
-
}`,rows:8,className:"font-mono text-sm"}),u.jsxs("div",{className:"flex gap-2",children:[u.jsx(r0,{onClick:x,size:"sm",disabled:!l.trim(),children:a("chat.structuredOutput.applySchema")}),u.jsx(r0,{onClick:()=>{n(!1),c("")},variant:"outline",size:"sm",children:a("chat.structuredOutput.cancel")})]})]}),y(),r&&u.jsxs("div",{className:"flex items-center text-xs text-green-600 dark:text-green-400",children:[u.jsx(Va,{className:"h-3 w-3 mr-1"}),a("chat.structuredOutput.enabled")]})]})},bt=({models:r,selectedModel:e,onModelChange:t,currentPersona:a,className:s,disabled:n=!1,compact:l=!1,showImageGen:c=!1,onModelsRefresh:d})=>{const{t:p}=b0(),[f,x]=A.useState(!1),[y,b]=A.useState(""),[S,k]=A.useState("installed"),C=A.useRef(null),B=A.useRef(null),z=Ra(),[U,R]=A.useState([]),[O,X]=A.useState(!1),[F,q]=A.useState("all"),[N,j]=A.useState(""),[L,H]=A.useState([]),[V,Q]=A.useState(!1),[W,te]=A.useState("text-generation"),[le,be]=A.useState("downloads"),[ke,Ae]=A.useState(""),[re,ee]=A.useState(null),[he,He]=A.useState({}),[Xe,w0]=A.useState(null),[Ne,Se]=A.useState(null),[se,oe]=A.useState(null),[Te,Ve]=A.useState(null),u0=["all","popular","chat","code","vision","embedding"],E0=[{type:"personas",label:"Personas",icon:u.jsx(_t,{className:"h-4 w-4 text-purple-600 dark:text-purple-400 ophelia:text-[#a855f7]"}),models:r.filter(T=>T.isPersona),color:"purple"},{type:"ollama",label:"Ollama Models",icon:u.jsx(Dt,{className:"h-4 w-4 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"}),models:r.filter(T=>!T.isPersona&&!T.isPlugin),color:"green"},{type:"plugins",label:"Plugin Models",icon:u.jsx(A0,{className:"h-4 w-4 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"}),models:r.filter(T=>T.isPlugin),color:"green"}].filter(T=>T.models.length>0).map(T=>({...T,models:T.models.filter(_=>_.name.toLowerCase().includes(y.toLowerCase())||_.personaName&&_.personaName.toLowerCase().includes(y.toLowerCase())||_.pluginName&&_.pluginName.toLowerCase().includes(y.toLowerCase()))})).filter(T=>T.models.length>0),q0=U.filter(T=>{const _=!y||T.name.toLowerCase().includes(y.toLowerCase())||T.description.toLowerCase().includes(y.toLowerCase()),ge=F==="all"||T.category===F;return _&&ge}),Re=r.find(T=>T.name===e||e.startsWith("persona:")&&T.name===e),c0=A.useCallback(async()=>{X(!0);try{const T=await Ct.getLibraryModels({search:N||void 0,sort:"popular"});T.success&&T.data&&R(T.data)}catch(T){console.error("Failed to load library:",T)}finally{X(!1)}},[N]),d0=A.useCallback(async()=>{Q(!0);try{const T=await Hr.getModels({task:W,search:ke||void 0,sort:le,limit:30});T.success&&T.data&&H(T.data)}catch(T){console.error("Failed to load HuggingFace models:",T)}finally{Q(!1)}},[W,ke,le]),qr=A.useCallback(async T=>{const[_,ge]=T.split("/");if(!(!_||!ge)){w0(T);try{const Fe=await Hr.getGgufFiles(_,ge);Fe.success&&Fe.data&&He(je=>({...je,[T]:Fe.data}))}catch(Fe){console.error("Failed to load GGUF files:",Fe)}finally{w0(null)}}},[]),Qs=A.useCallback(T=>{re===T?ee(null):(ee(T),he[T]||qr(T))},[re,he,qr]),_s=A.useCallback((T,_)=>{if(!Ne){Se(T),oe({status:"starting"});try{const ge=Ct.pullModelStream(T,Fe=>{oe(Fe)},()=>{oe(null),Se(null),Ve(null),ue.success(`Downloaded ${_}`),d?.()},Fe=>{oe(null),Se(null),Ve(null),ue.error(`Failed to download: ${Fe}`)});Ve(()=>ge)}catch{oe(null),Se(null),ue.error("Failed to start download")}}},[Ne,d]);A.useEffect(()=>{const T=setTimeout(()=>{S==="huggingface"?Ae(y):S==="ollama"&&j(y)},300);return()=>clearTimeout(T)},[y,S]),A.useEffect(()=>{f&&S==="ollama"&&c0()},[f,S,N,c0]),A.useEffect(()=>{f&&S==="huggingface"&&d0()},[f,S,W,ke,le,d0]),A.useEffect(()=>{const T=_=>{C.current&&!C.current.contains(_.target)&&(x(!1),b(""))};return document.addEventListener("mousedown",T),()=>document.removeEventListener("mousedown",T)},[]),A.useEffect(()=>{f&&B.current&&B.current.focus()},[f]);const Rr=T=>{t({target:{value:T}}),x(!1),b("")},en=async T=>{if(!Ne){Se(T),oe({status:"starting"});try{const _=Ct.pullModelStream(T,ge=>{oe(ge)},()=>{oe(null),Se(null),Ve(null),ue.success(`Downloaded ${T}`),d?.()},ge=>{oe(null),Se(null),Ve(null),ue.error(`Failed to download: ${ge}`)});Ve(()=>_)}catch{oe(null),Se(null),ue.error("Failed to start download")}}},Pr=()=>{Te&&(Te(),Ve(null),Se(null),oe(null),ue.success("Download cancelled"))},tn=T=>r.some(_=>_.name===T||_.name.startsWith(T+":")),At=T=>T.isPersona?u.jsx(_t,{className:"h-4 w-4 text-purple-600 dark:text-purple-400"}):T.isPlugin?u.jsx(A0,{className:"h-4 w-4 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"}):u.jsx(Dt,{className:"h-4 w-4 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"}),R0=T=>T.isPersona?T.personaName||T.name:T.isPlugin?`${T.name}`:T.name,jt=T=>T.isPersona?`via ${T.model}`:T.isPlugin?`via ${T.pluginName}`:null,Or=T=>T>=1e6?`${(T/1e6).toFixed(1)}M`:T>=1e3?`${(T/1e3).toFixed(1)}K`:T.toString(),rn=()=>{if(!Re)return l?u.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[u.jsx(Dt,{className:"h-4 w-4"}),u.jsx("span",{className:"text-xs font-medium text-gray-400 dark:text-gray-500 truncate",children:"Select Model"})]}):"Select Model";if(l){const ge=R0(Re);return u.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[At(Re),u.jsx("span",{className:"text-xs font-medium text-gray-700 dark:text-gray-200 ophelia:text-[#e5e5e5] truncate",children:ge})]})}const T=R0(Re),_=jt(Re);return u.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[At(Re),u.jsxs("div",{className:"flex flex-col min-w-0",children:[u.jsx("span",{className:"text-sm font-medium truncate",children:T}),_&&u.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400 truncate",children:_})]}),Re.isPersona&&a&&u.jsxs("div",{className:"flex items-center gap-1 ml-auto",children:[u.jsx(mt,{className:"h-3 w-3 text-purple-600 dark:text-purple-400"}),a.embedding_model&&u.jsx(Wa,{className:"h-3 w-3 text-purple-500 dark:text-purple-300"})]})]})},an=()=>u.jsxs("div",{className:"flex-1 overflow-y-auto scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-dark-400",children:[E0.length>0?E0.map(T=>u.jsxs("div",{children:[u.jsx("div",{className:"px-3 py-2 text-xs font-semibold text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] bg-gray-100 dark:bg-dark-300 ophelia:bg-[#0a0a0a] border-b border-gray-200 dark:border-dark-400 ophelia:border-[#1a1a1a] sticky top-0",children:u.jsxs("div",{className:"flex items-center gap-2",children:[T.icon,T.label," (",T.models.length,")"]})}),T.models.map(_=>u.jsx("div",{onMouseDown:ge=>{ge.preventDefault(),Rr(_.name)},className:Y("px-3 py-3 cursor-pointer border-b border-gray-100 dark:border-dark-200 ophelia:border-[#1a1a1a] last:border-b-0","hover:bg-gray-50 dark:hover:bg-dark-200 ophelia:hover:bg-[#121212]","bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a] transition-colors",e===_.name&&"bg-primary-50 dark:bg-primary-900/30 ophelia:bg-[rgba(147,51,234,0.15)]"),children:u.jsxs("div",{className:"flex items-center gap-3",children:[At(_),u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsx("div",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] truncate",children:R0(_)}),jt(_)&&u.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373] truncate",children:jt(_)})]}),e===_.name&&u.jsx(yt,{className:"h-4 w-4 text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] flex-shrink-0"})]})},_.name))]},T.type)):u.jsxs("div",{className:"px-4 py-8 text-center text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:[u.jsx(In,{className:"h-8 w-8 mx-auto mb-2 text-gray-300 dark:text-gray-600 ophelia:text-[#525252]"}),u.jsx("p",{className:"text-sm",children:"No models found"})]}),c&&u.jsxs("div",{className:"border-t border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a]",children:[u.jsx("div",{className:"px-3 py-2 text-xs font-semibold text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] bg-gray-100 dark:bg-dark-300 ophelia:bg-[#0a0a0a]",children:u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx(mr,{className:"h-4 w-4 text-blue-600 dark:text-blue-400"}),"Actions"]})}),u.jsx("div",{onMouseDown:T=>{T.preventDefault(),x(!1),z("/gallery")},className:"px-3 py-3 cursor-pointer hover:bg-blue-50 dark:hover:bg-blue-900/20 ophelia:hover:bg-[rgba(147,51,234,0.1)] bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]",children:u.jsxs("div",{className:"flex items-center gap-3",children:[u.jsx(Xa,{className:"h-4 w-4 text-blue-600 dark:text-blue-400 ophelia:text-[#a855f7]"}),u.jsxs("div",{className:"flex-1",children:[u.jsx("div",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]",children:p("gallery.generate")}),u.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:p("gallery.generateDescription")})]})]})})]})]}),sn=()=>u.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[u.jsx("div",{className:"px-3 py-2 border-b border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] flex-shrink-0",children:u.jsx("div",{className:"flex flex-wrap gap-1.5",children:u0.map(T=>u.jsx("button",{onMouseDown:_=>{_.preventDefault(),_.stopPropagation(),q(T)},className:Y("px-2.5 py-1 rounded-full text-xs font-medium transition-colors",F===T?"bg-primary-100 dark:bg-primary-900/30 ophelia:bg-[#9333ea]/20 text-primary-700 dark:text-primary-400 ophelia:text-[#a855f7]":"bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3] hover:bg-gray-200 dark:hover:bg-dark-300 ophelia:hover:bg-[#262626]"),children:T.charAt(0).toUpperCase()+T.slice(1)},T))})}),u.jsx("div",{className:"flex-1 overflow-y-auto",children:O?u.jsx("div",{className:"flex items-center justify-center py-12",children:u.jsx(Ft,{className:"h-6 w-6 animate-spin text-gray-400"})}):q0.length===0?u.jsxs("div",{className:"px-4 py-8 text-center text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:[u.jsx(Bt,{className:"h-8 w-8 mx-auto mb-2 text-gray-300 dark:text-gray-600"}),u.jsx("p",{className:"text-sm",children:"No models found"})]}):u.jsx("div",{className:"divide-y divide-gray-100 dark:divide-dark-200 ophelia:divide-[#1a1a1a]",children:q0.slice(0,50).map(T=>{const _=tn(T.name),ge=Ne===T.name;return u.jsxs("div",{className:Y("px-3 py-3 bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]",_&&"bg-green-50/50 dark:bg-green-900/10"),children:[u.jsxs("div",{className:"flex items-start gap-3",children:[u.jsx("div",{className:"p-2 rounded-lg bg-cyan-100 dark:bg-cyan-900/30 ophelia:bg-[#06b6d4]/20 flex-shrink-0",children:u.jsx(Bt,{className:"h-4 w-4 text-cyan-600 dark:text-cyan-400"})}),u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] truncate",children:T.name}),_&&u.jsx("span",{className:"px-1.5 py-0.5 rounded text-xs bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400",children:"Installed"})]}),u.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373] line-clamp-1 mt-0.5",children:T.description}),u.jsxs("div",{className:"flex items-center gap-2 mt-1.5",children:[T.sizes.slice(0,3).map(Fe=>u.jsx("span",{className:"px-1.5 py-0.5 rounded text-xs bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:Fe},Fe)),T.pulls&&u.jsxs("span",{className:"text-xs text-gray-400 dark:text-gray-500 flex items-center gap-1",children:[u.jsx(J0,{className:"h-3 w-3"}),T.pulls]})]})]}),u.jsx("div",{className:"flex-shrink-0",children:ge?u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("div",{className:"text-xs text-gray-500 w-12 text-right",children:se?.percent!==void 0?`${se.percent}%`:"..."}),u.jsx("button",{onClick:Pr,className:"p-1.5 rounded-lg text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20",children:u.jsx(f0,{className:"h-4 w-4"})})]}):_?u.jsx("button",{onClick:()=>Rr(T.name),className:"px-3 py-1.5 rounded-lg text-xs font-medium bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400 hover:bg-green-200 dark:hover:bg-green-900/50",children:"Use"}):u.jsxs("button",{onClick:()=>en(T.name),className:"px-3 py-1.5 rounded-lg text-xs font-medium bg-primary-100 dark:bg-primary-900/30 ophelia:bg-[#9333ea]/20 text-primary-700 dark:text-primary-400 ophelia:text-[#a855f7] hover:bg-primary-200 dark:hover:bg-primary-900/50",children:[u.jsx(J0,{className:"h-3 w-3 inline mr-1"}),"Pull"]})})]}),ge&&se?.percent!==void 0&&u.jsx("div",{className:"mt-2 w-full bg-gray-200 dark:bg-dark-300 rounded-full h-1.5 overflow-hidden",children:u.jsx("div",{className:"h-1.5 rounded-full bg-primary-500 transition-all duration-300",style:{width:`${se.percent}%`}})})]},T.name)})})}),u.jsxs("div",{className:"px-3 py-2 border-t border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] flex items-center justify-between flex-shrink-0",children:[u.jsxs("a",{href:"https://ollama.com/library",target:"_blank",rel:"noopener noreferrer",onMouseDown:T=>T.stopPropagation(),className:"text-xs text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] hover:underline flex items-center gap-1",children:[u.jsx(It,{className:"h-3 w-3"}),p("modelManager.huggingface.browseAllLink")]}),u.jsx("button",{onMouseDown:T=>{T.preventDefault(),T.stopPropagation(),R([]),c0()},className:"p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a]",children:u.jsx(er,{className:Y("h-3.5 w-3.5 text-gray-400",O&&"animate-spin")})})]})]}),nn=()=>u.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[u.jsx("div",{className:"px-3 py-2 border-b border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] flex-shrink-0 space-y-2",children:u.jsxs("div",{className:"flex gap-2",children:[u.jsxs("select",{value:W,onChange:T=>te(T.target.value),onMouseDown:T=>T.stopPropagation(),className:"flex-1 px-2 py-1.5 rounded-lg border text-xs bg-gray-50 dark:bg-dark-50 ophelia:bg-[#121212] border-gray-200 dark:border-dark-300 ophelia:border-[#262626] text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]",children:[u.jsx("option",{value:"text-generation",children:p("modelManager.huggingface.taskTextGeneration")}),u.jsx("option",{value:"text-to-speech",children:p("modelManager.huggingface.taskTextToSpeech")}),u.jsx("option",{value:"text-to-image",children:p("modelManager.huggingface.taskTextToImage")}),u.jsx("option",{value:"automatic-speech-recognition",children:p("modelManager.huggingface.taskSpeechRecognition")})]}),u.jsxs("select",{value:le,onChange:T=>be(T.target.value),onMouseDown:T=>T.stopPropagation(),className:"px-2 py-1.5 rounded-lg border text-xs bg-gray-50 dark:bg-dark-50 ophelia:bg-[#121212] border-gray-200 dark:border-dark-300 ophelia:border-[#262626] text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]",children:[u.jsx("option",{value:"downloads",children:p("modelManager.huggingface.sortDownloads")}),u.jsx("option",{value:"likes",children:p("modelManager.huggingface.sortLikes")}),u.jsx("option",{value:"lastModified",children:p("modelManager.huggingface.sortRecent")})]})]})}),u.jsx("div",{className:"flex-1 overflow-y-auto",children:V?u.jsx("div",{className:"flex items-center justify-center py-12",children:u.jsx(Ft,{className:"h-6 w-6 animate-spin text-gray-400"})}):L.length===0?u.jsxs("div",{className:"px-4 py-8 text-center text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:[u.jsx(A0,{className:"h-8 w-8 mx-auto mb-2 text-gray-300 dark:text-gray-600"}),u.jsx("p",{className:"text-sm",children:p("modelManager.huggingface.noModelsFound")})]}):u.jsx("div",{className:"divide-y divide-gray-100 dark:divide-dark-200 ophelia:divide-[#1a1a1a]",children:L.map(T=>{const _=re===T.id,ge=he[T.id]||[],Fe=Xe===T.id;return u.jsxs("div",{className:"bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]",children:[u.jsx("div",{className:"px-3 py-3 cursor-pointer hover:bg-gray-50 dark:hover:bg-dark-200 ophelia:hover:bg-[#121212]",onMouseDown:je=>{je.preventDefault(),je.stopPropagation(),Qs(T.id)},children:u.jsxs("div",{className:"flex items-start gap-3",children:[u.jsx("div",{className:"p-2 rounded-lg bg-yellow-100 dark:bg-yellow-900/30 ophelia:bg-[#eab308]/20 flex-shrink-0",children:u.jsx(A0,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-400"})}),u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] truncate",children:T.id}),T.gated&&u.jsx("span",{className:"px-1.5 py-0.5 rounded text-xs bg-yellow-100 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-400",children:"Gated"})]}),u.jsxs("p",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373] mt-0.5",children:["by ",T.author]}),u.jsxs("div",{className:"flex items-center gap-3 mt-1.5 text-xs text-gray-400 dark:text-gray-500",children:[u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx(J0,{className:"h-3 w-3"}),Or(T.downloads)]}),u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx(En,{className:"h-3 w-3"}),Or(T.likes)]}),T.pipeline_tag&&u.jsx("span",{className:"px-1.5 py-0.5 rounded bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a]",children:T.pipeline_tag})]})]}),u.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[u.jsx("a",{href:`https://huggingface.co/${T.id}`,target:"_blank",rel:"noopener noreferrer",onMouseDown:je=>je.stopPropagation(),className:"p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a]",children:u.jsx(It,{className:"h-4 w-4 text-gray-400"})}),u.jsx(D0,{className:Y("h-4 w-4 text-gray-400 transition-transform",_&&"rotate-180")})]})]})}),_&&u.jsx("div",{className:"px-3 pb-3 pt-1 border-t border-gray-100 dark:border-dark-200 ophelia:border-[#1a1a1a] bg-gray-50 dark:bg-dark-200 ophelia:bg-[#0d0d0d]",children:Fe?u.jsxs("div",{className:"flex items-center justify-center py-4",children:[u.jsx(Ft,{className:"h-4 w-4 animate-spin text-gray-400"}),u.jsx("span",{className:"ml-2 text-xs text-gray-500",children:p("modelManager.huggingface.checkingGguf")})]}):ge.length===0?u.jsx("div",{className:"py-4 text-center text-xs text-gray-500 dark:text-gray-400",children:p("modelManager.huggingface.noGgufAvailable")}):u.jsxs("div",{className:"space-y-2",children:[u.jsx("div",{className:"text-xs font-medium text-gray-600 dark:text-gray-300 ophelia:text-[#a3a3a3] mb-2",children:p("modelManager.huggingface.ggufFilesCount",{count:ge.length})}),ge.map(je=>{const ln=Ne===je.ollamaCommand;return u.jsxs("div",{className:"flex items-center gap-2 p-2 rounded-lg bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a] border border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a]",children:[u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsx("div",{className:"text-xs font-medium text-gray-800 dark:text-gray-200 ophelia:text-[#e5e5e5] truncate",children:je.filename}),u.jsxs("div",{className:"flex items-center gap-2 mt-0.5 text-xs text-gray-500 dark:text-gray-400",children:[u.jsx("span",{children:je.sizeFormatted}),je.quantization&&u.jsx("span",{className:"px-1.5 py-0.5 rounded bg-purple-100 dark:bg-purple-900/30 ophelia:bg-[#9333ea]/20 text-purple-700 dark:text-purple-400 ophelia:text-[#a855f7]",children:je.quantization})]})]}),ln?u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("div",{className:"text-xs text-gray-500 w-12 text-right",children:se?.percent!==void 0?`${se.percent}%`:"..."}),u.jsx("button",{onMouseDown:P0=>{P0.preventDefault(),P0.stopPropagation(),Pr()},className:"p-1.5 rounded-lg text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20",children:u.jsx(f0,{className:"h-4 w-4"})})]}):u.jsxs("button",{onMouseDown:P0=>{P0.preventDefault(),P0.stopPropagation(),_s(je.ollamaCommand,je.filename)},disabled:!!Ne,className:Y("px-3 py-1.5 rounded-lg text-xs font-medium","bg-primary-100 dark:bg-primary-900/30 ophelia:bg-[#9333ea]/20","text-primary-700 dark:text-primary-400 ophelia:text-[#a855f7]","hover:bg-primary-200 dark:hover:bg-primary-900/50","disabled:opacity-50 disabled:cursor-not-allowed"),children:[u.jsx(J0,{className:"h-3 w-3 inline mr-1"}),p("models.pull")]})]},je.filename)}),Ne?.startsWith("hf.co/")&&Ne.includes(T.id)&&se?.percent!==void 0&&u.jsx("div",{className:"w-full bg-gray-200 dark:bg-dark-300 rounded-full h-1.5 overflow-hidden mt-2",children:u.jsx("div",{className:"h-1.5 rounded-full bg-primary-500 transition-all duration-300",style:{width:`${se.percent}%`}})})]})})]},T.id)})})}),u.jsxs("div",{className:"px-3 py-2 border-t border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] flex items-center justify-between flex-shrink-0",children:[u.jsxs("a",{href:"https://huggingface.co/models",target:"_blank",rel:"noopener noreferrer",onMouseDown:T=>T.stopPropagation(),className:"text-xs text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] hover:underline flex items-center gap-1",children:[u.jsx(It,{className:"h-3 w-3"}),p("modelManager.huggingface.browseAllLink")]}),u.jsx("button",{onMouseDown:T=>{T.preventDefault(),T.stopPropagation(),d0()},className:"p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a]",children:u.jsx(er,{className:Y("h-3.5 w-3.5 text-gray-400",V&&"animate-spin")})})]})]});return u.jsxs("div",{className:Y("relative",s),ref:C,children:[u.jsxs("button",{type:"button",onClick:()=>!n&&x(!f),disabled:n,className:Y(l?"h-[44px] sm:h-[52px] px-3 flex items-center justify-between text-left w-full ":"w-full flex items-center justify-between gap-2 px-3 py-2 text-left ","bg-gray-50 dark:bg-dark-200 ophelia:bg-[#121212] border border-gray-200 dark:border-dark-300 ophelia:border-[#262626]","rounded-lg text-sm hover:bg-gray-100 dark:hover:bg-dark-100 ophelia:hover:bg-[#1a1a1a]","focus:outline-none focus:ring-2 focus:ring-primary-500/20 ophelia:focus:ring-[#9333ea]/20 focus:border-primary-500 ophelia:focus:border-[#9333ea]",n?"opacity-50 cursor-not-allowed":"cursor-pointer"),title:l?Re?R0(Re):"Select Model":void 0,children:[rn(),u.jsx(D0,{className:Y(l?"h-3 w-3":"h-4 w-4","text-gray-400 flex-shrink-0",f&&"rotate-180")})]}),f&&hr.createPortal(u.jsxs("div",{className:"fixed inset-0 z-[999999] flex items-start sm:items-center justify-center p-2 sm:p-4",children:[u.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:()=>x(!1)}),u.jsxs("div",{className:Y("relative bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a] border border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] shadow-2xl","w-full max-w-md sm:w-[480px] sm:max-w-[90vw]","mt-2 sm:mt-0 rounded-xl","h-[85vh] sm:h-[600px] flex flex-col"),onClick:T=>T.stopPropagation(),children:[u.jsxs("div",{className:"flex-shrink-0",children:[u.jsx("div",{className:"p-3 border-b border-gray-200 dark:border-dark-200 ophelia:border-[#1a1a1a]",children:u.jsxs("div",{className:"relative",children:[u.jsx(Bn,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400"}),u.jsx("input",{ref:B,type:"text",placeholder:S==="installed"?"Search installed models...":S==="ollama"?"Search Ollama library...":"Search HuggingFace...",value:y,onChange:T=>b(T.target.value),className:Y("w-full pl-10 pr-4 py-2.5 text-sm bg-gray-50 dark:bg-dark-200 ophelia:bg-[#121212]","border border-gray-200 dark:border-dark-300 ophelia:border-[#262626] rounded-lg","focus:outline-none focus:ring-2 focus:ring-primary-500/20 ophelia:focus:ring-[#9333ea]/20","text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]","placeholder-gray-500 ophelia:placeholder-[#737373]")})]})}),u.jsxs("div",{className:"flex border-b border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a]",children:[u.jsxs("button",{onMouseDown:T=>{T.preventDefault(),T.stopPropagation(),k("installed")},className:Y("flex-1 px-4 py-2.5 text-sm font-medium transition-colors",S==="installed"?"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] border-b-2 border-primary-500 ophelia:border-[#9333ea]":"text-gray-500 dark:text-gray-400 ophelia:text-[#737373] hover:text-gray-700 dark:hover:text-gray-300"),children:[u.jsx(Fn,{className:"h-4 w-4 inline mr-1.5"}),"Installed"]}),u.jsxs("button",{onMouseDown:T=>{T.preventDefault(),T.stopPropagation(),k("ollama")},className:Y("flex-1 px-4 py-2.5 text-sm font-medium transition-colors",S==="ollama"?"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] border-b-2 border-primary-500 ophelia:border-[#9333ea]":"text-gray-500 dark:text-gray-400 ophelia:text-[#737373] hover:text-gray-700 dark:hover:text-gray-300"),children:[u.jsx(Bt,{className:"h-4 w-4 inline mr-1.5"}),"Ollama"]}),u.jsxs("button",{onMouseDown:T=>{T.preventDefault(),T.stopPropagation(),k("huggingface")},className:Y("flex-1 px-4 py-2.5 text-sm font-medium transition-colors",S==="huggingface"?"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] border-b-2 border-primary-500 ophelia:border-[#9333ea]":"text-gray-500 dark:text-gray-400 ophelia:text-[#737373] hover:text-gray-700 dark:hover:text-gray-300"),children:[u.jsx(A0,{className:"h-4 w-4 inline mr-1.5"}),"HuggingFace"]})]})]}),S==="installed"&&an(),S==="ollama"&&sn(),S==="huggingface"&&nn()]})]}),document.body),u.jsx("select",{value:e,onChange:t,className:"sr-only",tabIndex:-1,children:r.map(T=>u.jsx("option",{value:T.name,children:R0(T)},T.name))})]})},Ho=({onSendMessage:r,onStopGeneration:e,disabled:t=!1})=>{const{t:a}=b0(),[s,n]=A.useState(""),[l,c]=A.useState([]),[d,p]=A.useState(null),[f,x]=A.useState(!1),[y,b]=A.useState(null),[S,k]=A.useState(!1),{isGenerating:C,setBackgroundImage:B}=C0(),{currentSession:z,models:U}=ze(),R=A.useRef(null);A.useEffect(()=>{(async()=>{try{const L=await Oa.getPlugins();k(!!(L.success&&L.data&&L.data.length>0))}catch{k(!1)}})()},[]);const O=j=>{j.preventDefault(),!(!s.trim()||C)&&(r(s.trim(),l.length>0?l:void 0,d||void 0),n(""),c([]))},X=j=>{j.key==="Enter"&&!j.shiftKey&&(j.preventDefault(),O(j))},F=()=>{e()};A.useEffect(()=>{const j=R.current;j&&(j.style.height="auto",j.style.height=Math.min(j.scrollHeight,200)+"px")},[s]),A.useEffect(()=>{(async()=>{if(z?.personaId)try{const L=await $r.getPersona(z.personaId);if(L.success&&L.data)b(L.data);else{console.warn(`Persona ${z.personaId} not found, clearing reference`),b(null);const{setCurrentSession:H}=ze.getState();H({...z,personaId:void 0})}}catch(L){if(console.error("Failed to load current persona:",L),b(null),z){const{setCurrentSession:H}=ze.getState();H({...z,personaId:void 0})}}else b(null)})()},[z?.personaId]);const q=async j=>{const L=j.target.value;if(z)try{if(L.startsWith("persona:")){const H=L.replace("persona:",""),V=await $r.getPersona(H);if(!V.success||!V.data){Q0.error("Failed to load persona details");return}const Q=V.data,W=await ht.updateSession(z.id,{personaId:H,model:L});if(W.success&&W.data){const{sessions:te}=ze.getState(),le=te.map(be=>be.id===z.id?W.data:be);ze.setState({sessions:le,currentSession:W.data}),Q.background&&B(Q.background),Q0.success(a("chat.persona.applied"))}}else{const H=await ht.updateSession(z.id,{model:L,personaId:void 0});if(H.success&&H.data){const{sessions:V}=ze.getState(),Q=V.map(W=>W.id===z.id?H.data:W);ze.setState({sessions:Q,currentSession:H.data}),B(null),Q0.success(a("chat.model.updated"))}}}catch(H){console.error("Failed to update session:",H),Q0.error("Failed to update session")}},N=l.length>0||d!==null;return u.jsx("div",{className:"pointer-events-none",children:u.jsxs("div",{className:"max-w-5xl mx-auto px-3 sm:px-4 md:px-6 w-full pointer-events-auto",children:[f&&u.jsxs("div",{className:"mb-2 p-3 rounded-2xl bg-white/95 dark:bg-dark-100/95 ophelia:bg-[#0a0a0a]/95 backdrop-blur-md border border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/50 shadow-lg",children:[u.jsx(Ro,{images:l,onImagesChange:c,maxImages:5,sessionId:z?.id,disabled:t}),u.jsx(Lo,{format:d,onFormatChange:p})]}),u.jsxs("div",{className:"py-2 sm:py-3",children:[u.jsx("form",{onSubmit:O,children:u.jsxs("div",{className:Y("flex items-center gap-2 p-2 sm:p-3 rounded-2xl sm:rounded-3xl border transition-all duration-300 ease-out shadow-lg","bg-white/95 dark:bg-dark-100/95 ophelia:bg-[#0a0a0a]/95 backdrop-blur-md","border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/60","hover:border-gray-300/70 dark:hover:border-dark-400/70 ophelia:hover:border-[#3f3f46]/80","focus-within:border-primary-400/70 dark:focus-within:border-primary-500/70 ophelia:focus-within:border-[#9333ea]/70","focus-within:shadow-xl"),children:[u.jsx(r0,{type:"button",variant:"ghost",size:"sm",onClick:()=>x(!f),className:Y("h-8 w-8 sm:h-9 sm:w-9 !p-0 rounded-full flex-shrink-0","hover:bg-gray-100 dark:hover:bg-dark-200/80 ophelia:hover:bg-[#1a1a1a]","transition-all duration-200 touch-manipulation","hover:scale-105 active:scale-95",N&&"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7]",f&&"bg-gray-100 dark:bg-dark-200/80 ophelia:bg-[#1a1a1a]"),title:a("chat.input.attachments"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"0"},children:N?u.jsxs("div",{className:"relative flex items-center justify-center",children:[u.jsx(Ya,{className:"h-4 w-4"}),u.jsx("div",{className:"absolute -top-0.5 -right-0.5 h-2 w-2 bg-primary-500 dark:bg-primary-400 ophelia:bg-[#a855f7] rounded-full ring-2 ring-white dark:ring-dark-50 ophelia:ring-[#0a0a0a]"})]}):f?u.jsx(Ka,{className:"h-4 w-4"}):u.jsx(mr,{className:"h-4 w-4"})}),u.jsx("div",{className:"flex-1 min-w-0",children:u.jsx(Er,{ref:R,value:s,onChange:j=>n(j.target.value),onKeyDown:X,placeholder:a("chat.input.placeholder"),disabled:t,className:"!border-0 !bg-transparent !shadow-none !p-0 !m-0 !rounded-none !focus:ring-0 !focus:border-0 !focus:shadow-none !focus:bg-transparent min-h-[32px] sm:min-h-[36px] max-h-[120px] resize-none scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-dark-400 focus:outline-none placeholder:text-gray-500 dark:placeholder:text-dark-500 text-base sm:text-sm leading-none touch-manipulation",rows:1,style:{boxShadow:"none !important",border:"none !important",outline:"none !important",padding:"0 !important",margin:"0 !important",lineHeight:"1.2 !important",verticalAlign:"middle"}})}),u.jsxs("div",{className:"flex items-center gap-1 sm:gap-2 flex-shrink-0",children:[z&&U.length>0&&u.jsx("div",{className:"hidden sm:block",children:u.jsx(bt,{models:U,selectedModel:z.personaId?`persona:${z.personaId}`:z.model,onModelChange:q,currentPersona:y,className:"min-w-[160px] max-w-[240px] border-0 bg-gray-100/80 dark:bg-dark-100/80 ophelia:bg-[#1a1a1a]/80 rounded-xl text-sm hover:bg-gray-200/80 dark:hover:bg-dark-200/60 ophelia:hover:bg-[#262626]/80 transition-colors duration-200",compact:!0,showImageGen:S})}),C?u.jsx(r0,{type:"button",variant:"ghost",size:"sm",onClick:F,className:Y("h-8 w-8 sm:h-9 sm:w-9 p-0 rounded-full flex-shrink-0 flex items-center justify-center","bg-red-50 dark:bg-red-900/20 ophelia:bg-red-900/30","text-red-500 dark:text-red-400 ophelia:text-red-400","hover:bg-red-100 dark:hover:bg-red-900/30 ophelia:hover:bg-red-900/40","transition-all duration-200 touch-manipulation","hover:scale-105 active:scale-95"),title:a("chat.input.stopGeneration"),children:u.jsx($a,{className:"h-4 w-4"})}):u.jsx(r0,{type:"submit",variant:"ghost",size:"sm",disabled:!s.trim()||t,className:Y("h-8 w-8 sm:h-9 sm:w-9 p-0 rounded-full flex-shrink-0 flex items-center justify-center","text-gray-400 dark:text-dark-500 ophelia:text-[#525252]","disabled:opacity-40 disabled:hover:bg-transparent disabled:cursor-not-allowed","transition-all duration-200 touch-manipulation",s.trim()&&!t&&["bg-primary-500 dark:bg-primary-600 ophelia:bg-[#9333ea]","text-white dark:text-white ophelia:text-white","hover:bg-primary-600 dark:hover:bg-primary-500 ophelia:hover:bg-[#a855f7]","shadow-md hover:shadow-lg","hover:scale-105 active:scale-95"]),title:a("chat.input.sendMessage"),children:u.jsx(Za,{className:"h-4 w-4"})})]})]})}),z&&U.length>0&&u.jsx("div",{className:"sm:hidden mt-3",children:u.jsx(bt,{models:U,selectedModel:z.personaId?`persona:${z.personaId}`:z.model,onModelChange:q,currentPersona:y,className:"w-full rounded-xl bg-gray-100/80 dark:bg-dark-100/80 ophelia:bg-[#1a1a1a]/80 border-0 transition-colors duration-200",compact:!0,showImageGen:S})}),u.jsxs("div",{className:"mt-2 flex items-center justify-center gap-2 text-xs text-gray-500 dark:text-dark-600",children:[u.jsx(Po,{sessionId:z?.id}),u.jsxs("div",{className:"text-center",children:[u.jsx("a",{href:"https://librewebui.org",target:"_blank",rel:"noopener noreferrer",className:"libre-brand underline hover:text-primary-600 dark:hover:text-primary-400 transition-colors",style:{fontSize:"1.1em",lineHeight:1},children:"Libre WebUI"})," ",u.jsxs("span",{className:"text-xs text-gray-400 dark:text-gray-500",style:{fontSize:"0.55rem"},children:["v","0.6.3"]})," ",u.jsx("span",{className:"text-gray-300 dark:text-gray-600 opacity-50",children:"•"})," ",u.jsx("span",{className:"text-gray-400 dark:text-gray-500",style:{fontSize:"0.55rem"},children:a("chat.footer.disclaimer")}),N&&u.jsxs("span",{className:"ml-2 text-primary-600 dark:text-primary-400",children:["•"," ",l.length>0&&a("chat.footer.images",{count:l.length}),l.length>0&&d&&" • ",d&&a("chat.footer.structuredOutput")]})]})]})]})]})})},$o=({persona:r,onClear:e,className:t})=>{const[a,s]=A.useState(!1),n=A.useRef(null),[l,c]=A.useState({top:0,left:0});A.useEffect(()=>{if(a&&n.current){const f=n.current.getBoundingClientRect();c({top:f.bottom+8,left:f.left})}},[a]);const d=!!(r.memory_settings?.enabled||r.mutation_settings?.enabled),p=()=>r.avatar?r.avatar:`https://ui-avatars.com/api/?name=${encodeURIComponent(r.name)}&background=6366f1&color=fff&size=64`;return u.jsxs("div",{className:Y("relative",t),children:[u.jsxs("button",{ref:n,onClick:()=>s(!a),className:Y("flex items-center gap-2 px-3 py-1.5 rounded-full transition-all duration-200","bg-primary-50 dark:bg-primary-900/30 ophelia:bg-[#9333ea]/15","border border-primary-200 dark:border-primary-700/50 ophelia:border-[#7c3aed]/30","hover:bg-primary-100 dark:hover:bg-primary-900/40 ophelia:hover:bg-[#9333ea]/20","text-primary-700 dark:text-primary-300 ophelia:text-[#c084fc]"),children:[u.jsx("img",{src:p(),alt:r.name,className:"w-5 h-5 rounded-full object-cover"}),u.jsx("span",{className:"text-sm font-medium max-w-[120px] truncate",children:r.name}),d&&u.jsx(Wa,{className:"h-3 w-3 text-purple-500 dark:text-purple-400"}),u.jsx(D0,{className:Y("h-3.5 w-3.5 transition-transform duration-200",a&&"rotate-180")})]}),a&&hr.createPortal(u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"fixed inset-0 z-[9998]",onClick:()=>s(!1)}),u.jsx("div",{className:"fixed w-72 z-[9999]",style:{top:l.top,left:l.left},children:u.jsxs("div",{className:Y("rounded-xl overflow-hidden shadow-xl","bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]","border border-gray-200 dark:border-dark-300 ophelia:border-[#262626]"),children:[u.jsxs("div",{className:"relative h-16",children:[r.background?u.jsx("div",{className:"absolute inset-0 bg-cover bg-center",style:{backgroundImage:`url(${r.background})`}}):u.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-primary-400 via-primary-500 to-purple-600 dark:from-primary-600 dark:via-primary-700 dark:to-purple-800 ophelia:from-[#9333ea] ophelia:via-[#7c3aed] ophelia:to-[#6d28d9]"}),u.jsx("div",{className:"absolute inset-0 bg-black/10"}),e&&u.jsx("button",{onClick:f=>{f.stopPropagation(),e(),s(!1)},className:"absolute top-2 right-2 p-1 rounded-full bg-white/20 hover:bg-white/30 backdrop-blur-sm transition-colors",title:"Remove persona",children:u.jsx(f0,{className:"h-3.5 w-3.5 text-white"})}),d&&u.jsxs("div",{className:"absolute top-2 left-2 flex items-center gap-1 px-2 py-0.5 rounded-full bg-white/20 backdrop-blur-sm text-white text-[10px] font-medium",children:[u.jsx(mt,{className:"h-3 w-3"}),"Enhanced"]})]}),u.jsx("div",{className:"relative px-4 -mt-6",children:u.jsx("img",{src:p(),alt:r.name,className:"w-12 h-12 rounded-lg object-cover ring-3 ring-white dark:ring-dark-100 ophelia:ring-[#0a0a0a] shadow-md"})}),u.jsxs("div",{className:"px-4 pt-2 pb-4",children:[u.jsx("h4",{className:"text-base font-semibold text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]",children:r.name}),u.jsxs("p",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] flex items-center gap-1 mt-0.5",children:[u.jsx(qn,{className:"h-3 w-3"}),r.model]}),r.description&&u.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3] mt-2 line-clamp-2",children:r.description}),r.parameters.system_prompt&&u.jsxs("div",{className:"mt-3 p-2 rounded-lg bg-gray-50 dark:bg-dark-50 ophelia:bg-[#121212] border border-gray-100 dark:border-dark-200 ophelia:border-[#1a1a1a]",children:[u.jsxs("div",{className:"flex items-center gap-1 mb-1",children:[u.jsx(Rn,{className:"h-2.5 w-2.5 text-gray-400"}),u.jsx("span",{className:"text-[9px] uppercase tracking-wider font-medium text-gray-400",children:"System"})]}),u.jsxs("p",{className:"text-[11px] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3] line-clamp-2 italic",children:["“",r.parameters.system_prompt,"”"]})]}),u.jsxs("div",{className:"flex flex-wrap gap-1 mt-3",children:[u.jsxs("span",{className:"inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded text-[10px] font-medium bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:[u.jsx(A0,{className:"h-2.5 w-2.5"}),r.parameters.temperature?.toFixed(1)||"0.7"]}),u.jsxs("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:["Top-P ",r.parameters.top_p?.toFixed(1)||"0.9"]}),r.memory_settings?.enabled&&u.jsxs("span",{className:"inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded text-[10px] font-medium bg-purple-100 dark:bg-purple-900/30 ophelia:bg-[#9333ea]/20 text-purple-700 dark:text-purple-300 ophelia:text-[#c084fc]",children:[u.jsx(mt,{className:"h-2.5 w-2.5"}),"Memory"]})]})]})]})})]}),document.body)]})},Go=({images:r,onImagesChange:e,maxImages:t=5,className:a})=>{const s=A.useRef(null),[n,l]=A.useState(!1),c=b=>{if(!b)return;const S=[],k=t-r.length;for(let C=0;C<Math.min(b.length,k);C++){const B=b[C];if(!B.type.startsWith("image/")){ue.error(`File ${B.name} is not an image`);continue}if(B.size>10*1024*1024){ue.error(`Image ${B.name} is too large (max 10MB)`);continue}const z=new FileReader;z.onload=U=>{U.target?.result&&(S.push(U.target.result),S.length===Math.min(b.length,k)&&e([...r,...S]))},z.readAsDataURL(B)}b.length>k&&ue.error(`Only ${k} more images can be added`)},d=b=>{b.preventDefault(),l(!0)},p=b=>{b.preventDefault(),l(!1)},f=b=>{b.preventDefault(),l(!1),c(b.dataTransfer.files)},x=b=>{const S=r.filter((k,C)=>C!==b);e(S)},y=r.length<t;return u.jsxs("div",{className:Y("space-y-3",a),children:[y&&u.jsxs("div",{className:Y("border-2 border-dashed border-gray-300 dark:border-gray-600 rounded-lg p-4 transition-colors","hover:border-primary-400 dark:hover:border-primary-500",n&&"border-primary-500 bg-primary-50 dark:bg-primary-900/20"),onDragOver:d,onDragLeave:p,onDrop:f,children:[u.jsx("input",{ref:s,type:"file",multiple:!0,accept:"image/*",onChange:b=>c(b.target.files),className:"hidden"}),u.jsxs("div",{className:"flex flex-col items-center text-center",children:[u.jsx(Ua,{className:"h-8 w-8 text-gray-400 dark:text-gray-500 mb-2"}),u.jsxs("p",{className:"text-sm text-gray-700 dark:text-gray-300 mb-2",children:["Drop images here or"," ",u.jsx("button",{onClick:()=>s.current?.click(),className:"text-primary-600 dark:text-primary-400 hover:underline font-medium",children:"browse"})]}),u.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"Supports: JPG, PNG, GIF, WebP (max 10MB each)"})]})]}),r.length>0&&u.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3",children:r.map((b,S)=>u.jsxs("div",{className:"relative group aspect-square rounded-lg overflow-hidden bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700",children:[u.jsx("img",{src:b,alt:`Upload ${S+1}`,className:"w-full h-full object-cover"}),u.jsx("div",{className:"absolute inset-0 bg-black bg-opacity-0 group-hover:bg-opacity-50 transition-all duration-200 flex items-center justify-center",children:u.jsx(r0,{variant:"ghost",size:"sm",onClick:()=>x(S),className:"opacity-0 group-hover:opacity-100 transition-opacity bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 hover:bg-red-100 dark:hover:bg-red-900/20 hover:text-red-600 dark:hover:text-red-400 p-1 rounded-full",children:u.jsx(f0,{className:"h-4 w-4"})})})]},S))}),y&&r.length>0&&u.jsxs(r0,{variant:"outline",size:"sm",onClick:()=>s.current?.click(),className:"w-full sm:w-auto",children:[u.jsx(Xa,{className:"h-4 w-4 mr-2"}),"Add More Images (",r.length,"/",t,")"]})]})},Uo=r=>{const[e,t]=A.useState(""),[a,s]=A.useState(null),[n,l]=A.useState(!1),{addMessage:c,updateMessage:d,updateMessageWithStatistics:p,updateSessionTitle:f,setGeneratingTitleForSession:x}=ze(),{setIsGenerating:y,preferences:b}=C0(),S=A.useRef(null),k=A.useRef(null),C=A.useRef(""),B=A.useRef(0),z=A.useRef();A.useEffect(()=>()=>{Me.offMessage("user_message"),Me.offMessage("assistant_chunk"),Me.offMessage("assistant_complete"),Me.offMessage("error")},[r]),A.useEffect(()=>{if(!r){Me.offMessage("user_message"),Me.offMessage("assistant_chunk"),Me.offMessage("assistant_complete"),Me.offMessage("error");return}return Me.onMessage("user_message",()=>{}),Me.onMessage("assistant_chunk",q=>{const N=q,j=N.messageId||S.current;j&&(C.current=N.total,t(N.total),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{d(r,j,C.current),B.current=Date.now()},N.done?0:200))}),Me.onMessage("assistant_complete",q=>{const N=q;console.log("Hook: Received assistant_complete for session:",r,"messageId:",N.messageId,"with statistics:",!!N.statistics),l(!1),t(""),y(!1);const j=N.messageId||S.current;if(N&&j){const W=C.current||N.content;p(r,j,W,N.statistics)}const H=C0.getState().preferences.titleSettings,V=ze.getState().currentSession,Q=k.current;console.log("Auto-title check:",{firstMessage:Q,autoTitle:H?.autoTitle,taskModel:H?.taskModel,sessionTitle:V?.title}),Q&&H?.autoTitle&&H?.taskModel&&V?.title==="New Chat"&&(console.log("Triggering auto-title generation..."),x(r),ht.generateTitle(r,H.taskModel,Q).then(W=>{console.log("Title generation response:",W),W.success&&W.data?.title&&f(r,W.data.title)}).catch(W=>{console.error("Failed to generate title:",W)}).finally(()=>{x(null)}),k.current=null),S.current=null,C.current="",z.current&&clearTimeout(z.current),B.current=0}),Me.onMessage("error",q=>{const N=q;if(l(!1),t(""),y(!1),S.current=null,N.code==="SESSION_NOT_FOUND"){console.warn("Session not found, redirecting to create new session..."),ue.error("Session not found. Creating a new session..."),window.location.href="/";return}ue.error(N.error)}),l(!1),t(""),S.current=null,()=>{z.current&&clearTimeout(z.current)}},[r,d,p,y,f,x]);const U=A.useCallback(async(F,q,N)=>{if(!(!r||!F.trim()&&(!q||q.length===0)))try{y(!0),l(!0),t(""),z.current&&clearTimeout(z.current),B.current=Date.now();const j=ze.getState().currentSession,L=j?.isPrivate===!0,H=j?.messages?.some(W=>W.role==="user");!L&&!H&&j?.title==="New Chat"&&(k.current=F.trim()),c(r,{role:"user",content:F.trim(),images:q});const V=Gr();S.current=V,s(V),c(r,{role:"assistant",content:"",id:V}),Me.isConnected||await Me.connect();const Q=L?j?.messages?.filter(W=>W.role!=="system"&&W.id!==V).map(W=>({role:W.role,content:W.content,images:W.images})):void 0;Me.send({type:"chat_stream",data:{sessionId:r,content:F.trim(),images:q,format:N,options:b.generationOptions,assistantMessageId:V,isPrivate:L,model:L?j?.model:void 0,messageHistory:Q}})}catch(j){console.error("Failed to send message:",j),l(!1),t(""),s(null),y(!1),S.current=null,ue.error("Failed to send message")}},[r,c,y,b.generationOptions]),R=A.useCallback(()=>{l(!1),t(""),s(null),y(!1),S.current=null},[y]),O=A.useCallback(async()=>{const F=ze.getState().currentSession;if(!F||!r)return;const q=F.messages;let N=-1,j=-1;for(let V=q.length-1;V>=0;V--)if(q[V].role==="assistant"){j=V;break}if(j>0){for(let V=j-1;V>=0;V--)if(q[V].role==="user"){N=V;break}}if(N===-1||j===-1){ue.error("No message to regenerate");return}const L=q[N],H=q[j];try{y(!0),l(!0),t(""),z.current&&clearTimeout(z.current),B.current=Date.now();const V=Gr();S.current=V,s(V),c(r,{role:"assistant",content:"",id:V,parentId:H.parentId||H.id,branchIndex:H.siblingCount||1,isActive:!0}),Me.isConnected||await Me.connect(),Me.send({type:"chat_stream",data:{sessionId:r,content:L.content,images:L.images,options:b.generationOptions,assistantMessageId:V,regenerate:!0,originalMessageId:H.id}})}catch(V){console.error("Failed to regenerate message:",V),l(!1),t(""),y(!1),S.current=null,ue.error("Failed to regenerate message")}},[r,y,c,b.generationOptions]),X=A.useCallback(async F=>{const N=ze.getState().currentSession;if(!N||!r)return;const j=N.messages.find(V=>V.id===F);if(!j){ue.error("Message not found");return}if(j.isActive!==!1)return;const L=j.parentId||j.id,H=j.branchIndex||0;try{const V=await ht.switchMessageBranch(r,F,H);if(V.success&&V.data){const Q=N.messages.map(te=>te.id===L||te.parentId===L?{...te,isActive:te.id===F}:te),W={...N,messages:Q,updatedAt:Date.now()};ze.setState(te=>({sessions:te.sessions.map(le=>le.id===r?W:le),currentSession:W})),ue.success(`Switched to variant ${H+1}`)}else ue.error(V.error||"Failed to select branch")}catch(V){console.error("Failed to select branch:",V),ue.error("Failed to select branch")}},[r]);return{sendMessage:U,stopGeneration:R,regenerateLastMessage:O,selectBranch:X,isStreaming:n,streamingMessage:e,streamingMessageId:a}},Vo=(r,e)=>{const t=new Date().getHours(),a=r?`, ${r}`:"";return t>=5&&t<12?{greeting:`${e?e("chat.greeting.morning"):"Good morning"}${a}`,timeSuffix:"today"}:t>=12&&t<17?{greeting:`${e?e("chat.greeting.afternoon"):"Good afternoon"}${a}`,timeSuffix:"today"}:t>=17&&t<21?{greeting:`${e?e("chat.greeting.evening"):"Good evening"}${a}`,timeSuffix:"tonight"}:{greeting:`${e?e("chat.greeting.night"):"Good night"}${a}`,timeSuffix:"tonight"}},Qo=()=>{const{t:r}=b0(),{sessionId:e}=pn(),t=Ra(),a=fn(),{currentSession:s,sessions:n,models:l,selectedModel:c,setSelectedModel:d,createSession:p,setCurrentSession:f,loadSessions:x,getCurrentPersona:y}=ze(),{user:b}=Pa(),{sendMessage:S,stopGeneration:k,regenerateLastMessage:C,selectBranch:B,isStreaming:z,streamingMessage:U,streamingMessageId:R}=Uo(s?.id||""),O=y(),{greeting:X,timeSuffix:F}=A.useMemo(()=>Vo(b?.username,r),[b?.username,r]),[q,N]=A.useState(""),[j,L]=A.useState([]),[H,V]=A.useState(!1),Q=A.useRef(null),[W,te]=A.useState(!1);A.useEffect(()=>{n.length===0&&x()},[x,n.length]),A.useEffect(()=>{(async()=>{try{const ee=await Oa.getPlugins();te(!!(ee.success&&ee.data&&ee.data.length>0))}catch{te(!1)}})()},[]),A.useEffect(()=>{(()=>{if(sessionStorage.getItem("forceWelcomeScreen")){sessionStorage.removeItem("forceWelcomeScreen");return}if(!s?.isPrivate&&n.length!==0)if(e){const he=n.find(He=>He.id===e);he&&he.id!==s?.id?f(he):he||(console.warn(`Session ${e} not found for current user, redirecting...`),n.length>0?t(`/c/${n[0].id}`,{replace:!0}):t("/",{replace:!0}))}else!e&&n.length>0&&a.pathname==="/"&&t(`/c/${n[0].id}`,{replace:!0})})()},[e,n,f,t,s?.id,s?.isPrivate,a.pathname]),A.useEffect(()=>{if(s?.id){const re=sessionStorage.getItem("pendingMessage");if(re){sessionStorage.removeItem("pendingMessage");try{const ee=JSON.parse(re);setTimeout(()=>{S(ee.content,ee.images)},100)}catch(ee){console.error("Failed to parse pending message:",ee)}}}},[s?.id,S]),A.useEffect(()=>{const re=Q.current;re&&(re.style.height="auto",re.style.height=Math.min(re.scrollHeight,200)+"px")},[q]);const le=async re=>{if(re.preventDefault(),!q.trim()||!c)return;const ee={content:q.trim(),images:j.length>0?j:void 0};sessionStorage.setItem("pendingMessage",JSON.stringify(ee)),N(""),L([]);const he=await p(c);he&&t(`/c/${he.id}`,{replace:!0})},be=re=>{re.key==="Enter"&&!re.shiftKey&&(re.preventDefault(),le(re))},ke=async re=>{const ee=re.target.value;d(ee)},Ae=(re,ee,he)=>{s&&S(re,ee,he)};if(!s){const re=j.length>0;return u.jsxs("div",{className:"h-full flex-1 flex flex-col items-center justify-center p-4 sm:p-8 relative",children:[u.jsxs("button",{onClick:()=>{if(!c&&l.length===0)return;const ee=Date.now(),he={id:`private-${ee}`,title:r("chat.session.private"),model:c||l[0]?.name||"",messages:[],createdAt:ee,updatedAt:ee,isPrivate:!0};f(he)},disabled:!c&&l.length===0,className:"absolute top-4 right-4 flex items-center gap-2 px-3 py-1.5 rounded-full border border-gray-300 dark:border-dark-400 ophelia:border-[#3f3f46] bg-transparent hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a] text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed",title:r("chat.session.privateTooltip"),children:[u.jsx(Vr,{className:"h-4 w-4"}),u.jsx("span",{className:"text-sm",children:r("chat.session.private")})]}),u.jsxs("div",{className:"w-full max-w-2xl mx-auto flex flex-col items-center justify-center",children:[u.jsx("h1",{className:"text-2xl sm:text-3xl font-medium text-gray-800 dark:text-gray-100 ophelia:text-[#fafafa] mb-2 text-center",style:{fontWeight:400},children:X}),u.jsx("p",{className:"text-base sm:text-lg text-gray-500 dark:text-gray-400 ophelia:text-[#737373] mb-8 text-center",children:r(F==="today"?"chat.welcome.helpToday":"chat.welcome.helpTonight")}),l.length>0?u.jsxs("div",{className:"w-full",children:[H&&u.jsx("div",{className:"mb-4 p-4 bg-gray-50 dark:bg-dark-100 ophelia:bg-[#121212] border border-gray-200 dark:border-dark-300 ophelia:border-[#262626] rounded-2xl",children:u.jsx(Go,{images:j,onImagesChange:L,maxImages:5})}),u.jsx("form",{onSubmit:le,children:u.jsxs("div",{className:Y("flex items-center gap-2 p-2 sm:p-3 rounded-2xl sm:rounded-3xl border transition-all duration-200","bg-gray-50 dark:bg-dark-50 ophelia:bg-[#0a0a0a] border-gray-200 dark:border-dark-300 ophelia:border-[#262626]","hover:border-gray-300 dark:hover:border-dark-400 ophelia:hover:border-[#3f3f46]","focus-within:border-primary-400 dark:focus-within:border-primary-500 ophelia:focus-within:border-[#9333ea] focus-within:bg-white dark:focus-within:bg-dark-50 ophelia:focus-within:bg-[#0a0a0a]","shadow-sm hover:shadow-md focus-within:shadow-lg"),children:[u.jsx(r0,{type:"button",variant:"ghost",size:"sm",onClick:()=>V(!H),className:Y("h-8 w-8 sm:h-9 sm:w-9 !p-0 rounded-full flex-shrink-0","hover:bg-gray-200 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a] transition-colors touch-manipulation",re&&"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7]",H&&"bg-gray-200 dark:bg-dark-200 ophelia:bg-[#1a1a1a]"),title:r("chat.input.attachImages"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"0"},children:re?u.jsxs("div",{className:"relative flex items-center justify-center",children:[u.jsx(Ya,{className:"h-4 w-4"}),u.jsx("div",{className:"absolute -top-0.5 -right-0.5 h-1.5 w-1.5 bg-primary-500 ophelia:bg-[#9333ea] rounded-full"})]}):H?u.jsx(Ka,{className:"h-4 w-4"}):u.jsx(mr,{className:"h-4 w-4"})}),u.jsx("div",{className:"flex-1 min-w-0",children:u.jsx(Er,{ref:Q,value:q,onChange:ee=>N(ee.target.value),onKeyDown:be,placeholder:r("chat.input.messagePlaceholder"),className:"!border-0 !bg-transparent !shadow-none !p-0 !m-0 !rounded-none !focus:ring-0 !focus:border-0 !focus:shadow-none !focus:bg-transparent min-h-[32px] sm:min-h-[36px] max-h-[120px] resize-none scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-dark-400 ophelia:scrollbar-thumb-[#3f3f46] focus:outline-none placeholder:text-gray-500 dark:placeholder:text-dark-500 ophelia:placeholder:text-[#737373] text-base sm:text-sm leading-none touch-manipulation",rows:1,style:{boxShadow:"none !important",border:"none !important",outline:"none !important",padding:"0 !important",margin:"0 !important",lineHeight:"1.2 !important",verticalAlign:"middle"}})}),u.jsx("div",{className:"hidden sm:block",children:u.jsx(bt,{models:l,selectedModel:c,onModelChange:ke,className:"min-w-[140px] max-w-[200px] border-0 bg-gray-100 dark:bg-dark-100 ophelia:bg-[#121212] rounded-xl text-sm",compact:!0,showImageGen:W})}),u.jsx(r0,{type:"submit",variant:"ghost",size:"sm",disabled:!q.trim()||!c,className:Y("h-8 w-8 sm:h-9 sm:w-9 p-0 rounded-full flex-shrink-0 flex items-center justify-center","hover:bg-primary-100 dark:hover:bg-primary-900/30 ophelia:hover:bg-[rgba(147,51,234,0.2)] text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7]","disabled:text-gray-400 dark:disabled:text-dark-500 ophelia:disabled:text-[#525252] disabled:hover:bg-transparent","transition-all duration-150 touch-manipulation",q.trim()&&c&&"hover:scale-105 active:scale-95"),title:r("chat.input.sendMessage"),children:u.jsx(Za,{className:"h-4 w-4"})})]})}),u.jsx("div",{className:"sm:hidden mt-4",children:u.jsx(bt,{models:l,selectedModel:c,onModelChange:ke,className:"w-full rounded-xl bg-gray-100 dark:bg-dark-100 ophelia:bg-[#121212] border-0",compact:!0,showImageGen:W})}),u.jsxs("div",{className:"mt-4 text-center",children:[u.jsx("a",{href:"https://librewebui.org",target:"_blank",rel:"noopener noreferrer",className:"libre-brand underline hover:text-primary-600 dark:hover:text-primary-400 ophelia:hover:text-[#a855f7] transition-colors text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",style:{fontSize:"0.75rem",lineHeight:1},children:"Libre WebUI"})," ",u.jsxs("span",{className:"text-gray-400 dark:text-gray-500 ophelia:text-[#525252]",style:{fontSize:"0.55rem"},children:["v","0.6.3"]})," ",u.jsx("span",{className:"text-gray-300 dark:text-gray-600 ophelia:text-[#3f3f46] opacity-50",children:"•"})," ",u.jsx("span",{className:"text-xs text-gray-400 dark:text-gray-500 ophelia:text-[#525252]",children:r("chat.footer.disclaimer")})]})]}):u.jsx("div",{className:"w-full max-w-md",children:u.jsxs("div",{className:"p-6 bg-gray-50 dark:bg-dark-100 ophelia:bg-[#121212] border border-gray-200 dark:border-dark-300 ophelia:border-[#262626] rounded-xl",children:[u.jsx("p",{className:"text-sm text-gray-700 dark:text-dark-700 ophelia:text-[#a3a3a3] mb-4",children:r("chat.model.noModelsDescription")}),u.jsx("code",{className:"block text-xs bg-gray-100 dark:bg-dark-200 ophelia:bg-[#0a0a0a] p-3 rounded-lg font-mono text-gray-800 dark:text-dark-600 ophelia:text-[#737373]",children:r("chat.model.pullCommand")})]})})]})]})}return u.jsxs("div",{className:"flex flex-col h-full relative",style:O?.background?{backgroundImage:`url(${O.background})`,backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat"}:void 0,children:[O?.background&&u.jsx("div",{className:"absolute inset-0 bg-white/80 dark:bg-black/80 backdrop-blur-sm"}),u.jsxs("div",{className:"flex flex-col h-full relative z-10",children:[s?.isPrivate&&u.jsx("div",{className:"flex-shrink-0 px-4 py-2 border-b border-gray-200 dark:border-dark-300 ophelia:border-[#262626] bg-gray-50/80 dark:bg-dark-100/80 ophelia:bg-[#0a0a0a]/80 backdrop-blur-sm",children:u.jsxs("div",{className:"flex items-center justify-center gap-2 text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:[u.jsx(Vr,{className:"h-4 w-4"}),u.jsx("span",{className:"text-sm font-medium",children:r("chat.session.privateMode")}),u.jsxs("span",{className:"text-xs text-gray-500 dark:text-gray-500 ophelia:text-[#737373]",children:["— ",r("chat.session.privateDescription")]})]})}),O&&!s?.isPrivate&&u.jsx("div",{className:"flex-shrink-0 px-4 py-2 border-b border-gray-100 dark:border-dark-200 ophelia:border-[#262626] bg-white/50 dark:bg-dark-100/50 ophelia:bg-[#0a0a0a]/50 backdrop-blur-sm",children:u.jsx($o,{persona:O,onClear:()=>{if(s){const{sessions:re}=ze.getState(),ee={...s,model:O.model,personaId:void 0},he=re.map(He=>He.id===s.id?ee:He);ze.setState({sessions:he,currentSession:ee})}}})}),u.jsx(Eo,{messages:s.messages,streamingMessage:U,streamingMessageId:R,isStreaming:z,onRegenerate:C,onSelectBranch:B,className:"flex-1"}),u.jsx(Ho,{onSendMessage:Ae,onStopGeneration:k,disabled:!s})]})]})};export{Qo as ChatPage,Qo as default};
|
|
281
|
+
}`,rows:8,className:"font-mono text-sm"}),u.jsxs("div",{className:"flex gap-2",children:[u.jsx(r0,{onClick:x,size:"sm",disabled:!l.trim(),children:a("chat.structuredOutput.applySchema")}),u.jsx(r0,{onClick:()=>{n(!1),c("")},variant:"outline",size:"sm",children:a("chat.structuredOutput.cancel")})]})]}),y(),r&&u.jsxs("div",{className:"flex items-center text-xs text-green-600 dark:text-green-400",children:[u.jsx(Va,{className:"h-3 w-3 mr-1"}),a("chat.structuredOutput.enabled")]})]})},bt=({models:r,selectedModel:e,onModelChange:t,currentPersona:a,className:s,disabled:n=!1,compact:l=!1,showImageGen:c=!1,onModelsRefresh:d})=>{const{t:p}=o0(),[f,x]=A.useState(!1),[y,b]=A.useState(""),[S,k]=A.useState("installed"),C=A.useRef(null),B=A.useRef(null),z=Ra(),[U,R]=A.useState([]),[O,X]=A.useState(!1),[F,q]=A.useState("all"),[N,j]=A.useState(""),[L,H]=A.useState([]),[V,Q]=A.useState(!1),[W,te]=A.useState("text-generation"),[le,be]=A.useState("downloads"),[ke,Ae]=A.useState(""),[re,ee]=A.useState(null),[he,He]=A.useState({}),[Xe,w0]=A.useState(null),[Ne,Se]=A.useState(null),[se,oe]=A.useState(null),[Te,Ve]=A.useState(null),c0=["all","popular","chat","code","vision","embedding"],E0=[{type:"personas",label:"Personas",icon:u.jsx(_t,{className:"h-4 w-4 text-purple-600 dark:text-purple-400 ophelia:text-[#a855f7]"}),models:r.filter(T=>T.isPersona),color:"purple"},{type:"ollama",label:"Ollama Models",icon:u.jsx(Dt,{className:"h-4 w-4 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"}),models:r.filter(T=>!T.isPersona&&!T.isPlugin&&!T.name.includes("embed")),color:"green"},{type:"plugins",label:"Plugin Models",icon:u.jsx(A0,{className:"h-4 w-4 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"}),models:r.filter(T=>T.isPlugin),color:"green"}].filter(T=>T.models.length>0).map(T=>({...T,models:T.models.filter(_=>_.name.toLowerCase().includes(y.toLowerCase())||_.personaName&&_.personaName.toLowerCase().includes(y.toLowerCase())||_.pluginName&&_.pluginName.toLowerCase().includes(y.toLowerCase()))})).filter(T=>T.models.length>0),q0=U.filter(T=>{const _=!y||T.name.toLowerCase().includes(y.toLowerCase())||T.description.toLowerCase().includes(y.toLowerCase()),ge=F==="all"||T.category===F;return _&&ge}),Re=r.find(T=>T.name===e||e.startsWith("persona:")&&T.name===e),d0=A.useCallback(async()=>{X(!0);try{const T=await Ct.getLibraryModels({search:N||void 0,sort:"popular"});T.success&&T.data&&R(T.data)}catch(T){console.error("Failed to load library:",T)}finally{X(!1)}},[N]),h0=A.useCallback(async()=>{Q(!0);try{const T=await Hr.getModels({task:W,search:ke||void 0,sort:le,limit:30});T.success&&T.data&&H(T.data)}catch(T){console.error("Failed to load HuggingFace models:",T)}finally{Q(!1)}},[W,ke,le]),qr=A.useCallback(async T=>{const[_,ge]=T.split("/");if(!(!_||!ge)){w0(T);try{const Fe=await Hr.getGgufFiles(_,ge);Fe.success&&Fe.data&&He(je=>({...je,[T]:Fe.data}))}catch(Fe){console.error("Failed to load GGUF files:",Fe)}finally{w0(null)}}},[]),Qs=A.useCallback(T=>{re===T?ee(null):(ee(T),he[T]||qr(T))},[re,he,qr]),_s=A.useCallback((T,_)=>{if(!Ne){Se(T),oe({status:"starting"});try{const ge=Ct.pullModelStream(T,Fe=>{oe(Fe)},()=>{oe(null),Se(null),Ve(null),ue.success(`Downloaded ${_}`),d?.()},Fe=>{oe(null),Se(null),Ve(null),ue.error(`Failed to download: ${Fe}`)});Ve(()=>ge)}catch{oe(null),Se(null),ue.error("Failed to start download")}}},[Ne,d]);A.useEffect(()=>{const T=setTimeout(()=>{S==="huggingface"?Ae(y):S==="ollama"&&j(y)},300);return()=>clearTimeout(T)},[y,S]),A.useEffect(()=>{f&&S==="ollama"&&d0()},[f,S,N,d0]),A.useEffect(()=>{f&&S==="huggingface"&&h0()},[f,S,W,ke,le,h0]),A.useEffect(()=>{const T=_=>{C.current&&!C.current.contains(_.target)&&(x(!1),b(""))};return document.addEventListener("mousedown",T),()=>document.removeEventListener("mousedown",T)},[]),A.useEffect(()=>{f&&B.current&&B.current.focus()},[f]);const Rr=T=>{t({target:{value:T}}),x(!1),b("")},en=async T=>{if(!Ne){Se(T),oe({status:"starting"});try{const _=Ct.pullModelStream(T,ge=>{oe(ge)},()=>{oe(null),Se(null),Ve(null),ue.success(`Downloaded ${T}`),d?.()},ge=>{oe(null),Se(null),Ve(null),ue.error(`Failed to download: ${ge}`)});Ve(()=>_)}catch{oe(null),Se(null),ue.error("Failed to start download")}}},Pr=()=>{Te&&(Te(),Ve(null),Se(null),oe(null),ue.success("Download cancelled"))},tn=T=>r.some(_=>_.name===T||_.name.startsWith(T+":")),At=T=>T.isPersona?u.jsx(_t,{className:"h-4 w-4 text-purple-600 dark:text-purple-400"}):T.isPlugin?u.jsx(A0,{className:"h-4 w-4 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"}):u.jsx(Dt,{className:"h-4 w-4 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"}),R0=T=>T.isPersona?T.personaName||T.name:T.isPlugin?`${T.name}`:T.name,jt=T=>T.isPersona?`via ${T.model}`:T.isPlugin?`via ${T.pluginName}`:null,Or=T=>T>=1e6?`${(T/1e6).toFixed(1)}M`:T>=1e3?`${(T/1e3).toFixed(1)}K`:T.toString(),rn=()=>{if(!Re)return l?u.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[u.jsx(Dt,{className:"h-4 w-4"}),u.jsx("span",{className:"text-xs font-medium text-gray-400 dark:text-gray-500 truncate",children:"Select Model"})]}):"Select Model";if(l){const ge=R0(Re);return u.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[At(Re),u.jsx("span",{className:"text-xs font-medium text-gray-700 dark:text-gray-200 ophelia:text-[#e5e5e5] truncate",children:ge})]})}const T=R0(Re),_=jt(Re);return u.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[At(Re),u.jsxs("div",{className:"flex flex-col min-w-0",children:[u.jsx("span",{className:"text-sm font-medium truncate",children:T}),_&&u.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400 truncate",children:_})]}),Re.isPersona&&a&&u.jsxs("div",{className:"flex items-center gap-1 ml-auto",children:[u.jsx(mt,{className:"h-3 w-3 text-purple-600 dark:text-purple-400"}),a.embedding_model&&u.jsx(Wa,{className:"h-3 w-3 text-purple-500 dark:text-purple-300"})]})]})},an=()=>u.jsxs("div",{className:"flex-1 overflow-y-auto scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-dark-400",children:[E0.length>0?E0.map(T=>u.jsxs("div",{children:[u.jsx("div",{className:"px-3 py-2 text-xs font-semibold text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] bg-gray-100 dark:bg-dark-300 ophelia:bg-[#0a0a0a] border-b border-gray-200 dark:border-dark-400 ophelia:border-[#1a1a1a] sticky top-0",children:u.jsxs("div",{className:"flex items-center gap-2",children:[T.icon,T.label," (",T.models.length,")"]})}),T.models.map(_=>u.jsx("div",{onMouseDown:ge=>{ge.preventDefault(),Rr(_.name)},className:Y("px-3 py-3 cursor-pointer border-b border-gray-100 dark:border-dark-200 ophelia:border-[#1a1a1a] last:border-b-0","hover:bg-gray-50 dark:hover:bg-dark-200 ophelia:hover:bg-[#121212]","bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a] transition-colors",e===_.name&&"bg-primary-50 dark:bg-primary-900/30 ophelia:bg-[rgba(147,51,234,0.15)]"),children:u.jsxs("div",{className:"flex items-center gap-3",children:[At(_),u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsx("div",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] truncate",children:R0(_)}),jt(_)&&u.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373] truncate",children:jt(_)})]}),e===_.name&&u.jsx(yt,{className:"h-4 w-4 text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] flex-shrink-0"})]})},_.name))]},T.type)):u.jsxs("div",{className:"px-4 py-8 text-center text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:[u.jsx(In,{className:"h-8 w-8 mx-auto mb-2 text-gray-300 dark:text-gray-600 ophelia:text-[#525252]"}),u.jsx("p",{className:"text-sm",children:p("models.noModelsFound")})]}),c&&u.jsxs("div",{className:"border-t border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a]",children:[u.jsx("div",{className:"px-3 py-2 text-xs font-semibold text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] bg-gray-100 dark:bg-dark-300 ophelia:bg-[#0a0a0a]",children:u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx(mr,{className:"h-4 w-4 text-blue-600 dark:text-blue-400"}),"Actions"]})}),u.jsx("div",{onMouseDown:T=>{T.preventDefault(),x(!1),z("/gallery")},className:"px-3 py-3 cursor-pointer hover:bg-blue-50 dark:hover:bg-blue-900/20 ophelia:hover:bg-[rgba(147,51,234,0.1)] bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]",children:u.jsxs("div",{className:"flex items-center gap-3",children:[u.jsx(Xa,{className:"h-4 w-4 text-blue-600 dark:text-blue-400 ophelia:text-[#a855f7]"}),u.jsxs("div",{className:"flex-1",children:[u.jsx("div",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]",children:p("gallery.generate")}),u.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:p("gallery.generateDescription")})]})]})})]})]}),sn=()=>u.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[u.jsx("div",{className:"px-3 py-2 border-b border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] flex-shrink-0",children:u.jsx("div",{className:"flex flex-wrap gap-1.5",children:c0.map(T=>u.jsx("button",{onMouseDown:_=>{_.preventDefault(),_.stopPropagation(),q(T)},className:Y("px-2.5 py-1 rounded-full text-xs font-medium transition-colors",F===T?"bg-primary-100 dark:bg-primary-900/30 ophelia:bg-[#9333ea]/20 text-primary-700 dark:text-primary-400 ophelia:text-[#a855f7]":"bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3] hover:bg-gray-200 dark:hover:bg-dark-300 ophelia:hover:bg-[#262626]"),children:T.charAt(0).toUpperCase()+T.slice(1)},T))})}),u.jsx("div",{className:"flex-1 overflow-y-auto",children:O?u.jsx("div",{className:"flex items-center justify-center py-12",children:u.jsx(Ft,{className:"h-6 w-6 animate-spin text-gray-400"})}):q0.length===0?u.jsxs("div",{className:"px-4 py-8 text-center text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:[u.jsx(Bt,{className:"h-8 w-8 mx-auto mb-2 text-gray-300 dark:text-gray-600"}),u.jsx("p",{className:"text-sm",children:p("models.noModelsFound")})]}):u.jsx("div",{className:"divide-y divide-gray-100 dark:divide-dark-200 ophelia:divide-[#1a1a1a]",children:q0.slice(0,50).map(T=>{const _=tn(T.name),ge=Ne===T.name;return u.jsxs("div",{className:Y("px-3 py-3 bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]",_&&"bg-green-50/50 dark:bg-green-900/10"),children:[u.jsxs("div",{className:"flex items-start gap-3",children:[u.jsx("div",{className:"p-2 rounded-lg bg-cyan-100 dark:bg-cyan-900/30 ophelia:bg-[#06b6d4]/20 flex-shrink-0",children:u.jsx(Bt,{className:"h-4 w-4 text-cyan-600 dark:text-cyan-400"})}),u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] truncate",children:T.name}),_&&u.jsx("span",{className:"px-1.5 py-0.5 rounded text-xs bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400",children:"Installed"})]}),u.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373] line-clamp-1 mt-0.5",children:T.description}),u.jsxs("div",{className:"flex items-center gap-2 mt-1.5",children:[T.sizes.slice(0,3).map(Fe=>u.jsx("span",{className:"px-1.5 py-0.5 rounded text-xs bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:Fe},Fe)),T.pulls&&u.jsxs("span",{className:"text-xs text-gray-400 dark:text-gray-500 flex items-center gap-1",children:[u.jsx(J0,{className:"h-3 w-3"}),T.pulls]})]})]}),u.jsx("div",{className:"flex-shrink-0",children:ge?u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("div",{className:"text-xs text-gray-500 w-12 text-right",children:se?.percent!==void 0?`${se.percent}%`:"..."}),u.jsx("button",{onClick:Pr,className:"p-1.5 rounded-lg text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20",children:u.jsx(g0,{className:"h-4 w-4"})})]}):_?u.jsx("button",{onClick:()=>Rr(T.name),className:"px-3 py-1.5 rounded-lg text-xs font-medium bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400 hover:bg-green-200 dark:hover:bg-green-900/50",children:"Use"}):u.jsxs("button",{onClick:()=>en(T.name),className:"px-3 py-1.5 rounded-lg text-xs font-medium bg-primary-100 dark:bg-primary-900/30 ophelia:bg-[#9333ea]/20 text-primary-700 dark:text-primary-400 ophelia:text-[#a855f7] hover:bg-primary-200 dark:hover:bg-primary-900/50",children:[u.jsx(J0,{className:"h-3 w-3 inline mr-1"}),"Pull"]})})]}),ge&&se?.percent!==void 0&&u.jsx("div",{className:"mt-2 w-full bg-gray-200 dark:bg-dark-300 rounded-full h-1.5 overflow-hidden",children:u.jsx("div",{className:"h-1.5 rounded-full bg-primary-500 transition-all duration-300",style:{width:`${se.percent}%`}})})]},T.name)})})}),u.jsxs("div",{className:"px-3 py-2 border-t border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] flex items-center justify-between flex-shrink-0",children:[u.jsxs("a",{href:"https://ollama.com/library",target:"_blank",rel:"noopener noreferrer",onMouseDown:T=>T.stopPropagation(),className:"text-xs text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] hover:underline flex items-center gap-1",children:[u.jsx(It,{className:"h-3 w-3"}),p("modelManager.huggingface.browseAllLink")]}),u.jsx("button",{onMouseDown:T=>{T.preventDefault(),T.stopPropagation(),R([]),d0()},className:"p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a]",children:u.jsx(er,{className:Y("h-3.5 w-3.5 text-gray-400",O&&"animate-spin")})})]})]}),nn=()=>u.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[u.jsx("div",{className:"px-3 py-2 border-b border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] flex-shrink-0 space-y-2",children:u.jsxs("div",{className:"flex gap-2",children:[u.jsxs("select",{value:W,onChange:T=>te(T.target.value),onMouseDown:T=>T.stopPropagation(),className:"flex-1 px-2 py-1.5 rounded-lg border text-xs bg-gray-50 dark:bg-dark-50 ophelia:bg-[#121212] border-gray-200 dark:border-dark-300 ophelia:border-[#262626] text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]",children:[u.jsx("option",{value:"text-generation",children:p("modelManager.huggingface.taskTextGeneration")}),u.jsx("option",{value:"text-to-speech",children:p("modelManager.huggingface.taskTextToSpeech")}),u.jsx("option",{value:"text-to-image",children:p("modelManager.huggingface.taskTextToImage")}),u.jsx("option",{value:"automatic-speech-recognition",children:p("modelManager.huggingface.taskSpeechRecognition")})]}),u.jsxs("select",{value:le,onChange:T=>be(T.target.value),onMouseDown:T=>T.stopPropagation(),className:"px-2 py-1.5 rounded-lg border text-xs bg-gray-50 dark:bg-dark-50 ophelia:bg-[#121212] border-gray-200 dark:border-dark-300 ophelia:border-[#262626] text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]",children:[u.jsx("option",{value:"downloads",children:p("modelManager.huggingface.sortDownloads")}),u.jsx("option",{value:"likes",children:p("modelManager.huggingface.sortLikes")}),u.jsx("option",{value:"lastModified",children:p("modelManager.huggingface.sortRecent")})]})]})}),u.jsx("div",{className:"flex-1 overflow-y-auto",children:V?u.jsx("div",{className:"flex items-center justify-center py-12",children:u.jsx(Ft,{className:"h-6 w-6 animate-spin text-gray-400"})}):L.length===0?u.jsxs("div",{className:"px-4 py-8 text-center text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:[u.jsx(A0,{className:"h-8 w-8 mx-auto mb-2 text-gray-300 dark:text-gray-600"}),u.jsx("p",{className:"text-sm",children:p("modelManager.huggingface.noModelsFound")})]}):u.jsx("div",{className:"divide-y divide-gray-100 dark:divide-dark-200 ophelia:divide-[#1a1a1a]",children:L.map(T=>{const _=re===T.id,ge=he[T.id]||[],Fe=Xe===T.id;return u.jsxs("div",{className:"bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]",children:[u.jsx("div",{className:"px-3 py-3 cursor-pointer hover:bg-gray-50 dark:hover:bg-dark-200 ophelia:hover:bg-[#121212]",onMouseDown:je=>{je.preventDefault(),je.stopPropagation(),Qs(T.id)},children:u.jsxs("div",{className:"flex items-start gap-3",children:[u.jsx("div",{className:"p-2 rounded-lg bg-yellow-100 dark:bg-yellow-900/30 ophelia:bg-[#eab308]/20 flex-shrink-0",children:u.jsx(A0,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-400"})}),u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] truncate",children:T.id}),T.gated&&u.jsx("span",{className:"px-1.5 py-0.5 rounded text-xs bg-yellow-100 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-400",children:"Gated"})]}),u.jsxs("p",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373] mt-0.5",children:["by ",T.author]}),u.jsxs("div",{className:"flex items-center gap-3 mt-1.5 text-xs text-gray-400 dark:text-gray-500",children:[u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx(J0,{className:"h-3 w-3"}),Or(T.downloads)]}),u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx(En,{className:"h-3 w-3"}),Or(T.likes)]}),T.pipeline_tag&&u.jsx("span",{className:"px-1.5 py-0.5 rounded bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a]",children:T.pipeline_tag})]})]}),u.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[u.jsx("a",{href:`https://huggingface.co/${T.id}`,target:"_blank",rel:"noopener noreferrer",onMouseDown:je=>je.stopPropagation(),className:"p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a]",children:u.jsx(It,{className:"h-4 w-4 text-gray-400"})}),u.jsx(D0,{className:Y("h-4 w-4 text-gray-400 transition-transform",_&&"rotate-180")})]})]})}),_&&u.jsx("div",{className:"px-3 pb-3 pt-1 border-t border-gray-100 dark:border-dark-200 ophelia:border-[#1a1a1a] bg-gray-50 dark:bg-dark-200 ophelia:bg-[#0d0d0d]",children:Fe?u.jsxs("div",{className:"flex items-center justify-center py-4",children:[u.jsx(Ft,{className:"h-4 w-4 animate-spin text-gray-400"}),u.jsx("span",{className:"ml-2 text-xs text-gray-500",children:p("modelManager.huggingface.checkingGguf")})]}):ge.length===0?u.jsx("div",{className:"py-4 text-center text-xs text-gray-500 dark:text-gray-400",children:p("modelManager.huggingface.noGgufAvailable")}):u.jsxs("div",{className:"space-y-2",children:[u.jsx("div",{className:"text-xs font-medium text-gray-600 dark:text-gray-300 ophelia:text-[#a3a3a3] mb-2",children:p("modelManager.huggingface.ggufFilesCount",{count:ge.length})}),ge.map(je=>{const ln=Ne===je.ollamaCommand;return u.jsxs("div",{className:"flex items-center gap-2 p-2 rounded-lg bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a] border border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a]",children:[u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsx("div",{className:"text-xs font-medium text-gray-800 dark:text-gray-200 ophelia:text-[#e5e5e5] truncate",children:je.filename}),u.jsxs("div",{className:"flex items-center gap-2 mt-0.5 text-xs text-gray-500 dark:text-gray-400",children:[u.jsx("span",{children:je.sizeFormatted}),je.quantization&&u.jsx("span",{className:"px-1.5 py-0.5 rounded bg-purple-100 dark:bg-purple-900/30 ophelia:bg-[#9333ea]/20 text-purple-700 dark:text-purple-400 ophelia:text-[#a855f7]",children:je.quantization})]})]}),ln?u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("div",{className:"text-xs text-gray-500 w-12 text-right",children:se?.percent!==void 0?`${se.percent}%`:"..."}),u.jsx("button",{onMouseDown:P0=>{P0.preventDefault(),P0.stopPropagation(),Pr()},className:"p-1.5 rounded-lg text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20",children:u.jsx(g0,{className:"h-4 w-4"})})]}):u.jsxs("button",{onMouseDown:P0=>{P0.preventDefault(),P0.stopPropagation(),_s(je.ollamaCommand,je.filename)},disabled:!!Ne,className:Y("px-3 py-1.5 rounded-lg text-xs font-medium","bg-primary-100 dark:bg-primary-900/30 ophelia:bg-[#9333ea]/20","text-primary-700 dark:text-primary-400 ophelia:text-[#a855f7]","hover:bg-primary-200 dark:hover:bg-primary-900/50","disabled:opacity-50 disabled:cursor-not-allowed"),children:[u.jsx(J0,{className:"h-3 w-3 inline mr-1"}),p("models.pull")]})]},je.filename)}),Ne?.startsWith("hf.co/")&&Ne.includes(T.id)&&se?.percent!==void 0&&u.jsx("div",{className:"w-full bg-gray-200 dark:bg-dark-300 rounded-full h-1.5 overflow-hidden mt-2",children:u.jsx("div",{className:"h-1.5 rounded-full bg-primary-500 transition-all duration-300",style:{width:`${se.percent}%`}})})]})})]},T.id)})})}),u.jsxs("div",{className:"px-3 py-2 border-t border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] flex items-center justify-between flex-shrink-0",children:[u.jsxs("a",{href:"https://huggingface.co/models",target:"_blank",rel:"noopener noreferrer",onMouseDown:T=>T.stopPropagation(),className:"text-xs text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] hover:underline flex items-center gap-1",children:[u.jsx(It,{className:"h-3 w-3"}),p("modelManager.huggingface.browseAllLink")]}),u.jsx("button",{onMouseDown:T=>{T.preventDefault(),T.stopPropagation(),h0()},className:"p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a]",children:u.jsx(er,{className:Y("h-3.5 w-3.5 text-gray-400",V&&"animate-spin")})})]})]});return u.jsxs("div",{className:Y("relative",s),ref:C,children:[u.jsxs("button",{type:"button",onClick:()=>!n&&x(!f),disabled:n,className:Y(l?"h-[44px] sm:h-[52px] px-3 flex items-center justify-between text-left w-full ":"w-full flex items-center justify-between gap-2 px-3 py-2 text-left ","bg-gray-50 dark:bg-dark-200 ophelia:bg-[#121212] border border-gray-200 dark:border-dark-300 ophelia:border-[#262626]","rounded-lg text-sm hover:bg-gray-100 dark:hover:bg-dark-100 ophelia:hover:bg-[#1a1a1a]","focus:outline-none focus:ring-2 focus:ring-primary-500/20 ophelia:focus:ring-[#9333ea]/20 focus:border-primary-500 ophelia:focus:border-[#9333ea]",n?"opacity-50 cursor-not-allowed":"cursor-pointer"),title:l?Re?R0(Re):"Select Model":void 0,children:[rn(),u.jsx(D0,{className:Y(l?"h-3 w-3":"h-4 w-4","text-gray-400 flex-shrink-0",f&&"rotate-180")})]}),f&&hr.createPortal(u.jsxs("div",{className:"fixed inset-0 z-[999999] flex items-start sm:items-center justify-center p-2 sm:p-4",children:[u.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:()=>x(!1)}),u.jsxs("div",{className:Y("relative bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a] border border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] shadow-2xl","w-full max-w-md sm:w-[480px] sm:max-w-[90vw]","mt-2 sm:mt-0 rounded-xl","h-[85vh] sm:h-[600px] flex flex-col"),onClick:T=>T.stopPropagation(),children:[u.jsxs("div",{className:"flex-shrink-0",children:[u.jsx("div",{className:"p-3 border-b border-gray-200 dark:border-dark-200 ophelia:border-[#1a1a1a]",children:u.jsxs("div",{className:"relative",children:[u.jsx(Bn,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400"}),u.jsx("input",{ref:B,type:"text",placeholder:S==="installed"?"Search installed models...":S==="ollama"?"Search Ollama library...":"Search HuggingFace...",value:y,onChange:T=>b(T.target.value),className:Y("w-full pl-10 pr-4 py-2.5 text-sm bg-gray-50 dark:bg-dark-200 ophelia:bg-[#121212]","border border-gray-200 dark:border-dark-300 ophelia:border-[#262626] rounded-lg","focus:outline-none focus:ring-2 focus:ring-primary-500/20 ophelia:focus:ring-[#9333ea]/20","text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]","placeholder-gray-500 ophelia:placeholder-[#737373]")})]})}),u.jsxs("div",{className:"flex border-b border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a]",children:[u.jsxs("button",{onMouseDown:T=>{T.preventDefault(),T.stopPropagation(),k("installed")},className:Y("flex-1 px-4 py-2.5 text-sm font-medium transition-colors",S==="installed"?"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] border-b-2 border-primary-500 ophelia:border-[#9333ea]":"text-gray-500 dark:text-gray-400 ophelia:text-[#737373] hover:text-gray-700 dark:hover:text-gray-300"),children:[u.jsx(Fn,{className:"h-4 w-4 inline mr-1.5"}),"Installed"]}),u.jsxs("button",{onMouseDown:T=>{T.preventDefault(),T.stopPropagation(),k("ollama")},className:Y("flex-1 px-4 py-2.5 text-sm font-medium transition-colors",S==="ollama"?"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] border-b-2 border-primary-500 ophelia:border-[#9333ea]":"text-gray-500 dark:text-gray-400 ophelia:text-[#737373] hover:text-gray-700 dark:hover:text-gray-300"),children:[u.jsx(Bt,{className:"h-4 w-4 inline mr-1.5"}),"Ollama"]}),u.jsxs("button",{onMouseDown:T=>{T.preventDefault(),T.stopPropagation(),k("huggingface")},className:Y("flex-1 px-4 py-2.5 text-sm font-medium transition-colors",S==="huggingface"?"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] border-b-2 border-primary-500 ophelia:border-[#9333ea]":"text-gray-500 dark:text-gray-400 ophelia:text-[#737373] hover:text-gray-700 dark:hover:text-gray-300"),children:[u.jsx(A0,{className:"h-4 w-4 inline mr-1.5"}),"HuggingFace"]})]})]}),S==="installed"&&an(),S==="ollama"&&sn(),S==="huggingface"&&nn()]})]}),document.body),u.jsx("select",{value:e,onChange:t,className:"sr-only",tabIndex:-1,children:r.map(T=>u.jsx("option",{value:T.name,children:R0(T)},T.name))})]})},Ho=({onSendMessage:r,onStopGeneration:e,disabled:t=!1})=>{const{t:a}=o0(),[s,n]=A.useState(""),[l,c]=A.useState([]),[d,p]=A.useState(null),[f,x]=A.useState(!1),[y,b]=A.useState(null),[S,k]=A.useState(!1),{isGenerating:C,setBackgroundImage:B}=C0(),{currentSession:z,models:U}=ze(),R=A.useRef(null);A.useEffect(()=>{(async()=>{try{const L=await Oa.getPlugins();k(!!(L.success&&L.data&&L.data.length>0))}catch{k(!1)}})()},[]);const O=j=>{j.preventDefault(),!(!s.trim()||C)&&(r(s.trim(),l.length>0?l:void 0,d||void 0),n(""),c([]))},X=j=>{j.key==="Enter"&&!j.shiftKey&&(j.preventDefault(),O(j))},F=()=>{e()};A.useEffect(()=>{const j=R.current;j&&(j.style.height="auto",j.style.height=Math.min(j.scrollHeight,200)+"px")},[s]),A.useEffect(()=>{(async()=>{if(z?.personaId)try{const L=await $r.getPersona(z.personaId);if(L.success&&L.data)b(L.data);else{console.warn(`Persona ${z.personaId} not found, clearing reference`),b(null);const{setCurrentSession:H}=ze.getState();H({...z,personaId:void 0})}}catch(L){if(console.error("Failed to load current persona:",L),b(null),z){const{setCurrentSession:H}=ze.getState();H({...z,personaId:void 0})}}else b(null)})()},[z?.personaId]);const q=async j=>{const L=j.target.value;if(z)try{if(L.startsWith("persona:")){const H=L.replace("persona:",""),V=await $r.getPersona(H);if(!V.success||!V.data){Q0.error("Failed to load persona details");return}const Q=V.data,W=await ht.updateSession(z.id,{personaId:H,model:L});if(W.success&&W.data){const{sessions:te}=ze.getState(),le=te.map(be=>be.id===z.id?W.data:be);ze.setState({sessions:le,currentSession:W.data}),Q.background&&B(Q.background),Q0.success(a("chat.persona.applied"))}}else{const H=await ht.updateSession(z.id,{model:L,personaId:void 0});if(H.success&&H.data){const{sessions:V}=ze.getState(),Q=V.map(W=>W.id===z.id?H.data:W);ze.setState({sessions:Q,currentSession:H.data}),B(null),Q0.success(a("chat.model.updated"))}}}catch(H){console.error("Failed to update session:",H),Q0.error("Failed to update session")}},N=l.length>0||d!==null;return u.jsx("div",{className:"pointer-events-none",children:u.jsxs("div",{className:"max-w-5xl mx-auto px-3 sm:px-4 md:px-6 w-full pointer-events-auto",children:[f&&u.jsxs("div",{className:"mb-2 p-3 rounded-2xl bg-white/95 dark:bg-dark-100/95 ophelia:bg-[#0a0a0a]/95 backdrop-blur-md border border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/50 shadow-lg",children:[u.jsx(Ro,{images:l,onImagesChange:c,maxImages:5,sessionId:z?.id,disabled:t}),u.jsx(Lo,{format:d,onFormatChange:p})]}),u.jsxs("div",{className:"py-2 sm:py-3",children:[u.jsx("form",{onSubmit:O,children:u.jsxs("div",{className:Y("flex items-center gap-2 p-2 sm:p-3 rounded-2xl sm:rounded-3xl border transition-all duration-300 ease-out shadow-lg","bg-white/95 dark:bg-dark-100/95 ophelia:bg-[#0a0a0a]/95 backdrop-blur-md","border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/60","hover:border-gray-300/70 dark:hover:border-dark-400/70 ophelia:hover:border-[#3f3f46]/80","focus-within:border-primary-400/70 dark:focus-within:border-primary-500/70 ophelia:focus-within:border-[#9333ea]/70","focus-within:shadow-xl"),children:[u.jsx(r0,{type:"button",variant:"ghost",size:"sm",onClick:()=>x(!f),className:Y("h-8 w-8 sm:h-9 sm:w-9 !p-0 rounded-full flex-shrink-0","hover:bg-gray-100 dark:hover:bg-dark-200/80 ophelia:hover:bg-[#1a1a1a]","transition-all duration-200 touch-manipulation","hover:scale-105 active:scale-95",N&&"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7]",f&&"bg-gray-100 dark:bg-dark-200/80 ophelia:bg-[#1a1a1a]"),title:a("chat.input.attachments"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"0"},children:N?u.jsxs("div",{className:"relative flex items-center justify-center",children:[u.jsx(Ya,{className:"h-4 w-4"}),u.jsx("div",{className:"absolute -top-0.5 -right-0.5 h-2 w-2 bg-primary-500 dark:bg-primary-400 ophelia:bg-[#a855f7] rounded-full ring-2 ring-white dark:ring-dark-50 ophelia:ring-[#0a0a0a]"})]}):f?u.jsx(Ka,{className:"h-4 w-4"}):u.jsx(mr,{className:"h-4 w-4"})}),u.jsx("div",{className:"flex-1 min-w-0",children:u.jsx(Er,{ref:R,value:s,onChange:j=>n(j.target.value),onKeyDown:X,placeholder:a("chat.input.placeholder"),disabled:t,className:"!border-0 !bg-transparent !shadow-none !p-0 !m-0 !rounded-none !focus:ring-0 !focus:border-0 !focus:shadow-none !focus:bg-transparent min-h-[32px] sm:min-h-[36px] max-h-[120px] resize-none scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-dark-400 focus:outline-none placeholder:text-gray-500 dark:placeholder:text-dark-500 text-base sm:text-sm leading-none touch-manipulation",rows:1,style:{boxShadow:"none !important",border:"none !important",outline:"none !important",padding:"0 !important",margin:"0 !important",lineHeight:"1.2 !important",verticalAlign:"middle"}})}),u.jsxs("div",{className:"flex items-center gap-1 sm:gap-2 flex-shrink-0",children:[z&&U.length>0&&u.jsx("div",{className:"hidden sm:block",children:u.jsx(bt,{models:U,selectedModel:z.personaId?`persona:${z.personaId}`:z.model,onModelChange:q,currentPersona:y,className:"min-w-[160px] max-w-[240px] border-0 bg-gray-100/80 dark:bg-dark-100/80 ophelia:bg-[#1a1a1a]/80 rounded-xl text-sm hover:bg-gray-200/80 dark:hover:bg-dark-200/60 ophelia:hover:bg-[#262626]/80 transition-colors duration-200",compact:!0,showImageGen:S})}),C?u.jsx(r0,{type:"button",variant:"ghost",size:"sm",onClick:F,className:Y("h-8 w-8 sm:h-9 sm:w-9 p-0 rounded-full flex-shrink-0 flex items-center justify-center","bg-red-50 dark:bg-red-900/20 ophelia:bg-red-900/30","text-red-500 dark:text-red-400 ophelia:text-red-400","hover:bg-red-100 dark:hover:bg-red-900/30 ophelia:hover:bg-red-900/40","transition-all duration-200 touch-manipulation","hover:scale-105 active:scale-95"),title:a("chat.input.stopGeneration"),children:u.jsx($a,{className:"h-4 w-4"})}):u.jsx(r0,{type:"submit",variant:"ghost",size:"sm",disabled:!s.trim()||t,className:Y("h-8 w-8 sm:h-9 sm:w-9 p-0 rounded-full flex-shrink-0 flex items-center justify-center","text-gray-400 dark:text-dark-500 ophelia:text-[#525252]","disabled:opacity-40 disabled:hover:bg-transparent disabled:cursor-not-allowed","transition-all duration-200 touch-manipulation",s.trim()&&!t&&["bg-primary-500 dark:bg-primary-600 ophelia:bg-[#9333ea]","text-white dark:text-white ophelia:text-white","hover:bg-primary-600 dark:hover:bg-primary-500 ophelia:hover:bg-[#a855f7]","shadow-md hover:shadow-lg","hover:scale-105 active:scale-95"]),title:a("chat.input.sendMessage"),children:u.jsx(Za,{className:"h-4 w-4"})})]})]})}),z&&U.length>0&&u.jsx("div",{className:"sm:hidden mt-3",children:u.jsx(bt,{models:U,selectedModel:z.personaId?`persona:${z.personaId}`:z.model,onModelChange:q,currentPersona:y,className:"w-full rounded-xl bg-gray-100/80 dark:bg-dark-100/80 ophelia:bg-[#1a1a1a]/80 border-0 transition-colors duration-200",compact:!0,showImageGen:S})}),u.jsxs("div",{className:"mt-2 flex items-center justify-center gap-2 text-xs text-gray-500 dark:text-dark-600",children:[u.jsx(Po,{sessionId:z?.id}),u.jsxs("div",{className:"text-center",children:[u.jsxs("a",{href:"https://librewebui.org",target:"_blank",rel:"noopener noreferrer",className:"libre-brand underline hover:text-primary-600 dark:hover:text-primary-400 transition-colors",style:{fontSize:"1.1em",lineHeight:1},children:["Libre ",u.jsx("span",{style:{fontSize:"0.85em"},children:"WebUI"})]})," ",u.jsxs("span",{className:"text-xs text-gray-400 dark:text-gray-500",style:{fontSize:"0.55rem"},children:["v","0.7.0"]})," ",u.jsx("span",{className:"text-gray-300 dark:text-gray-600 opacity-50",children:"•"})," ",u.jsx("span",{className:"text-gray-400 dark:text-gray-500",style:{fontSize:"0.55rem"},children:a("chat.footer.disclaimer")}),N&&u.jsxs("span",{className:"ml-2 text-primary-600 dark:text-primary-400",children:["•"," ",l.length>0&&a("chat.footer.images",{count:l.length}),l.length>0&&d&&" • ",d&&a("chat.footer.structuredOutput")]})]})]})]})]})})},$o=({persona:r,onClear:e,className:t})=>{const[a,s]=A.useState(!1),n=A.useRef(null),[l,c]=A.useState({top:0,left:0});A.useEffect(()=>{if(a&&n.current){const f=n.current.getBoundingClientRect();c({top:f.bottom+8,left:f.left})}},[a]);const d=!!(r.memory_settings?.enabled||r.mutation_settings?.enabled),p=()=>r.avatar?r.avatar:`https://ui-avatars.com/api/?name=${encodeURIComponent(r.name)}&background=6366f1&color=fff&size=64`;return u.jsxs("div",{className:Y("relative",t),children:[u.jsxs("button",{ref:n,onClick:()=>s(!a),className:Y("flex items-center gap-2 px-3 py-1.5 rounded-full transition-all duration-200","bg-primary-50 dark:bg-primary-900/30 ophelia:bg-[#9333ea]/15","border border-primary-200 dark:border-primary-700/50 ophelia:border-[#7c3aed]/30","hover:bg-primary-100 dark:hover:bg-primary-900/40 ophelia:hover:bg-[#9333ea]/20","text-primary-700 dark:text-primary-300 ophelia:text-[#c084fc]"),children:[u.jsx("img",{src:p(),alt:r.name,className:"w-5 h-5 rounded-full object-cover"}),u.jsx("span",{className:"text-sm font-medium max-w-[120px] truncate",children:r.name}),d&&u.jsx(Wa,{className:"h-3 w-3 text-purple-500 dark:text-purple-400"}),u.jsx(D0,{className:Y("h-3.5 w-3.5 transition-transform duration-200",a&&"rotate-180")})]}),a&&hr.createPortal(u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"fixed inset-0 z-[9998]",onClick:()=>s(!1)}),u.jsx("div",{className:"fixed w-72 z-[9999]",style:{top:l.top,left:l.left},children:u.jsxs("div",{className:Y("rounded-xl overflow-hidden shadow-xl","bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]","border border-gray-200 dark:border-dark-300 ophelia:border-[#262626]"),children:[u.jsxs("div",{className:"relative h-16",children:[r.background?u.jsx("div",{className:"absolute inset-0 bg-cover bg-center",style:{backgroundImage:`url(${r.background})`}}):u.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-primary-400 via-primary-500 to-purple-600 dark:from-primary-600 dark:via-primary-700 dark:to-purple-800 ophelia:from-[#9333ea] ophelia:via-[#7c3aed] ophelia:to-[#6d28d9]"}),u.jsx("div",{className:"absolute inset-0 bg-black/10"}),e&&u.jsx("button",{onClick:f=>{f.stopPropagation(),e(),s(!1)},className:"absolute top-2 right-2 p-1 rounded-full bg-white/20 hover:bg-white/30 backdrop-blur-sm transition-colors",title:"Remove persona",children:u.jsx(g0,{className:"h-3.5 w-3.5 text-white"})}),d&&u.jsxs("div",{className:"absolute top-2 left-2 flex items-center gap-1 px-2 py-0.5 rounded-full bg-white/20 backdrop-blur-sm text-white text-[10px] font-medium",children:[u.jsx(mt,{className:"h-3 w-3"}),"Enhanced"]})]}),u.jsx("div",{className:"relative px-4 -mt-6",children:u.jsx("img",{src:p(),alt:r.name,className:"w-12 h-12 rounded-lg object-cover ring-3 ring-white dark:ring-dark-100 ophelia:ring-[#0a0a0a] shadow-md"})}),u.jsxs("div",{className:"px-4 pt-2 pb-4",children:[u.jsx("h4",{className:"text-base font-semibold text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]",children:r.name}),u.jsxs("p",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] flex items-center gap-1 mt-0.5",children:[u.jsx(qn,{className:"h-3 w-3"}),r.model]}),r.description&&u.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3] mt-2 line-clamp-2",children:r.description}),r.parameters.system_prompt&&u.jsxs("div",{className:"mt-3 p-2 rounded-lg bg-gray-50 dark:bg-dark-50 ophelia:bg-[#121212] border border-gray-100 dark:border-dark-200 ophelia:border-[#1a1a1a]",children:[u.jsxs("div",{className:"flex items-center gap-1 mb-1",children:[u.jsx(Rn,{className:"h-2.5 w-2.5 text-gray-400"}),u.jsx("span",{className:"text-[9px] uppercase tracking-wider font-medium text-gray-400",children:"System"})]}),u.jsxs("p",{className:"text-[11px] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3] line-clamp-2 italic",children:["“",r.parameters.system_prompt,"”"]})]}),u.jsxs("div",{className:"flex flex-wrap gap-1 mt-3",children:[u.jsxs("span",{className:"inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded text-[10px] font-medium bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:[u.jsx(A0,{className:"h-2.5 w-2.5"}),r.parameters.temperature?.toFixed(1)||"0.7"]}),u.jsxs("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:["Top-P ",r.parameters.top_p?.toFixed(1)||"0.9"]}),r.memory_settings?.enabled&&u.jsxs("span",{className:"inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded text-[10px] font-medium bg-purple-100 dark:bg-purple-900/30 ophelia:bg-[#9333ea]/20 text-purple-700 dark:text-purple-300 ophelia:text-[#c084fc]",children:[u.jsx(mt,{className:"h-2.5 w-2.5"}),"Memory"]})]})]})]})})]}),document.body)]})},Go=({images:r,onImagesChange:e,maxImages:t=5,className:a})=>{const s=A.useRef(null),[n,l]=A.useState(!1),c=b=>{if(!b)return;const S=[],k=t-r.length;for(let C=0;C<Math.min(b.length,k);C++){const B=b[C];if(!B.type.startsWith("image/")){ue.error(`File ${B.name} is not an image`);continue}if(B.size>10*1024*1024){ue.error(`Image ${B.name} is too large (max 10MB)`);continue}const z=new FileReader;z.onload=U=>{U.target?.result&&(S.push(U.target.result),S.length===Math.min(b.length,k)&&e([...r,...S]))},z.readAsDataURL(B)}b.length>k&&ue.error(`Only ${k} more images can be added`)},d=b=>{b.preventDefault(),l(!0)},p=b=>{b.preventDefault(),l(!1)},f=b=>{b.preventDefault(),l(!1),c(b.dataTransfer.files)},x=b=>{const S=r.filter((k,C)=>C!==b);e(S)},y=r.length<t;return u.jsxs("div",{className:Y("space-y-3",a),children:[y&&u.jsxs("div",{className:Y("border-2 border-dashed border-gray-300 dark:border-gray-600 rounded-lg p-4 transition-colors","hover:border-primary-400 dark:hover:border-primary-500",n&&"border-primary-500 bg-primary-50 dark:bg-primary-900/20"),onDragOver:d,onDragLeave:p,onDrop:f,children:[u.jsx("input",{ref:s,type:"file",multiple:!0,accept:"image/*",onChange:b=>c(b.target.files),className:"hidden"}),u.jsxs("div",{className:"flex flex-col items-center text-center",children:[u.jsx(Ua,{className:"h-8 w-8 text-gray-400 dark:text-gray-500 mb-2"}),u.jsxs("p",{className:"text-sm text-gray-700 dark:text-gray-300 mb-2",children:["Drop images here or"," ",u.jsx("button",{onClick:()=>s.current?.click(),className:"text-primary-600 dark:text-primary-400 hover:underline font-medium",children:"browse"})]}),u.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"Supports: JPG, PNG, GIF, WebP (max 10MB each)"})]})]}),r.length>0&&u.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3",children:r.map((b,S)=>u.jsxs("div",{className:"relative group aspect-square rounded-lg overflow-hidden bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700",children:[u.jsx("img",{src:b,alt:`Upload ${S+1}`,className:"w-full h-full object-cover"}),u.jsx("div",{className:"absolute inset-0 bg-black bg-opacity-0 group-hover:bg-opacity-50 transition-all duration-200 flex items-center justify-center",children:u.jsx(r0,{variant:"ghost",size:"sm",onClick:()=>x(S),className:"opacity-0 group-hover:opacity-100 transition-opacity bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 hover:bg-red-100 dark:hover:bg-red-900/20 hover:text-red-600 dark:hover:text-red-400 p-1 rounded-full",children:u.jsx(g0,{className:"h-4 w-4"})})})]},S))}),y&&r.length>0&&u.jsxs(r0,{variant:"outline",size:"sm",onClick:()=>s.current?.click(),className:"w-full sm:w-auto",children:[u.jsx(Xa,{className:"h-4 w-4 mr-2"}),"Add More Images (",r.length,"/",t,")"]})]})},Uo=r=>{const[e,t]=A.useState(""),[a,s]=A.useState(null),[n,l]=A.useState(!1),{addMessage:c,updateMessage:d,updateMessageWithStatistics:p,updateSessionTitle:f,setGeneratingTitleForSession:x}=ze(),{setIsGenerating:y,preferences:b}=C0(),S=A.useRef(null),k=A.useRef(null),C=A.useRef(""),B=A.useRef(0),z=A.useRef();A.useEffect(()=>()=>{Me.offMessage("user_message"),Me.offMessage("assistant_chunk"),Me.offMessage("assistant_complete"),Me.offMessage("error")},[r]),A.useEffect(()=>{if(!r){Me.offMessage("user_message"),Me.offMessage("assistant_chunk"),Me.offMessage("assistant_complete"),Me.offMessage("error");return}return Me.onMessage("user_message",()=>{}),Me.onMessage("assistant_chunk",q=>{const N=q,j=N.messageId||S.current;j&&(C.current=N.total,t(N.total),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{d(r,j,C.current),B.current=Date.now()},N.done?0:200))}),Me.onMessage("assistant_complete",q=>{const N=q;console.log("Hook: Received assistant_complete for session:",r,"messageId:",N.messageId,"with statistics:",!!N.statistics),l(!1),t(""),y(!1);const j=N.messageId||S.current;if(N&&j){const W=C.current||N.content;p(r,j,W,N.statistics)}const H=C0.getState().preferences.titleSettings,V=ze.getState().currentSession,Q=k.current;console.log("Auto-title check:",{firstMessage:Q,autoTitle:H?.autoTitle,taskModel:H?.taskModel,sessionTitle:V?.title}),Q&&H?.autoTitle&&H?.taskModel&&V?.title==="New Chat"&&(console.log("Triggering auto-title generation..."),x(r),ht.generateTitle(r,H.taskModel,Q).then(W=>{console.log("Title generation response:",W),W.success&&W.data?.title&&f(r,W.data.title)}).catch(W=>{console.error("Failed to generate title:",W)}).finally(()=>{x(null)}),k.current=null),S.current=null,C.current="",z.current&&clearTimeout(z.current),B.current=0}),Me.onMessage("error",q=>{const N=q;if(l(!1),t(""),y(!1),S.current=null,N.code==="SESSION_NOT_FOUND"){console.warn("Session not found, redirecting to create new session..."),ue.error("Session not found. Creating a new session..."),window.location.href="/";return}ue.error(N.error)}),l(!1),t(""),S.current=null,()=>{z.current&&clearTimeout(z.current)}},[r,d,p,y,f,x]);const U=A.useCallback(async(F,q,N)=>{if(!(!r||!F.trim()&&(!q||q.length===0)))try{y(!0),l(!0),t(""),z.current&&clearTimeout(z.current),B.current=Date.now();const j=ze.getState().currentSession,L=j?.isPrivate===!0,H=j?.messages?.some(W=>W.role==="user");!L&&!H&&j?.title==="New Chat"&&(k.current=F.trim()),c(r,{role:"user",content:F.trim(),images:q});const V=Gr();S.current=V,s(V),c(r,{role:"assistant",content:"",id:V}),Me.isConnected||await Me.connect();const Q=L?j?.messages?.filter(W=>W.role!=="system"&&W.id!==V).map(W=>({role:W.role,content:W.content,images:W.images})):void 0;Me.send({type:"chat_stream",data:{sessionId:r,content:F.trim(),images:q,format:N,options:b.generationOptions,assistantMessageId:V,isPrivate:L,model:L?j?.model:void 0,messageHistory:Q}})}catch(j){console.error("Failed to send message:",j),l(!1),t(""),s(null),y(!1),S.current=null,ue.error("Failed to send message")}},[r,c,y,b.generationOptions]),R=A.useCallback(()=>{l(!1),t(""),s(null),y(!1),S.current=null},[y]),O=A.useCallback(async()=>{const F=ze.getState().currentSession;if(!F||!r)return;const q=F.messages;let N=-1,j=-1;for(let V=q.length-1;V>=0;V--)if(q[V].role==="assistant"){j=V;break}if(j>0){for(let V=j-1;V>=0;V--)if(q[V].role==="user"){N=V;break}}if(N===-1||j===-1){ue.error("No message to regenerate");return}const L=q[N],H=q[j];try{y(!0),l(!0),t(""),z.current&&clearTimeout(z.current),B.current=Date.now();const V=Gr();S.current=V,s(V),c(r,{role:"assistant",content:"",id:V,parentId:H.parentId||H.id,branchIndex:H.siblingCount||1,isActive:!0}),Me.isConnected||await Me.connect(),Me.send({type:"chat_stream",data:{sessionId:r,content:L.content,images:L.images,options:b.generationOptions,assistantMessageId:V,regenerate:!0,originalMessageId:H.id}})}catch(V){console.error("Failed to regenerate message:",V),l(!1),t(""),y(!1),S.current=null,ue.error("Failed to regenerate message")}},[r,y,c,b.generationOptions]),X=A.useCallback(async F=>{const N=ze.getState().currentSession;if(!N||!r)return;const j=N.messages.find(V=>V.id===F);if(!j){ue.error("Message not found");return}if(j.isActive!==!1)return;const L=j.parentId||j.id,H=j.branchIndex||0;try{const V=await ht.switchMessageBranch(r,F,H);if(V.success&&V.data){const Q=N.messages.map(te=>te.id===L||te.parentId===L?{...te,isActive:te.id===F}:te),W={...N,messages:Q,updatedAt:Date.now()};ze.setState(te=>({sessions:te.sessions.map(le=>le.id===r?W:le),currentSession:W})),ue.success(`Switched to variant ${H+1}`)}else ue.error(V.error||"Failed to select branch")}catch(V){console.error("Failed to select branch:",V),ue.error("Failed to select branch")}},[r]);return{sendMessage:U,stopGeneration:R,regenerateLastMessage:O,selectBranch:X,isStreaming:n,streamingMessage:e,streamingMessageId:a}},Vo=(r,e)=>{const t=new Date().getHours(),a=r?`, ${r}`:"";return t>=5&&t<12?{greeting:`${e?e("chat.greeting.morning"):"Good morning"}${a}`,timeSuffix:"today"}:t>=12&&t<17?{greeting:`${e?e("chat.greeting.afternoon"):"Good afternoon"}${a}`,timeSuffix:"today"}:t>=17&&t<21?{greeting:`${e?e("chat.greeting.evening"):"Good evening"}${a}`,timeSuffix:"tonight"}:{greeting:`${e?e("chat.greeting.night"):"Good night"}${a}`,timeSuffix:"tonight"}},Qo=()=>{const{t:r}=o0(),{sessionId:e}=pn(),t=Ra(),a=fn(),{currentSession:s,sessions:n,models:l,selectedModel:c,setSelectedModel:d,createSession:p,setCurrentSession:f,loadSessions:x,getCurrentPersona:y}=ze(),{user:b}=Pa(),{sendMessage:S,stopGeneration:k,regenerateLastMessage:C,selectBranch:B,isStreaming:z,streamingMessage:U,streamingMessageId:R}=Uo(s?.id||""),O=y(),{greeting:X,timeSuffix:F}=A.useMemo(()=>Vo(b?.username,r),[b?.username,r]),[q,N]=A.useState(""),[j,L]=A.useState([]),[H,V]=A.useState(!1),Q=A.useRef(null),[W,te]=A.useState(!1);A.useEffect(()=>{n.length===0&&x()},[x,n.length]),A.useEffect(()=>{(async()=>{try{const ee=await Oa.getPlugins();te(!!(ee.success&&ee.data&&ee.data.length>0))}catch{te(!1)}})()},[]),A.useEffect(()=>{(()=>{if(sessionStorage.getItem("forceWelcomeScreen")){sessionStorage.removeItem("forceWelcomeScreen");return}if(!s?.isPrivate&&n.length!==0)if(e){const he=n.find(He=>He.id===e);he&&he.id!==s?.id?f(he):he||(console.warn(`Session ${e} not found for current user, redirecting...`),n.length>0?t(`/c/${n[0].id}`,{replace:!0}):t("/",{replace:!0}))}else!e&&n.length>0&&a.pathname==="/"&&t(`/c/${n[0].id}`,{replace:!0})})()},[e,n,f,t,s?.id,s?.isPrivate,a.pathname]),A.useEffect(()=>{if(s?.id){const re=sessionStorage.getItem("pendingMessage");if(re){sessionStorage.removeItem("pendingMessage");try{const ee=JSON.parse(re);setTimeout(()=>{S(ee.content,ee.images)},100)}catch(ee){console.error("Failed to parse pending message:",ee)}}}},[s?.id,S]),A.useEffect(()=>{const re=Q.current;re&&(re.style.height="auto",re.style.height=Math.min(re.scrollHeight,200)+"px")},[q]);const le=async re=>{if(re.preventDefault(),!q.trim()||!c)return;const ee={content:q.trim(),images:j.length>0?j:void 0};sessionStorage.setItem("pendingMessage",JSON.stringify(ee)),N(""),L([]);const he=await p(c);he&&t(`/c/${he.id}`,{replace:!0})},be=re=>{re.key==="Enter"&&!re.shiftKey&&(re.preventDefault(),le(re))},ke=async re=>{const ee=re.target.value;d(ee)},Ae=(re,ee,he)=>{s&&S(re,ee,he)};if(!s){const re=j.length>0;return u.jsxs("div",{className:"h-full flex-1 flex flex-col items-center justify-center p-4 sm:p-8 relative",children:[u.jsxs("button",{onClick:()=>{if(!c&&l.length===0)return;const ee=Date.now(),he={id:`private-${ee}`,title:r("chat.session.private"),model:c||l[0]?.name||"",messages:[],createdAt:ee,updatedAt:ee,isPrivate:!0};f(he)},disabled:!c&&l.length===0,className:"absolute top-4 right-4 flex items-center gap-2 px-3 py-1.5 rounded-full border border-gray-300 dark:border-dark-400 ophelia:border-[#3f3f46] bg-transparent hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a] text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed",title:r("chat.session.privateTooltip"),children:[u.jsx(Vr,{className:"h-4 w-4"}),u.jsx("span",{className:"text-sm",children:r("chat.session.private")})]}),u.jsxs("div",{className:"w-full max-w-2xl mx-auto flex flex-col items-center justify-center",children:[u.jsx("h1",{className:"text-2xl sm:text-3xl font-medium text-gray-800 dark:text-gray-100 ophelia:text-[#fafafa] mb-2 text-center",style:{fontWeight:400},children:X}),u.jsx("p",{className:"text-base sm:text-lg text-gray-500 dark:text-gray-400 ophelia:text-[#737373] mb-8 text-center",children:r(F==="today"?"chat.welcome.helpToday":"chat.welcome.helpTonight")}),l.length>0?u.jsxs("div",{className:"w-full",children:[H&&u.jsx("div",{className:"mb-4 p-4 bg-gray-50 dark:bg-dark-100 ophelia:bg-[#121212] border border-gray-200 dark:border-dark-300 ophelia:border-[#262626] rounded-2xl",children:u.jsx(Go,{images:j,onImagesChange:L,maxImages:5})}),u.jsx("form",{onSubmit:le,children:u.jsxs("div",{className:Y("flex items-center gap-2 p-2 sm:p-3 rounded-2xl sm:rounded-3xl border transition-all duration-200","bg-gray-50 dark:bg-dark-50 ophelia:bg-[#0a0a0a] border-gray-200 dark:border-dark-300 ophelia:border-[#262626]","hover:border-gray-300 dark:hover:border-dark-400 ophelia:hover:border-[#3f3f46]","focus-within:border-primary-400 dark:focus-within:border-primary-500 ophelia:focus-within:border-[#9333ea] focus-within:bg-white dark:focus-within:bg-dark-50 ophelia:focus-within:bg-[#0a0a0a]","shadow-sm hover:shadow-md focus-within:shadow-lg"),children:[u.jsx(r0,{type:"button",variant:"ghost",size:"sm",onClick:()=>V(!H),className:Y("h-8 w-8 sm:h-9 sm:w-9 !p-0 rounded-full flex-shrink-0","hover:bg-gray-200 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a] transition-colors touch-manipulation",re&&"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7]",H&&"bg-gray-200 dark:bg-dark-200 ophelia:bg-[#1a1a1a]"),title:r("chat.input.attachImages"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"0"},children:re?u.jsxs("div",{className:"relative flex items-center justify-center",children:[u.jsx(Ya,{className:"h-4 w-4"}),u.jsx("div",{className:"absolute -top-0.5 -right-0.5 h-1.5 w-1.5 bg-primary-500 ophelia:bg-[#9333ea] rounded-full"})]}):H?u.jsx(Ka,{className:"h-4 w-4"}):u.jsx(mr,{className:"h-4 w-4"})}),u.jsx("div",{className:"flex-1 min-w-0",children:u.jsx(Er,{ref:Q,value:q,onChange:ee=>N(ee.target.value),onKeyDown:be,placeholder:r("chat.input.messagePlaceholder"),className:"!border-0 !bg-transparent !shadow-none !p-0 !m-0 !rounded-none !focus:ring-0 !focus:border-0 !focus:shadow-none !focus:bg-transparent min-h-[32px] sm:min-h-[36px] max-h-[120px] resize-none scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-dark-400 ophelia:scrollbar-thumb-[#3f3f46] focus:outline-none placeholder:text-gray-500 dark:placeholder:text-dark-500 ophelia:placeholder:text-[#737373] text-base sm:text-sm leading-none touch-manipulation",rows:1,style:{boxShadow:"none !important",border:"none !important",outline:"none !important",padding:"0 !important",margin:"0 !important",lineHeight:"1.2 !important",verticalAlign:"middle"}})}),u.jsx("div",{className:"hidden sm:block",children:u.jsx(bt,{models:l,selectedModel:c,onModelChange:ke,className:"min-w-[140px] max-w-[200px] border-0 bg-gray-100 dark:bg-dark-100 ophelia:bg-[#121212] rounded-xl text-sm",compact:!0,showImageGen:W})}),u.jsx(r0,{type:"submit",variant:"ghost",size:"sm",disabled:!q.trim()||!c,className:Y("h-8 w-8 sm:h-9 sm:w-9 p-0 rounded-full flex-shrink-0 flex items-center justify-center","hover:bg-primary-100 dark:hover:bg-primary-900/30 ophelia:hover:bg-[rgba(147,51,234,0.2)] text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7]","disabled:text-gray-400 dark:disabled:text-dark-500 ophelia:disabled:text-[#525252] disabled:hover:bg-transparent","transition-all duration-150 touch-manipulation",q.trim()&&c&&"hover:scale-105 active:scale-95"),title:r("chat.input.sendMessage"),children:u.jsx(Za,{className:"h-4 w-4"})})]})}),u.jsx("div",{className:"sm:hidden mt-4",children:u.jsx(bt,{models:l,selectedModel:c,onModelChange:ke,className:"w-full rounded-xl bg-gray-100 dark:bg-dark-100 ophelia:bg-[#121212] border-0",compact:!0,showImageGen:W})}),u.jsxs("div",{className:"mt-4 text-center",children:[u.jsxs("a",{href:"https://librewebui.org",target:"_blank",rel:"noopener noreferrer",className:"libre-brand underline hover:text-primary-600 dark:hover:text-primary-400 ophelia:hover:text-[#a855f7] transition-colors text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",style:{fontSize:"0.75rem",lineHeight:1},children:["Libre ",u.jsx("span",{style:{fontSize:"0.6rem"},children:"WebUI"})]})," ",u.jsxs("span",{className:"text-gray-400 dark:text-gray-500 ophelia:text-[#525252]",style:{fontSize:"0.55rem"},children:["v","0.7.0"]})," ",u.jsx("span",{className:"text-gray-300 dark:text-gray-600 ophelia:text-[#3f3f46] opacity-50",children:"•"})," ",u.jsx("span",{className:"text-xs text-gray-400 dark:text-gray-500 ophelia:text-[#525252]",children:r("chat.footer.disclaimer")})]})]}):u.jsx("div",{className:"w-full max-w-md",children:u.jsxs("div",{className:"p-6 bg-gray-50 dark:bg-dark-100 ophelia:bg-[#121212] border border-gray-200 dark:border-dark-300 ophelia:border-[#262626] rounded-xl",children:[u.jsx("p",{className:"text-sm text-gray-700 dark:text-dark-700 ophelia:text-[#a3a3a3] mb-4",children:r("chat.model.noModelsDescription")}),u.jsx("code",{className:"block text-xs bg-gray-100 dark:bg-dark-200 ophelia:bg-[#0a0a0a] p-3 rounded-lg font-mono text-gray-800 dark:text-dark-600 ophelia:text-[#737373]",children:r("chat.model.pullCommand")})]})})]})]})}return u.jsxs("div",{className:"flex flex-col h-full relative",style:O?.background?{backgroundImage:`url(${O.background})`,backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat"}:void 0,children:[O?.background&&u.jsx("div",{className:"absolute inset-0 bg-white/80 dark:bg-black/80 backdrop-blur-sm"}),u.jsxs("div",{className:"flex flex-col h-full relative z-10",children:[s?.isPrivate&&u.jsx("div",{className:"flex-shrink-0 px-4 py-2 border-b border-gray-200 dark:border-dark-300 ophelia:border-[#262626] bg-gray-50/80 dark:bg-dark-100/80 ophelia:bg-[#0a0a0a]/80 backdrop-blur-sm",children:u.jsxs("div",{className:"flex items-center justify-center gap-2 text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:[u.jsx(Vr,{className:"h-4 w-4"}),u.jsx("span",{className:"text-sm font-medium",children:r("chat.session.privateMode")}),u.jsxs("span",{className:"text-xs text-gray-500 dark:text-gray-500 ophelia:text-[#737373]",children:["— ",r("chat.session.privateDescription")]})]})}),O&&!s?.isPrivate&&u.jsx("div",{className:"flex-shrink-0 px-4 py-2 border-b border-gray-100 dark:border-dark-200 ophelia:border-[#262626] bg-white/50 dark:bg-dark-100/50 ophelia:bg-[#0a0a0a]/50 backdrop-blur-sm",children:u.jsx($o,{persona:O,onClear:()=>{if(s){const{sessions:re}=ze.getState(),ee={...s,model:O.model,personaId:void 0},he=re.map(He=>He.id===s.id?ee:He);ze.setState({sessions:he,currentSession:ee})}}})}),u.jsx(Eo,{messages:s.messages,streamingMessage:U,streamingMessageId:R,isStreaming:z,onRegenerate:C,onSelectBranch:B,className:"flex-1"}),u.jsx(Ho,{onSendMessage:Ae,onStopGeneration:k,disabled:!s})]})]})};export{Qo as ChatPage,Qo as default};
|