@katechat/ui 1.1.16 → 1.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/index.js CHANGED
@@ -343,7 +343,7 @@ l0,-`+(n+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
343
343
  ?)[ \r ]*`,id="[\u0300-\u036F]",Mk=new RegExp(id+"+$"),Lk="("+NC+"+)|"+(wk+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(id+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(id+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+Dk)+("|"+xk+")"),Cs=class{constructor(t,n){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=t,this.settings=n,this.tokenRegex=new RegExp(Lk,"g"),this.catcodes={"%":14,"~":13}}setCatcode(t,n){this.catcodes[t]=n}lex(){var t=this.input,n=this.tokenRegex.lastIndex;if(n===t.length)return new pn("EOF",new an(this,n,n));var a=this.tokenRegex.exec(t);if(a===null||a.index!==n)throw new re("Unexpected character: '"+t[n]+"'",new pn(t[n],new an(this,n,n+1)));var o=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[o]===14){var s=t.indexOf(`
344
344
  `,this.tokenRegex.lastIndex);return s===-1?(this.tokenRegex.lastIndex=t.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=s+1,this.lex()}return new pn(o,new an(this,n,this.tokenRegex.lastIndex))}},od=class{constructor(t,n){t===void 0&&(t={}),n===void 0&&(n={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=n,this.builtins=t,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new re("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var t=this.undefStack.pop();for(var n in t)t.hasOwnProperty(n)&&(t[n]==null?delete this.current[n]:this.current[n]=t[n])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(t){return this.current.hasOwnProperty(t)||this.builtins.hasOwnProperty(t)}get(t){return this.current.hasOwnProperty(t)?this.current[t]:this.builtins[t]}set(t,n,a){if(a===void 0&&(a=!1),a){for(var o=0;o<this.undefStack.length;o++)delete this.undefStack[o][t];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][t]=n)}else{var s=this.undefStack[this.undefStack.length-1];s&&!s.hasOwnProperty(t)&&(s[t]=this.current[t])}n==null?delete this.current[t]:this.current[t]=n}},kk=EC;T("\\noexpand",function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}});T("\\expandafter",function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}});T("\\@firstoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[0],numArgs:0}});T("\\@secondoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[1],numArgs:0}});T("\\@ifnextchar",function(e){var t=e.consumeArgs(3);e.consumeSpaces();var n=e.future();return t[0].length===1&&t[0][0].text===n.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}});T("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");T("\\TextOrMath",function(e){var t=e.consumeArgs(2);return e.mode==="text"?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var LT={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};T("\\char",function(e){var t=e.popToken(),n,a="";if(t.text==="'")n=8,t=e.popToken();else if(t.text==='"')n=16,t=e.popToken();else if(t.text==="`")if(t=e.popToken(),t.text[0]==="\\")a=t.text.charCodeAt(1);else{if(t.text==="EOF")throw new re("\\char` missing argument");a=t.text.charCodeAt(0)}else n=10;if(n){if(a=LT[t.text],a==null||a>=n)throw new re("Invalid base-"+n+" digit "+t.text);for(var o;(o=LT[e.future().text])!=null&&o<n;)a*=n,a+=o,e.popToken()}return"\\@char{"+a+"}"});var Cd=(e,t,n,a)=>{var o=e.consumeArg().tokens;if(o.length!==1)throw new re("\\newcommand's first argument must be a macro name");var s=o[0].text,l=e.isDefined(s);if(l&&!t)throw new re("\\newcommand{"+s+"} attempting to redefine "+(s+"; use \\renewcommand"));if(!l&&!n)throw new re("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");var d=0;if(o=e.consumeArg().tokens,o.length===1&&o[0].text==="["){for(var u="",p=e.expandNextToken();p.text!=="]"&&p.text!=="EOF";)u+=p.text,p=e.expandNextToken();if(!u.match(/^\s*[0-9]+\s*$/))throw new re("Invalid number of arguments: "+u);d=parseInt(u),o=e.consumeArg().tokens}return l&&a||e.macros.set(s,{tokens:o,numArgs:d}),""};T("\\newcommand",e=>Cd(e,!1,!0,!1));T("\\renewcommand",e=>Cd(e,!0,!1,!1));T("\\providecommand",e=>Cd(e,!0,!0,!0));T("\\message",e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(n=>n.text).join("")),""});T("\\errmessage",e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(n=>n.text).join("")),""});T("\\show",e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),xr[n],ut.math[n],ut.text[n]),""});T("\\bgroup","{");T("\\egroup","}");T("~","\\nobreakspace");T("\\lq","`");T("\\rq","'");T("\\aa","\\r a");T("\\AA","\\r A");T("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");T("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");T("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");T("\u212C","\\mathscr{B}");T("\u2130","\\mathscr{E}");T("\u2131","\\mathscr{F}");T("\u210B","\\mathscr{H}");T("\u2110","\\mathscr{I}");T("\u2112","\\mathscr{L}");T("\u2133","\\mathscr{M}");T("\u211B","\\mathscr{R}");T("\u212D","\\mathfrak{C}");T("\u210C","\\mathfrak{H}");T("\u2128","\\mathfrak{Z}");T("\\Bbbk","\\Bbb{k}");T("\xB7","\\cdotp");T("\\llap","\\mathllap{\\textrm{#1}}");T("\\rlap","\\mathrlap{\\textrm{#1}}");T("\\clap","\\mathclap{\\textrm{#1}}");T("\\mathstrut","\\vphantom{(}");T("\\underbar","\\underline{\\text{#1}}");T("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');T("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");T("\\ne","\\neq");T("\u2260","\\neq");T("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");T("\u2209","\\notin");T("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");T("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");T("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");T("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");T("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");T("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");T("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");T("\u27C2","\\perp");T("\u203C","\\mathclose{!\\mkern-0.8mu!}");T("\u220C","\\notni");T("\u231C","\\ulcorner");T("\u231D","\\urcorner");T("\u231E","\\llcorner");T("\u231F","\\lrcorner");T("\xA9","\\copyright");T("\xAE","\\textregistered");T("\uFE0F","\\textregistered");T("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');T("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');T("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');T("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');T("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");T("\u22EE","\\vdots");T("\\varGamma","\\mathit{\\Gamma}");T("\\varDelta","\\mathit{\\Delta}");T("\\varTheta","\\mathit{\\Theta}");T("\\varLambda","\\mathit{\\Lambda}");T("\\varXi","\\mathit{\\Xi}");T("\\varPi","\\mathit{\\Pi}");T("\\varSigma","\\mathit{\\Sigma}");T("\\varUpsilon","\\mathit{\\Upsilon}");T("\\varPhi","\\mathit{\\Phi}");T("\\varPsi","\\mathit{\\Psi}");T("\\varOmega","\\mathit{\\Omega}");T("\\substack","\\begin{subarray}{c}#1\\end{subarray}");T("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");T("\\boxed","\\fbox{$\\displaystyle{#1}$}");T("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");T("\\implies","\\DOTSB\\;\\Longrightarrow\\;");T("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");T("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");T("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var kT={",":"\\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"};T("\\dots",function(e){var t="\\dotso",n=e.expandAfterFuture().text;return n in kT?t=kT[n]:(n.slice(0,4)==="\\not"||n in ut.math&&["bin","rel"].includes(ut.math[n].group))&&(t="\\dotsb"),t});var vd={")":!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};T("\\dotso",function(e){var t=e.future().text;return t in vd?"\\ldots\\,":"\\ldots"});T("\\dotsc",function(e){var t=e.future().text;return t in vd&&t!==","?"\\ldots\\,":"\\ldots"});T("\\cdots",function(e){var t=e.future().text;return t in vd?"\\@cdots\\,":"\\@cdots"});T("\\dotsb","\\cdots");T("\\dotsm","\\cdots");T("\\dotsi","\\!\\cdots");T("\\dotsx","\\ldots\\,");T("\\DOTSI","\\relax");T("\\DOTSB","\\relax");T("\\DOTSX","\\relax");T("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");T("\\,","\\tmspace+{3mu}{.1667em}");T("\\thinspace","\\,");T("\\>","\\mskip{4mu}");T("\\:","\\tmspace+{4mu}{.2222em}");T("\\medspace","\\:");T("\\;","\\tmspace+{5mu}{.2777em}");T("\\thickspace","\\;");T("\\!","\\tmspace-{3mu}{.1667em}");T("\\negthinspace","\\!");T("\\negmedspace","\\tmspace-{4mu}{.2222em}");T("\\negthickspace","\\tmspace-{5mu}{.277em}");T("\\enspace","\\kern.5em ");T("\\enskip","\\hskip.5em\\relax");T("\\quad","\\hskip1em\\relax");T("\\qquad","\\hskip2em\\relax");T("\\tag","\\@ifstar\\tag@literal\\tag@paren");T("\\tag@paren","\\tag@literal{({#1})}");T("\\tag@literal",e=>{if(e.macros.get("\\df@tag"))throw new re("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});T("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");T("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");T("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");T("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");T("\\newline","\\\\\\relax");T("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var yC=se(Wn["Main-Regular"][84][1]-.7*Wn["Main-Regular"][65][1]);T("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+yC+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");T("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+yC+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");T("\\hspace","\\@ifstar\\@hspacer\\@hspace");T("\\@hspace","\\hskip #1\\relax");T("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");T("\\ordinarycolon",":");T("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");T("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');T("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');T("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');T("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');T("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');T("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');T("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');T("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');T("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');T("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');T("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');T("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');T("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');T("\u2237","\\dblcolon");T("\u2239","\\eqcolon");T("\u2254","\\coloneqq");T("\u2255","\\eqqcolon");T("\u2A74","\\Coloneqq");T("\\ratio","\\vcentcolon");T("\\coloncolon","\\dblcolon");T("\\colonequals","\\coloneqq");T("\\coloncolonequals","\\Coloneqq");T("\\equalscolon","\\eqqcolon");T("\\equalscoloncolon","\\Eqqcolon");T("\\colonminus","\\coloneq");T("\\coloncolonminus","\\Coloneq");T("\\minuscolon","\\eqcolon");T("\\minuscoloncolon","\\Eqcolon");T("\\coloncolonapprox","\\Colonapprox");T("\\coloncolonsim","\\Colonsim");T("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");T("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");T("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");T("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");T("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");T("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");T("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");T("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");T("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");T("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");T("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");T("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");T("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");T("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");T("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");T("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");T("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");T("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");T("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");T("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");T("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");T("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");T("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");T("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");T("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");T("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");T("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");T("\\imath","\\html@mathml{\\@imath}{\u0131}");T("\\jmath","\\html@mathml{\\@jmath}{\u0237}");T("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");T("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");T("\u27E6","\\llbracket");T("\u27E7","\\rrbracket");T("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");T("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");T("\u2983","\\lBrace");T("\u2984","\\rBrace");T("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");T("\u29B5","\\minuso");T("\\darr","\\downarrow");T("\\dArr","\\Downarrow");T("\\Darr","\\Downarrow");T("\\lang","\\langle");T("\\rang","\\rangle");T("\\uarr","\\uparrow");T("\\uArr","\\Uparrow");T("\\Uarr","\\Uparrow");T("\\N","\\mathbb{N}");T("\\R","\\mathbb{R}");T("\\Z","\\mathbb{Z}");T("\\alef","\\aleph");T("\\alefsym","\\aleph");T("\\Alpha","\\mathrm{A}");T("\\Beta","\\mathrm{B}");T("\\bull","\\bullet");T("\\Chi","\\mathrm{X}");T("\\clubs","\\clubsuit");T("\\cnums","\\mathbb{C}");T("\\Complex","\\mathbb{C}");T("\\Dagger","\\ddagger");T("\\diamonds","\\diamondsuit");T("\\empty","\\emptyset");T("\\Epsilon","\\mathrm{E}");T("\\Eta","\\mathrm{H}");T("\\exist","\\exists");T("\\harr","\\leftrightarrow");T("\\hArr","\\Leftrightarrow");T("\\Harr","\\Leftrightarrow");T("\\hearts","\\heartsuit");T("\\image","\\Im");T("\\infin","\\infty");T("\\Iota","\\mathrm{I}");T("\\isin","\\in");T("\\Kappa","\\mathrm{K}");T("\\larr","\\leftarrow");T("\\lArr","\\Leftarrow");T("\\Larr","\\Leftarrow");T("\\lrarr","\\leftrightarrow");T("\\lrArr","\\Leftrightarrow");T("\\Lrarr","\\Leftrightarrow");T("\\Mu","\\mathrm{M}");T("\\natnums","\\mathbb{N}");T("\\Nu","\\mathrm{N}");T("\\Omicron","\\mathrm{O}");T("\\plusmn","\\pm");T("\\rarr","\\rightarrow");T("\\rArr","\\Rightarrow");T("\\Rarr","\\Rightarrow");T("\\real","\\Re");T("\\reals","\\mathbb{R}");T("\\Reals","\\mathbb{R}");T("\\Rho","\\mathrm{P}");T("\\sdot","\\cdot");T("\\sect","\\S");T("\\spades","\\spadesuit");T("\\sub","\\subset");T("\\sube","\\subseteq");T("\\supe","\\supseteq");T("\\Tau","\\mathrm{T}");T("\\thetasym","\\vartheta");T("\\weierp","\\wp");T("\\Zeta","\\mathrm{Z}");T("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");T("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");T("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");T("\\bra","\\mathinner{\\langle{#1}|}");T("\\ket","\\mathinner{|{#1}\\rangle}");T("\\braket","\\mathinner{\\langle{#1}\\rangle}");T("\\Bra","\\left\\langle#1\\right|");T("\\Ket","\\left|#1\\right\\rangle");var OC=e=>t=>{var n=t.consumeArg().tokens,a=t.consumeArg().tokens,o=t.consumeArg().tokens,s=t.consumeArg().tokens,l=t.macros.get("|"),d=t.macros.get("\\|");t.macros.beginGroup();var u=h=>C=>{e&&(C.macros.set("|",l),o.length&&C.macros.set("\\|",d));var R=h;if(!h&&o.length){var I=C.future();I.text==="|"&&(C.popToken(),R=!0)}return{tokens:R?o:a,numArgs:0}};t.macros.set("|",u(!1)),o.length&&t.macros.set("\\|",u(!0));var p=t.consumeArg().tokens,E=t.expandTokens([...s,...p,...n]);return t.macros.endGroup(),{tokens:E.reverse(),numArgs:0}};T("\\bra@ket",OC(!1));T("\\bra@set",OC(!0));T("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");T("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");T("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");T("\\angln","{\\angl n}");T("\\blue","\\textcolor{##6495ed}{#1}");T("\\orange","\\textcolor{##ffa500}{#1}");T("\\pink","\\textcolor{##ff00af}{#1}");T("\\red","\\textcolor{##df0030}{#1}");T("\\green","\\textcolor{##28ae7b}{#1}");T("\\gray","\\textcolor{gray}{#1}");T("\\purple","\\textcolor{##9d38bd}{#1}");T("\\blueA","\\textcolor{##ccfaff}{#1}");T("\\blueB","\\textcolor{##80f6ff}{#1}");T("\\blueC","\\textcolor{##63d9ea}{#1}");T("\\blueD","\\textcolor{##11accd}{#1}");T("\\blueE","\\textcolor{##0c7f99}{#1}");T("\\tealA","\\textcolor{##94fff5}{#1}");T("\\tealB","\\textcolor{##26edd5}{#1}");T("\\tealC","\\textcolor{##01d1c1}{#1}");T("\\tealD","\\textcolor{##01a995}{#1}");T("\\tealE","\\textcolor{##208170}{#1}");T("\\greenA","\\textcolor{##b6ffb0}{#1}");T("\\greenB","\\textcolor{##8af281}{#1}");T("\\greenC","\\textcolor{##74cf70}{#1}");T("\\greenD","\\textcolor{##1fab54}{#1}");T("\\greenE","\\textcolor{##0d923f}{#1}");T("\\goldA","\\textcolor{##ffd0a9}{#1}");T("\\goldB","\\textcolor{##ffbb71}{#1}");T("\\goldC","\\textcolor{##ff9c39}{#1}");T("\\goldD","\\textcolor{##e07d10}{#1}");T("\\goldE","\\textcolor{##a75a05}{#1}");T("\\redA","\\textcolor{##fca9a9}{#1}");T("\\redB","\\textcolor{##ff8482}{#1}");T("\\redC","\\textcolor{##f9685d}{#1}");T("\\redD","\\textcolor{##e84d39}{#1}");T("\\redE","\\textcolor{##bc2612}{#1}");T("\\maroonA","\\textcolor{##ffbde0}{#1}");T("\\maroonB","\\textcolor{##ff92c6}{#1}");T("\\maroonC","\\textcolor{##ed5fa6}{#1}");T("\\maroonD","\\textcolor{##ca337c}{#1}");T("\\maroonE","\\textcolor{##9e034e}{#1}");T("\\purpleA","\\textcolor{##ddd7ff}{#1}");T("\\purpleB","\\textcolor{##c6b9fc}{#1}");T("\\purpleC","\\textcolor{##aa87ff}{#1}");T("\\purpleD","\\textcolor{##7854ab}{#1}");T("\\purpleE","\\textcolor{##543b78}{#1}");T("\\mintA","\\textcolor{##f5f9e8}{#1}");T("\\mintB","\\textcolor{##edf2df}{#1}");T("\\mintC","\\textcolor{##e0e5cc}{#1}");T("\\grayA","\\textcolor{##f6f7f7}{#1}");T("\\grayB","\\textcolor{##f0f1f2}{#1}");T("\\grayC","\\textcolor{##e3e5e6}{#1}");T("\\grayD","\\textcolor{##d6d8da}{#1}");T("\\grayE","\\textcolor{##babec2}{#1}");T("\\grayF","\\textcolor{##888d93}{#1}");T("\\grayG","\\textcolor{##626569}{#1}");T("\\grayH","\\textcolor{##3b3e40}{#1}");T("\\grayI","\\textcolor{##21242c}{#1}");T("\\kaBlue","\\textcolor{##314453}{#1}");T("\\kaGreen","\\textcolor{##71B307}{#1}");var xC={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},sd=class{constructor(t,n,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=n,this.expansionCount=0,this.feed(t),this.macros=new od(kk,n.macros),this.mode=a,this.stack=[]}feed(t){this.lexer=new Cs(t,this.settings)}switchMode(t){this.mode=t}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(t){this.stack.push(t)}pushTokens(t){this.stack.push(...t)}scanArgument(t){var n,a,o;if(t){if(this.consumeSpaces(),this.future().text!=="[")return null;n=this.popToken(),{tokens:o,end:a}=this.consumeArg(["]"])}else({tokens:o,start:n,end:a}=this.consumeArg());return this.pushToken(new pn("EOF",a.loc)),this.pushTokens(o),new pn("",an.range(n,a))}consumeSpaces(){for(;;){var t=this.future();if(t.text===" ")this.stack.pop();else break}}consumeArg(t){var n=[],a=t&&t.length>0;a||this.consumeSpaces();var o=this.future(),s,l=0,d=0;do{if(s=this.popToken(),n.push(s),s.text==="{")++l;else if(s.text==="}"){if(--l,l===-1)throw new re("Extra }",s)}else if(s.text==="EOF")throw new re("Unexpected end of input in a macro argument, expected '"+(t&&a?t[d]:"}")+"'",s);if(t&&a)if((l===0||l===1&&t[d]==="{")&&s.text===t[d]){if(++d,d===t.length){n.splice(-d,d);break}}else d=0}while(l!==0||a);return o.text==="{"&&n[n.length-1].text==="}"&&(n.pop(),n.shift()),n.reverse(),{tokens:n,start:o,end:s}}consumeArgs(t,n){if(n){if(n.length!==t+1)throw new re("The length of delimiters doesn't match the number of args!");for(var a=n[0],o=0;o<a.length;o++){var s=this.popToken();if(a[o]!==s.text)throw new re("Use of the macro doesn't match its definition",s)}}for(var l=[],d=0;d<t;d++)l.push(this.consumeArg(n&&n[d+1]).tokens);return l}countExpansion(t){if(this.expansionCount+=t,this.expansionCount>this.settings.maxExpand)throw new re("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(t){var n=this.popToken(),a=n.text,o=n.noexpand?null:this._getExpansion(a);if(o==null||t&&o.unexpandable){if(t&&o==null&&a[0]==="\\"&&!this.isDefined(a))throw new re("Undefined control sequence: "+a);return this.pushToken(n),!1}this.countExpansion(1);var s=o.tokens,l=this.consumeArgs(o.numArgs,o.delimiters);if(o.numArgs){s=s.slice();for(var d=s.length-1;d>=0;--d){var u=s[d];if(u.text==="#"){if(d===0)throw new re("Incomplete placeholder at end of macro body",u);if(u=s[--d],u.text==="#")s.splice(d+1,1);else if(/^[1-9]$/.test(u.text))s.splice(d,2,...l[+u.text-1]);else throw new re("Not a valid argument number",u)}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var t=this.stack.pop();return t.treatAsRelax&&(t.text="\\relax"),t}throw new Error}expandMacro(t){return this.macros.has(t)?this.expandTokens([new pn(t)]):void 0}expandTokens(t){var n=[],a=this.stack.length;for(this.pushTokens(t);this.stack.length>a;)if(this.expandOnce(!0)===!1){var o=this.stack.pop();o.treatAsRelax&&(o.noexpand=!1,o.treatAsRelax=!1),n.push(o)}return this.countExpansion(n.length),n}expandMacroAsText(t){var n=this.expandMacro(t);return n&&n.map(a=>a.text).join("")}_getExpansion(t){var n=this.macros.get(t);if(n==null)return n;if(t.length===1){var a=this.lexer.catcodes[t];if(a!=null&&a!==13)return}var o=typeof n=="function"?n(this):n;if(typeof o=="string"){var s=0;if(o.indexOf("#")!==-1)for(var l=o.replace(/##/g,"");l.indexOf("#"+(s+1))!==-1;)++s;for(var d=new Cs(o,this.settings),u=[],p=d.lex();p.text!=="EOF";)u.push(p),p=d.lex();u.reverse();var E={tokens:u,numArgs:s};return E}return o}isDefined(t){return this.macros.has(t)||xr.hasOwnProperty(t)||ut.math.hasOwnProperty(t)||ut.text.hasOwnProperty(t)||xC.hasOwnProperty(t)}isExpandable(t){var n=this.macros.get(t);return n!=null?typeof n=="string"||typeof n=="function"||!n.unexpandable:xr.hasOwnProperty(t)&&!xr[t].primitive}},PT=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,ms=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),Xc={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},BT={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},vs=class e{constructor(t,n){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 sd(t,n,this.mode),this.settings=n,this.leftrightDepth=0}expect(t,n){if(n===void 0&&(n=!0),this.fetch().text!==t)throw new re("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());n&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(t){this.mode=t,this.gullet.switchMode(t)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var t=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),t}finally{this.gullet.endGroups()}}subparse(t){var n=this.nextToken;this.consume(),this.gullet.pushToken(new pn("}")),this.gullet.pushTokens(t);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=n,a}parseExpression(t,n){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var o=this.fetch();if(e.endOfExpression.indexOf(o.text)!==-1||n&&o.text===n||t&&xr[o.text]&&xr[o.text].infix)break;var s=this.parseAtom(n);if(s){if(s.type==="internal")continue}else break;a.push(s)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(t){for(var n=-1,a,o=0;o<t.length;o++)if(t[o].type==="infix"){if(n!==-1)throw new re("only one infix operator per group",t[o].token);n=o,a=t[o].replaceWith}if(n!==-1&&a){var s,l,d=t.slice(0,n),u=t.slice(n+1);d.length===1&&d[0].type==="ordgroup"?s=d[0]:s={type:"ordgroup",mode:this.mode,body:d},u.length===1&&u[0].type==="ordgroup"?l=u[0]:l={type:"ordgroup",mode:this.mode,body:u};var p;return a==="\\\\abovefrac"?p=this.callFunction(a,[s,t[n],l],[]):p=this.callFunction(a,[s,l],[]),[p]}else return t}handleSupSubscript(t){var n=this.fetch(),a=n.text;this.consume(),this.consumeSpaces();var o;do{var s;o=this.parseGroup(t)}while(((s=o)==null?void 0:s.type)==="internal");if(!o)throw new re("Expected group after '"+a+"'",n);return o}formatUnsupportedCmd(t){for(var n=[],a=0;a<t.length;a++)n.push({type:"textord",mode:"text",text:t[a]});var o={type:"text",mode:this.mode,body:n},s={type:"color",mode:this.mode,color:this.settings.errorColor,body:[o]};return s}parseAtom(t){var n=this.parseGroup("atom",t);if(n?.type==="internal"||this.mode==="text")return n;for(var a,o;;){this.consumeSpaces();var s=this.fetch();if(s.text==="\\limits"||s.text==="\\nolimits"){if(n&&n.type==="op"){var l=s.text==="\\limits";n.limits=l,n.alwaysHandleSupSub=!0}else if(n&&n.type==="operatorname")n.alwaysHandleSupSub&&(n.limits=s.text==="\\limits");else throw new re("Limit controls must follow a math operator",s);this.consume()}else if(s.text==="^"){if(a)throw new re("Double superscript",s);a=this.handleSupSubscript("superscript")}else if(s.text==="_"){if(o)throw new re("Double subscript",s);o=this.handleSupSubscript("subscript")}else if(s.text==="'"){if(a)throw new re("Double superscript",s);var d={type:"textord",mode:this.mode,text:"\\prime"},u=[d];for(this.consume();this.fetch().text==="'";)u.push(d),this.consume();this.fetch().text==="^"&&u.push(this.handleSupSubscript("superscript")),a={type:"ordgroup",mode:this.mode,body:u}}else if(ms[s.text]){var p=PT.test(s.text),E=[];for(E.push(new pn(ms[s.text])),this.consume();;){var h=this.fetch().text;if(!ms[h]||PT.test(h)!==p)break;E.unshift(new pn(ms[h])),this.consume()}var C=this.subparse(E);p?o={type:"ordgroup",mode:"math",body:C}:a={type:"ordgroup",mode:"math",body:C}}else break}return a||o?{type:"supsub",mode:this.mode,base:n,sup:a,sub:o}:n}parseFunction(t,n){var a=this.fetch(),o=a.text,s=xr[o];if(!s)return null;if(this.consume(),n&&n!=="atom"&&!s.allowedInArgument)throw new re("Got function '"+o+"' with no arguments"+(n?" as "+n:""),a);if(this.mode==="text"&&!s.allowedInText)throw new re("Can't use function '"+o+"' in text mode",a);if(this.mode==="math"&&s.allowedInMath===!1)throw new re("Can't use function '"+o+"' in math mode",a);var{args:l,optArgs:d}=this.parseArguments(o,s);return this.callFunction(o,l,d,a,t)}callFunction(t,n,a,o,s){var l={funcName:t,parser:this,token:o,breakOnTokenText:s},d=xr[t];if(d&&d.handler)return d.handler(l,n,a);throw new re("No function handler for "+t)}parseArguments(t,n){var a=n.numArgs+n.numOptionalArgs;if(a===0)return{args:[],optArgs:[]};for(var o=[],s=[],l=0;l<a;l++){var d=n.argTypes&&n.argTypes[l],u=l<n.numOptionalArgs;(n.primitive&&d==null||n.type==="sqrt"&&l===1&&s[0]==null)&&(d="primitive");var p=this.parseGroupOfType("argument to '"+t+"'",d,u);if(u)s.push(p);else if(p!=null)o.push(p);else throw new re("Null argument, please report this as a bug")}return{args:o,optArgs:s}}parseGroupOfType(t,n,a){switch(n){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,n);case"hbox":{var o=this.parseArgumentGroup(a,"text");return o!=null?{type:"styling",mode:o.mode,body:[o],style:"text"}:null}case"raw":{var s=this.parseStringGroup("raw",a);return s!=null?{type:"raw",mode:"text",string:s.text}:null}case"primitive":{if(a)throw new re("A primitive argument cannot be optional");var l=this.parseGroup(t);if(l==null)throw new re("Expected group as "+t,this.fetch());return l}case"original":case null:case void 0:return this.parseArgumentGroup(a);default:throw new re("Unknown group type as "+t,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(t,n){var a=this.gullet.scanArgument(n);if(a==null)return null;for(var o="",s;(s=this.fetch()).text!=="EOF";)o+=s.text,this.consume();return this.consume(),a.text=o,a}parseRegexGroup(t,n){for(var a=this.fetch(),o=a,s="",l;(l=this.fetch()).text!=="EOF"&&t.test(s+l.text);)o=l,s+=o.text,this.consume();if(s==="")throw new re("Invalid "+n+": '"+a.text+"'",a);return a.range(o,s)}parseColorGroup(t){var n=this.parseStringGroup("color",t);if(n==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(n.text);if(!a)throw new re("Invalid color: '"+n.text+"'",n);var o=a[0];return/^[0-9a-f]{6}$/i.test(o)&&(o="#"+o),{type:"color-token",mode:this.mode,color:o}}parseSizeGroup(t){var n,a=!1;if(this.gullet.consumeSpaces(),!t&&this.gullet.future().text!=="{"?n=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):n=this.parseStringGroup("size",t),!n)return null;!t&&n.text.length===0&&(n.text="0pt",a=!0);var o=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(n.text);if(!o)throw new re("Invalid size: '"+n.text+"'",n);var s={number:+(o[1]+o[2]),unit:o[3]};if(!GT(s))throw new re("Invalid unit: '"+s.unit+"'",n);return{type:"size",mode:this.mode,value:s,isBlank:a}}parseUrlGroup(t){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var n=this.parseStringGroup("url",t);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),n==null)return null;var a=n.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}}parseArgumentGroup(t,n){var a=this.gullet.scanArgument(t);if(a==null)return null;var o=this.mode;n&&this.switchMode(n),this.gullet.beginGroup();var s=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var l={type:"ordgroup",mode:this.mode,loc:a.loc,body:s};return n&&this.switchMode(o),l}parseGroup(t,n){var a=this.fetch(),o=a.text,s;if(o==="{"||o==="\\begingroup"){this.consume();var l=o==="{"?"}":"\\endgroup";this.gullet.beginGroup();var d=this.parseExpression(!1,l),u=this.fetch();this.expect(l),this.gullet.endGroup(),s={type:"ordgroup",mode:this.mode,loc:an.range(a,u),body:d,semisimple:o==="\\begingroup"||void 0}}else if(s=this.parseFunction(n,t)||this.parseSymbol(),s==null&&o[0]==="\\"&&!xC.hasOwnProperty(o)){if(this.settings.throwOnError)throw new re("Undefined control sequence: "+o,a);s=this.formatUnsupportedCmd(o),this.consume()}return s}formLigatures(t){for(var n=t.length-1,a=0;a<n;++a){var o=t[a],s=o.text;s==="-"&&t[a+1].text==="-"&&(a+1<n&&t[a+2].text==="-"?(t.splice(a,3,{type:"textord",mode:"text",loc:an.range(o,t[a+2]),text:"---"}),n-=2):(t.splice(a,2,{type:"textord",mode:"text",loc:an.range(o,t[a+1]),text:"--"}),n-=1)),(s==="'"||s==="`")&&t[a+1].text===s&&(t.splice(a,2,{type:"textord",mode:"text",loc:an.range(o,t[a+1]),text:s+s}),n-=1)}}parseSymbol(){var t=this.fetch(),n=t.text;if(/^\\verb[^a-zA-Z]/.test(n)){this.consume();var a=n.slice(5),o=a.charAt(0)==="*";if(o&&(a=a.slice(1)),a.length<2||a.charAt(0)!==a.slice(-1))throw new re(`\\verb assertion failed --
345
345
  please report what input caused this bug`);return a=a.slice(1,-1),{type:"verb",mode:"text",body:a,star:o}}BT.hasOwnProperty(n[0])&&!ut[this.mode][n[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+n[0]+'" used in math mode',t),n=BT[n[0]]+n.slice(1));var s=Mk.exec(n);s&&(n=n.substring(0,s.index),n==="i"?n="\u0131":n==="j"&&(n="\u0237"));var l;if(ut[this.mode][n]){this.settings.strict&&this.mode==="math"&&jc.indexOf(n)>=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+n[0]+'" used in math mode',t);var d=ut[this.mode][n].group,u=an.range(t),p;if(A4.hasOwnProperty(d)){var E=d;p={type:"atom",mode:this.mode,family:E,loc:u,text:n}}else p={type:d,mode:this.mode,loc:u,text:n};l=p}else if(n.charCodeAt(0)>=128)this.settings.strict&&(UT(n.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+n[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+n[0]+'"'+(" ("+n.charCodeAt(0)+")"),t)),l={type:"textord",mode:"text",loc:an.range(t),text:n};else return null;if(this.consume(),s)for(var h=0;h<s[0].length;h++){var C=s[0][h];if(!Xc[C])throw new re("Unknown accent ' "+C+"'",t);var R=Xc[C][this.mode]||Xc[C].text;if(!R)throw new re("Accent "+C+" unsupported in "+this.mode+" mode",t);l={type:"accent",mode:this.mode,loc:an.range(t),label:R,isStretchy:!1,isShifty:!0,base:l}}return l}};vs.endOfExpression=["}","\\endgroup","\\end","\\right","&"];var Rd=function(t,n){if(!(typeof t=="string"||t instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var a=new vs(t,n);delete a.gullet.macros.current["\\df@tag"];var o=a.parse();if(delete a.gullet.macros.current["\\current@color"],delete a.gullet.macros.current["\\color"],a.gullet.macros.get("\\df@tag")){if(!n.displayMode)throw new re("\\tag works only in display equations");o=[{type:"tag",mode:"text",body:o,tag:a.subparse([new pn("\\df@tag")])}]}return o},DC=function(t,n,a){n.textContent="";var o=Id(t,a).toNode();n.appendChild(o)};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."),DC=function(){throw new re("KaTeX doesn't work in quirks mode.")});var Pk=function(t,n){var a=Id(t,n).toMarkup();return a},Bk=function(t,n){var a=new Ci(n);return Rd(t,a)},wC=function(t,n,a){if(a.throwOnError||!(t instanceof re))throw t;var o=F.makeSpan(["katex-error"],[new on(n)]);return o.setAttribute("title",t.toString()),o.setAttribute("style","color:"+a.errorColor),o},Id=function(t,n){var a=new Ci(n);try{var o=Rd(t,a);return $4(o,t,a)}catch(s){return wC(s,t,a)}},Fk=function(t,n){var a=new Ci(n);try{var o=Rd(t,a);return X4(o,t,a)}catch(s){return wC(s,t,a)}},Uk="0.16.28",Gk={Span:ea,Anchor:Ri,SymbolNode:on,SvgNode:Ln,PathNode:Vn,LineNode:Ii},MC={version:Uk,render:DC,renderToString:Pk,ParseError:re,SETTINGS_SCHEMA:ps,__parse:Bk,__renderToDomTree:Id,__renderToHTMLTree:Fk,__setFontMetrics:h4,__defineSymbol:_,__defineFunction:ue,__defineMacro:T,__domTree:Gk};var Yk=/^(\${1,2})(?!\$)((?:\\.|[^\\\n])*?(?:\\.|[^\\\n\$]))\1(?=[\s?!\.,:?!。,:]|$)/,zk=/^(\${1,2})(?!\$)((?:\\.|[^\\\n])*?(?:\\.|[^\\\n\$]))\1/,Hk=/^(\${1,2})\n((?:\\[^]|[^\\])+?)\n\1(?:\n|$)/;function kC(e={}){return{extensions:[Wk(e,LC(e,!1)),Vk(e,LC(e,!0))]}}function LC(e,t){return n=>MC.renderToString(n.text,{...e,displayMode:n.displayMode})+(t?`
346
- `:"")}function Wk(e,t){let n=e&&e.nonStandard,a=n?zk:Yk;return{name:"inlineKatex",level:"inline",start(o){let s,l=o;for(;l;){if(s=l.indexOf("$"),s===-1)return;if((n?s>-1:s===0||l.charAt(s-1)===" ")&&l.substring(s).match(a))return s;l=l.substring(s+1).replace(/^\$+/,"")}},tokenizer(o,s){let l=o.match(a);if(l)return{type:"inlineKatex",raw:l[0],text:l[2].trim(),displayMode:l[1].length===2}},renderer:t}}function Vk(e,t){return{name:"blockKatex",level:"block",tokenizer(n,a){let o=n.match(Hk);if(o)return{type:"blockKatex",raw:o[0],text:o[2].trim(),displayMode:o[1].length===2}},renderer:t}}var qk='<div class="code-header"><span class="title"><span class="header-toggle"></span><span class="language"><LANG></span></span></div><span class="code-data" data-code="<CODE>" data-lang="<LANG>"></span>',PC=new ns(Pc({emptyLangClass:"hljs plaintext",langPrefix:"hljs ",highlight(e,t){let n=mi.getLanguage(t)?t:"plaintext",a=mi.highlight(e?.trim(),{language:n}).value;return t?qk.replaceAll("<LANG>",n).replaceAll("<CODE>",encodeURIComponent(e))+a?.trim():a}}),kC({displayMode:!1,throwOnError:!1,output:"html"}),{silent:!0,gfm:!0,breaks:!0}),Qk=new ns(Pc({emptyLangClass:"hljs plaintext",langPrefix:"hljs ",highlight(e,t){let n=mi.getLanguage(t)?t:"plaintext";return mi.highlight(e?.trim(),{language:n}).value}}),{silent:!0,breaks:!0,gfm:!0}),Lr=new Na;Lr.html=({text:e})=>["<br>","<br/>","<br />","<p>"].includes(e.trim())?e:kr(e);Lr.link=({href:e,title:t,text:n})=>`<a target="_blank" rel="noopener noreferrer" href="${Kk(e)}" title="${kr(t)||""}">${kr(n)}</a>`;Lr.table=e=>{let t=e.header.map((o,s)=>{let l=e.align[s];return`<th class="table-sort-btn" ${l?` align="${l}"`:""}>${Lr.parser.parseInline(o.tokens)}</th>`}).join(""),n=e.rows.map(o=>`<tr>${o.map((s,l)=>{let d=e.align[l];return`<td${d?` align="${d}"`:""}>${Lr.parser.parseInline(s.tokens)}</td>`}).join("")}</tr>`).join(""),a=e.header.length;return`<table><thead><tr>${t}</tr></thead><tbody>${n}</tbody><tfoot><tr class="table-controls-row"><td class="table-controls" colspan="${a}">&nbsp;</td></tr></tfoot></table>`};function $k(e){return e?e.replace(/\\\(([\s\S]+?)\\\)/g,(t,n)=>`$${n}$`).replace(/\\\[([\s\S]+?)\\\]/g,(t,n)=>`
346
+ `:"")}function Wk(e,t){let n=e&&e.nonStandard,a=n?zk:Yk;return{name:"inlineKatex",level:"inline",start(o){let s,l=o;for(;l;){if(s=l.indexOf("$"),s===-1)return;if((n?s>-1:s===0||l.charAt(s-1)===" ")&&l.substring(s).match(a))return s;l=l.substring(s+1).replace(/^\$+/,"")}},tokenizer(o,s){let l=o.match(a);if(l)return{type:"inlineKatex",raw:l[0],text:l[2].trim(),displayMode:l[1].length===2}},renderer:t}}function Vk(e,t){return{name:"blockKatex",level:"block",tokenizer(n,a){let o=n.match(Hk);if(o)return{type:"blockKatex",raw:o[0],text:o[2].trim(),displayMode:o[1].length===2}},renderer:t}}var qk='<div class="code-header"><span class="title"><span class="header-toggle"></span><span class="language"><LANG></span></span></div><span class="code-data" data-code="<CODE>" data-lang="<LANG>"></span>',PC=new ns(Pc({emptyLangClass:"hljs plaintext",langPrefix:"hljs ",highlight(e,t){let n=mi.getLanguage(t)?t:"plaintext",a=mi.highlight(e?.trim(),{language:n}).value;return t?qk.replaceAll("<LANG>",n).replaceAll("<CODE>",encodeURIComponent(e))+a?.trim():a}}),kC({displayMode:!1,throwOnError:!1,output:"html"}),{silent:!0,gfm:!0,breaks:!0}),Qk=new ns(Pc({emptyLangClass:"hljs plaintext",langPrefix:"hljs ",highlight(e,t){let n=mi.getLanguage(t)?t:"plaintext";return mi.highlight(e?.trim(),{language:n}).value}}),{silent:!0,breaks:!0,gfm:!0}),Lr=new Na;Lr.html=({text:e})=>["<br>","<br/>","<br />","<p>"].includes(e.trim())?e:kr(e);Lr.link=({href:e,title:t,text:n})=>`<a target="_blank" rel="noopener noreferrer" href="${Kk(e)}" title="${kr(t)||""}">${kr(n)}</a>`;Lr.table=e=>{let t=e.header.map((o,s)=>{let l=e.align[s];return`<th class="table-sort-btn" ${l?` align="${l}"`:""}>${Lr.parser.parseInline(o.tokens)}</th>`}).join(""),n=e.rows.map(o=>`<tr>${o.map((s,l)=>{let d=e.align[l];return`<td${d?` align="${d}"`:""}>${Lr.parser.parseInline(s.tokens)}</td>`}).join("")}</tr>`).join(""),a=e.header.length;return`<table><thead><tr>${t}</tr></thead><tbody>${n}</tbody><tfoot><tr class="table-controls-row"><td class="table-controls" colspan="${a}">&nbsp;</td></tr></tfoot></table>`};function $k(e){return e?e.replace(/\\\(([\s\S]+?)\\\)/g,(t,n)=>`$${n}$`).replace(/\(\$\s*([\s\S]+?)\s*\$\)/g,(t,n)=>`$${n}$`).replace(/\\\[([\s\S]+?)\\\]/g,(t,n)=>`
347
347
  $$${n}$$
348
348
  `).replace(/\$\$\n([\s\S]+?)\n\$\$\n/g,(t,n)=>`
349
349
  $$${n}$$`):""}function xs(e,t=!1){return e?t?[Qk.parse(e,{renderer:Lr})]:(e=$k(e),e.match(/(```)|(\|---)/)?[PC.parse(e,{renderer:Lr})]:e.split(/(\r)?\n(\r)?\n/g).filter(a=>!!a).map(a=>a+`
@@ -447,7 +447,7 @@ $$${n}$$`):""}function xs(e,t=!1){return e?t?[Qk.parse(e,{renderer:Lr})]:(e=$k(e
447
447
  <path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" />
448
448
  </svg>
449
449
  <span class="action-btn-label">${Ae.label}</span>
450
- </div>`:"";Qe.innerHTML=Se.replaceAll("<LANG>",ct).replace("<EXECUTE_BTN>",Ct).replace("<DOWNLOAD_TITLE>",fe).replace("<COPY_TITLE>",z),Pe.appendChild(Qe),Ce.parentNode?.insertBefore(Pe,Ce),Pe.appendChild(Ce)}}),G.current.querySelectorAll("img").forEach(Ce=>{if(!Ce?.classList?.contains("message-image")){Ce.classList.add("message-image");let Qe=Ce.src.split("/").pop()||"";Ce.setAttribute("data-file-name",Qe)}}),G.current.querySelectorAll("table").forEach(Ce=>{if(!Ce?.classList?.contains("message-table")){if(Ce.classList.add("message-table"),!Ce.tFoot){let ct=document.createElement("tfoot");Ce.appendChild(ct);let Pe=document.createElement("tr");Pe.className="table-controls-row",ct.appendChild(Pe);let Ae=document.createElement("th");Ae.classList.add("table-controls"),Ae.colSpan=Ce.querySelectorAll("th").length||1,Pe.appendChild(Ae)}let Qe=Ce.querySelector("tfoot tr .table-controls");Qe.innerHTML=te.replace("<COPY_CSV_TITLE>",$).replace("<DOWNLOAD_CSV_TITLE>",Z);let mt=0;Ce.querySelectorAll("th").forEach(ct=>{ct.classList.contains("table-controls")||(ct.classList.add("table-sort-btn"),ct.setAttribute("data-col-index",String(mt++)))})}}))},Di+10),[fe,z,$,Z,u]);qC(()=>{if(!k&&G.current){let Ce=new MutationObserver(pe);return Ce.observe(G.current,{childList:!0,subtree:!0}),pe(),()=>Ce.disconnect()}},[p,k,pe]);let _e=mr(()=>l?l(t):null,[l,t]),Te=mr(()=>{let Ce=s?s(t,{isLast:a}):null,Qe=d?.find(mt=>mt.modelId===t?.modelId);return xe.createElement(xe.Fragment,null,xe.createElement(Ms,{align:"center",p:"0"},xe.createElement(Ms,{gap:"sm",wrap:"nowrap",p:"0"},xe.createElement(T3,{color:"gray",radius:"xl",size:"md",src:le?t?.user?.avatarUrl:void 0},le?xe.createElement(A3,null):Qe?xe.createElement(wi,{apiProvider:Qe.apiProvider,provider:Qe.provider}):xe.createElement($C,null)),xe.createElement(Ld,{size:"sm",fw:500,c:le?"blue":"teal"},Oe),xe.createElement(Ld,{size:"sm",c:"dimmed"},oe)),xe.createElement(Ms,{p:"0"},Y&&xe.createElement(Bo,{status:Y}),W&&Y!=="reasoning"&&xe.createElement(Ld,{size:"sm",c:"dimmed"},W))),xe.createElement(Ls,{className:["katechat-message-content",k?"streaming":""].join(" ")},xe.createElement(xi,{status:Y,content:R,statusInfo:W,streaming:k}),I?I.map((mt,ct)=>xe.createElement("div",{key:ct,dangerouslySetInnerHTML:{__html:mt}})):xe.createElement("div",null,R),xe.createElement(Ls,{className:"katechat-message-footer"},xe.createElement(Fo,{messageId:E,messageIndex:n}),_e&&xe.createElement(ws,{messageId:E,messageIndex:n}),Ce),_e&&xe.createElement(Ls,{className:"katechat-message-content-details"},_e)))},[p,Oe,oe,R,I,E,h,C,d,n,Q,_e,k,ae.language]),[Le,ke]=xe.useState(0),[He,Je]=xe.useState("idle"),[qe,lt]=xe.useState(!1);qC(()=>{if(!U||U.length===0)return;let Ce=U.findIndex(Qe=>Qe.streaming);Ce>=0&&ke(Ce)},[U]);let Ot=mr(()=>!U||U.length===0?[]:U.map(Ce=>xe.createElement(Pd,{key:Ce.id,message:Ce,parentIndex:n,index:Le,models:d,plugins:s?.(Ce),messageDetailsLoader:l})),[U,d,n,ae.language]),xt=mr(()=>{if(!U||U.length===0)return null;let Ce=U.length,Qe=Pe=>{Pe.stopPropagation(),!qe&&(lt(!0),Je("exit-right"),setTimeout(()=>{ke(Ae=>(Ae-1+Ce)%Ce),Je("enter-left"),setTimeout(()=>{Je("idle"),lt(!1)},Di)},Di))},mt=Pe=>{Pe.stopPropagation(),!qe&&(lt(!0),Je("exit-left"),setTimeout(()=>{ke(Ae=>(Ae+1)%Ce),Je("enter-right"),setTimeout(()=>{Je("idle"),lt(!1)},Di)},Di))},ct=Ot[Le];return xe.createElement("div",{className:"katechat-message-carousel"},xe.createElement("div",{className:"message-carousel-header"},xe.createElement("div",{className:"message-carousel-controls"},Ce>1&&xe.createElement(xe.Fragment,null,xe.createElement(QC,{onClick:Qe,"aria-label":"Previous",radius:"xl",variant:"light"},xe.createElement(R3,null)),xe.createElement(QC,{onClick:mt,"aria-label":"Next",radius:"xl",variant:"light"},xe.createElement(I3,null))))),xe.createElement("div",{className:`carousel-message-content animation-${He}`},ct),Ce>1&&xe.createElement(Ms,{className:"carousel-model-icons"},U.map((Pe,Ae)=>{let Ct=d?.find(pt=>pt.modelId===Pe.modelId),Ee=Ae===Le;return xe.createElement(v3,{key:Pe.id,label:Ct?.name||ie("AI"),position:"top"},xe.createElement(Ls,{key:Pe.id,c:Ee?void 0:"dimmed",onClick:()=>ke(Ae)},Ct?xe.createElement(wi,{apiProvider:Ct.apiProvider,provider:Ct.provider,size:20}):xe.createElement($C,{size:20})))})))},[Ot,ae.language,Le,He,qe]);return xt?xe.createElement("div",{id:`message-${t.id}`,"data-message-id":t.id,className:["katechat-message",`katechat-message__${p||""}`].join(" "),ref:G},xe.createElement("div",{className:"katechat-message-linked-toggle"},xe.createElement(C3,{checked:J,onChange:Ce=>V(Ce.currentTarget.checked),label:ie(J?"Main":"Others"),size:"sm"})),xe.createElement("div",{className:["katechat-message-main",J?"":"hidden"].join(" ")},Te),xe.createElement("div",{className:["katechat-message-linked",J?"hidden":""].join(" ")},xt)):xe.createElement("div",{id:`message-${t.id}`,"data-message-id":t.id,className:["katechat-message",`katechat-message__${p||""}`].join(" "),ref:G},xe.createElement("div",{className:"katechat-message-main"},Te))});kd.displayName="ChatMessage";import Mi from"react";import{ScrollArea as y3}from"@mantine/core";var AU=({html:e,text:t})=>Mi.createElement(y3,{type:"hover",offsetScrollbars:!0,className:["katechat-message-content","katechat-message-preview"].join(" ")},t?Mi.createElement(Mi.Fragment,null,e?e.map((n,a)=>Mi.createElement("div",{key:a,dangerouslySetInnerHTML:{__html:n}})):Mi.createElement("div",null,t)):"...");import Bt,{useMemo as ZC}from"react";import{Text as JC,Group as jC,Avatar as P3,Box as ev}from"@mantine/core";import{IconRobot as B3}from"@tabler/icons-react";import pr from"react";import{IconBrandOpenai as O3,IconBrandAws as KC,IconBrandYandex as x3,IconMessageChatbot as D3,IconAi as w3,IconBrandMeta as M3,IconBrandMedium as L3,IconBrandGoogle as k3}from"@tabler/icons-react";var wi=({apiProvider:e,provider:t,size:n=24})=>{switch(e){case"OPEN_AI":return pr.createElement(O3,{size:n});case"AWS_BEDROCK":switch(t?.toLowerCase()){case"amazon":return pr.createElement(KC,{size:n});case"anthropic":return pr.createElement(w3,{size:n});case"mistral ai":return pr.createElement(L3,{size:n});case"meta":return pr.createElement(M3,{size:n});default:return pr.createElement(KC,{size:n})}case"YANDEX_FM":return pr.createElement(x3,{size:n});case"GOOGLE_VERTEX_AI":return pr.createElement(k3,{size:n});default:return pr.createElement(D3,{size:n})}};var Pd=({message:e,parentIndex:t,index:n,plugins:a,models:o,messageDetailsLoader:s})=>{let l=ZC(()=>o?.find(u=>u.modelId===e.modelId),[o,e.modelId]),d=ZC(()=>s?.(e)||null,[s,e]);return Bt.createElement(ev,{key:e.id,"data-linked-message-id":e.id},Bt.createElement(jC,{align:"center",pt:"sm"},Bt.createElement(P3,{radius:"xl",size:"md"},l?Bt.createElement(wi,{apiProvider:l.apiProvider,provider:l.provider}):Bt.createElement(B3,null)),Bt.createElement(jC,{gap:"xs"},Bt.createElement(JC,{size:"sm",fw:500,c:"teal"},e.modelName),e.status&&Bt.createElement(Bo,{status:e.status}),e.statusInfo&&e.status!=="reasoning"&&Bt.createElement(JC,{size:"xs",c:"dimmed"},e.statusInfo))),Bt.createElement("div",{className:"katechat-message-content"},Bt.createElement(xi,{status:e.status,content:e.content,statusInfo:e.statusInfo,streaming:e.streaming||!1}),e.html?e.html.map((u,p)=>Bt.createElement("div",{key:p,dangerouslySetInnerHTML:{__html:u}})):Bt.createElement("div",null,e.content),Bt.createElement("div",{className:"katechat-message-footer"},Bt.createElement(Fo,{messageId:e.id,messageIndex:t,linkedMessageIndex:n}),d&&Bt.createElement(ws,{messageId:e.id,messageIndex:n,linkedMessageIndex:n}),a),d&&Bt.createElement(ev,{className:"katechat-message-content-details"},d)))};Pd.displayName="LinkedChatMessage";import rt,{forwardRef as X3,useCallback as Ud,useEffect as rv,useImperativeHandle as K3,useMemo as Z3,useRef as J3,useState as Bs}from"react";import{Text as Gd,Textarea as j3,Button as av,Group as iv,ActionIcon as ov,Stack as eP,Tooltip as tP,Menu as Yd}from"@mantine/core";import{IconCirclePlus as nP,IconPlayerStopFilled as rP,IconSend as aP,IconX as iP}from"@tabler/icons-react";import{notifications as ka}from"@mantine/notifications";import gr,{useState as F3,useCallback as ks,useRef as tv,useEffect as U3}from"react";import{Group as G3,Tooltip as Y3,Box as nv,ActionIcon as z3}from"@mantine/core";import{IconFileUpload as H3}from"@tabler/icons-react";import{useTranslation as W3}from"react-i18next";var Li={dropzone:"_dropzone_16zca_1",dragging:"_dragging_16zca_8",disabled:"_disabled_16zca_12"};var V3=["image/jpeg","image/png","image/webp"],Bd=({onFilesAdd:e,disabled:t,uploadFormats:n=V3})=>{let[a,o]=F3(!1),s=tv(null),l=tv(null),{t:d}=W3();U3(()=>{let R=I=>{if(!t&&I.clipboardData&&I.clipboardData.items){let A=Array.from(I.clipboardData.items).map(M=>M.getAsFile()).filter(yi);A.length>0&&(I.preventDefault(),I.stopPropagation(),e(A))}};return document.addEventListener("paste",R),()=>{document.removeEventListener("paste",R)}},[e,t]);let u=ks(R=>{R.preventDefault(),R.stopPropagation(),o(!0)},[]),p=ks(R=>{R.preventDefault(),R.stopPropagation(),o(!1)},[]),E=ks(R=>{if(R.preventDefault(),R.stopPropagation(),o(!1),t)return;let I=R.dataTransfer.files&&R.dataTransfer.files.length>0?Array.from(R.dataTransfer.files).filter(A=>A.size>0):[];e(I)},[e]),h=ks(R=>{if(R.target.files&&R.target.files.length>0){let I=Array.from(R.target.files).filter(A=>A.size>0);I.length&&e(I),l.current&&(l.current.value="")}},[e]),C=()=>{t||l.current?.click()};return gr.createElement(gr.Fragment,null,gr.createElement(nv,{ref:s,className:`drop-zone ${Li.dropzone} ${a?Li.dragging:""} ${t?Li.disabled:""}`,onDragOver:u,onDragLeave:p,onDrop:E,onClick:C},gr.createElement(G3,{justify:"start",className:"drop-zone-control",gap:"xs"},gr.createElement(Y3,{label:d("Click or drop an image/document here to upload"),position:"top"},gr.createElement(z3,{variant:"default",size:"lg"},gr.createElement(H3,{size:"24"}))),gr.createElement(nv,{hiddenFrom:"xs",pe:"sm"},d("Upload File")),gr.createElement("input",{ref:l,type:"file",multiple:!0,accept:n?.join(","),onChange:h,className:Li.fileInput,style:{display:"none"},disabled:t}))))};import Ps from"react";import{Text as q3}from"@mantine/core";import{IconFileUpload as Q3}from"@tabler/icons-react";var Fd={overlay:"_overlay_vjudp_1",content:"_content_vjudp_16"};import{useTranslation as $3}from"react-i18next";var S9=({visible:e,message:t,onDragOver:n,onDragLeave:a,onDrop:o})=>{let{t:s}=$3();return e?Ps.createElement("div",{className:Fd.overlay,onDragOver:n,onDragLeave:a,onDrop:o},Ps.createElement("div",{className:Fd.content},Ps.createElement(Q3,{size:48,color:"var(--mantine-color-blue-4)"}),Ps.createElement(q3,{size:"lg",fw:500,c:"blue.4"},t||s("Drop files here to upload")))):null};import{useTranslation as oP}from"react-i18next";var zt={chatControlsContainer:"_chatControlsContainer_sg9gr_1",chatInputContainer:"_chatInputContainer_sg9gr_4",chatInputGroup:"_chatInputGroup_sg9gr_7",chatInput:"_chatInput_sg9gr_4",hidden:"_hidden_sg9gr_22",promptMode:"_promptMode_sg9gr_34",promptModeText:"_promptModeText_sg9gr_41",promptFadeInUp:"_promptFadeInUp_sg9gr_1",promptShimmer:"_promptShimmer_sg9gr_1",headerRow:"_headerRow_sg9gr_71",documentsInput:"_documentsInput_sg9gr_89",columned:"_columned_sg9gr_95",imagesList:"_imagesList_sg9gr_103",previewImage:"_previewImage_sg9gr_108",removeButton:"_removeButton_sg9gr_120"};var k9=X3(({loadCompleted:e=!1,disabled:t=!1,promptMode:n=!1,promptText:a,uploadAllowed:o=!0,streaming:s,setSending:l,previousMessages:d=[],header:u,inputPlugins:p,uploadFormats:E,maxUploadFileSize:h=64*1024*1024,maxImagesCount:C=0,onSendMessage:R,onStopRequest:I,onDocumentsUpload:A},M)=>{let[k,U]=Bs([]),[Y,W]=Bs(""),[G,Q]=Bs(0),[J,V]=Bs(!1),ie=J3(null),{t:ae}=oP();K3(M,()=>({handleAddFiles:$=>fe($)})),rv(()=>{ie.current?.focus()},[e,t]),rv(()=>{Q(d?.length?d.length:0)},[e,d]);let oe=async()=>{if(!(!Y?.trim()&&!k.length)){l(!0);try{W(""),U([]),await R(Y,k)}catch($){ka.show({title:"Error",message:$ instanceof Error?$.message:ae("Failed to send message"),color:"red"})}finally{l(!1)}}},le=Ud($=>{let Z=!Y?.trim();if($.key==="Enter"&&!$.shiftKey&&!$.altKey)$.preventDefault(),oe(),V(!1);else if($.key==="ArrowUp"&&(Z||J)){let te=Math.max(0,G-1);W(d[te]),Q(te),V(!0)}else if($.key==="ArrowDown"&&(Z||J)){let te=Math.min(d.length-1,G+1);W(d[te]),Q(te),V(!0)}else V(!1)},[oe,Y,d,G,J]),Oe=Ud($=>{W($.currentTarget.value)},[]),Se=Z3(()=>t||s||!Y?.trim()&&!k.length,[Y,k,s,t]),fe=Ud($=>{let Z=$.filter(_e=>_e.size<h);Z.length<$.length&&ka.show({title:ae("Warning"),message:ae("Some files are too large and were not added (max size: {{size}} MB)",{size:h/(1024*1024)}),color:"yellow"});let te=Z.filter(_e=>_e.type?.startsWith("image/")),pe=Z.filter(_e=>!_e.type?.startsWith("image/"));te.length&&C<=0&&(ka.show({title:ae("Warning"),message:ae("Image uploads are not allowed in this chat."),color:"yellow"}),te=[]),te.length+k.length>C&&(ka.show({title:ae("Warning"),message:ae("You can only add up to {{count}} images at a time",{count:C}),color:"yellow"}),te=te.slice(0,C-k.length)),te.length&&Promise.all(te.map(_e=>new Promise((Te,Le)=>{let ke=new FileReader;ke.onload=He=>{if(He.target?.result){let Je=He.target.result,qe=new Image;qe.src=Je,qe.onload=()=>Te({fileName:_e.name,mimeType:_e.type,bytesBase64:Je,width:qe.width,height:qe.height}),qe.onerror=lt=>Le(lt)}else Le(new Error(ae("Failed to read file: {{fileName}}",{fileName:_e.name})))},ke.onerror=He=>{Le(new Error(ae("Failed to read file: {{fileName}}, error: {{error}}",{fileName:_e.name,error:He})))},ke.readAsDataURL(_e)}))).then(_e=>{U(Te=>[...Te,..._e])}).catch(_e=>{ka.show({title:ae("Error"),message:_e.message||ae("Failed to read image files"),color:"red"})}),pe.length&&A?A(pe):pe.length&&ka.show({title:ae("Warning"),message:ae("Document upload is not available in this chat."),color:"orange"})},[k,A,C,h]),z=$=>Z=>{Z.stopPropagation(),U(te=>te.filter(pe=>pe.fileName!==$))};return rt.createElement("div",{className:[zt.chatControlsContainer,n?zt.promptMode:"",e?"":zt.hidden].join(" ")},n?rt.createElement(eP,{align:"center",justify:"center",gap:"md",mb:"lg"},rt.createElement(Gd,{c:"dimmed",size:"lg",ta:"center",className:zt.promptModeText},a||ae("Start the conversation by sending a message"))):null,rt.createElement("div",{className:zt.chatControls},u&&rt.createElement(iv,{align:"center",gap:"xs",className:zt.headerRow},u),rt.createElement("div",{className:[zt.chatInputContainer,k.length?zt.columned:""].join(" ")},o&&rt.createElement("div",{className:zt.documentsInput},rt.createElement(iv,{visibleFrom:"xs",gap:"xs"},rt.createElement(Bd,{onFilesAdd:fe,uploadFormats:E}),p),k?.length>0&&rt.createElement("div",{className:zt.imagesList},k.map(($,Z)=>rt.createElement("div",{key:$.fileName,className:zt.previewImage},rt.createElement("img",{src:$.bytesBase64,alt:$.fileName}),rt.createElement(ov,{className:zt.removeButton,color:"red.9",size:"xs",onClick:z($.fileName)},rt.createElement(iP,{size:16})))))),rt.createElement("div",{className:zt.chatInputGroup},o&&rt.createElement(Yd,{shadow:"md",width:"content"},rt.createElement(Yd.Target,null,rt.createElement(ov,{size:"lg",variant:"subtle",hiddenFrom:"xs"},rt.createElement(tP,{label:ae("More..."),position:"right",withArrow:!0},rt.createElement(nP,{size:"24"})))),rt.createElement(Yd.Dropdown,null,rt.createElement(Bd,{onFilesAdd:fe,uploadFormats:E}),p)),rt.createElement(j3,{ref:ie,className:zt.chatInput,placeholder:ae("Type your message..."),value:Y||"",autosize:!0,minRows:1,maxRows:7,onChange:Oe,onKeyDown:le,disabled:t}),I&&s?rt.createElement(av,{onClick:I,disabled:t},rt.createElement(rP,{size:24})," ",rt.createElement(Gd,{visibleFrom:"md"},ae("Stop"))):rt.createElement(av,{onClick:oe,disabled:Se,className:I&&s?zt.hidden:"",radius:"md"},rt.createElement(aP,{size:24})," ",rt.createElement(Gd,{visibleFrom:"md",ml:"xs"},ae("Send")))))))});import Er,{useCallback as ki,useRef as vP,useState as Wd}from"react";import{Stack as RP}from"@mantine/core";import{notifications as Vd}from"@mantine/notifications";import{useTranslation as IP}from"react-i18next";import En,{useEffect as pP,useCallback as pv}from"react";import{Image as gP,Text as Fs,Group as gv,Stack as EP,ActionIcon as SP,Tooltip as fP,Drawer as hP}from"@mantine/core";import{useDisclosure as bP}from"@mantine/hooks";import{IconExternalLink as TP}from"@tabler/icons-react";var _v=cc(uc(),1);import uv from"i18next";import{initReactI18next as uP}from"react-i18next";import _P from"i18next-browser-languagedetector";var sv={AI:"AI","Are you sure you want to delete this item? This action cannot be undone.":"Are you sure you want to delete this item? This action cannot be undone.",Cancel:"Cancel",Cancelled:"Cancelled","Click or drop an image/document here to upload":"Click or drop an image/document here to upload","Code block is empty":"Code block is empty","Code Interpreter":"Code Interpreter",Completed:"Completed","Confirm Deletion":"Confirm Deletion",Copy:"Copy","Copy CSV":"Copy CSV","Copy message":"Copy message",Delete:"Delete",Details:"Details","Document upload is not available in this chat.":"Document upload is not available in this chat.",Download:"Download","Download CSV":"Download CSV","Drop files here to upload":"Drop files here to upload",Error:"Error","Failed to copy message":"Failed to copy message","Failed to read file: {{fileName}}":"Failed to read file: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"Failed to read file: {{fileName}}, error: {{error}}","Failed to read image files":"Failed to read image files","Failed to send message":"Failed to send message","Image Preview":"Image Preview","Image uploads are not allowed in this chat.":"Image uploads are not allowed in this chat.","In Progress":"In Progress",language:{de:"Deutsch",en:"English",label:"Language",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"Language is not specified for this code block",Main:"Main","More...":"More...","Open image source":"Open image source",Others:"Others","RAG Search":"RAG Search",Reasoning:"Reasoning",Send:"Send","Some files are too large and were not added (max size: {{size}} MB)":"Some files are too large and were not added (max size: {{size}} MB)",source:"source","Start the conversation by sending a message":"Start the conversation by sending a message",Started:"Started",Stop:"Stop","Tool Call":"Tool Call","Tool Call Completed":"Tool Call Completed","Type your message...":"Type your message...","Upload File":"Upload File",Warning:"Warning","Web Search":"Web Search",You:"You","You can only add up to {{count}} images at a time":"You can only add up to {{count}} images at a time"};var lv={AI:"KI","Are you sure you want to delete this item? This action cannot be undone.":"M\xF6chten Sie dieses Element wirklich l\xF6schen? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.",Cancel:"Abbrechen",Cancelled:"Abgebrochen","Click or drop an image/document here to upload":"Klicken oder Bild/Dokument hierher ziehen zum Hochladen","Code block is empty":"Codeblock ist leer","Code Interpreter":"Code-Interpreter",Completed:"Abgeschlossen","Confirm Deletion":"L\xF6schen best\xE4tigen",Copy:"Kopieren","Copy CSV":"CSV kopieren","Copy message":"Nachricht kopieren",Delete:"L\xF6schen",Details:"Details","Document upload is not available in this chat.":"Dokumenten-Upload ist in diesem Chat nicht verf\xFCgbar.",Download:"Herunterladen","Download CSV":"CSV herunterladen","Drop files here to upload":"Dateien zum Hochladen hier ablegen",Error:"Fehler","Failed to copy message":"Nachricht konnte nicht kopiert werden","Failed to read file: {{fileName}}":"Datei konnte nicht gelesen werden: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"Datei konnte nicht gelesen werden: {{fileName}}, Fehler: {{error}}","Failed to read image files":"Bilddateien konnten nicht gelesen werden","Failed to send message":"Nachricht konnte nicht gesendet werden","Image Preview":"Bildvorschau","Image uploads are not allowed in this chat.":"Bild-Uploads sind in diesem Chat nicht erlaubt.","In Progress":"In Bearbeitung",language:{de:"Deutsch",en:"English",label:"Sprache",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"F\xFCr diesen Codeblock ist keine Sprache angegeben",Main:"Haupt","More...":"Mehr...","Open image source":"Bildquelle \xF6ffnen",Others:"Andere","RAG Search":"RAG-Suche",Reasoning:"Argumentation",Send:"Senden","Some files are too large and were not added (max size: {{size}} MB)":"Einige Dateien sind zu gro\xDF und wurden nicht hinzugef\xFCgt (max. Gr\xF6\xDFe: {{size}} MB)",source:"Quelle","Start the conversation by sending a message":"Beginnen Sie das Gespr\xE4ch, indem Sie eine Nachricht senden",Started:"Gestartet",Stop:"Stopp","Tool Call":"Tool-Aufruf","Tool Call Completed":"Tool-Aufruf abgeschlossen","Type your message...":"Nachricht eingeben...","Upload File":"Datei hochladen",Warning:"Warnung","Web Search":"Websuche",You:"Sie","You can only add up to {{count}} images at a time":"Sie k\xF6nnen nur bis zu {{count}} Bilder gleichzeitig hinzuf\xFCgen"};var cv={AI:"\u0418\u0418","Are you sure you want to delete this item? This action cannot be undone.":"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u044D\u043B\u0435\u043C\u0435\u043D\u0442? \u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043B\u044C\u0437\u044F \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C.",Cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",Cancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E","Click or drop an image/document here to upload":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435/\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438","Code block is empty":"\u0411\u043B\u043E\u043A \u043A\u043E\u0434\u0430 \u043F\u0443\u0441\u0442","Code Interpreter":"\u0418\u043D\u0442\u0435\u0440\u043F\u0440\u0435\u0442\u0430\u0442\u043E\u0440 \u043A\u043E\u0434\u0430",Completed:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E","Confirm Deletion":"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435",Copy:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C","Copy CSV":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C CSV","Copy message":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",Delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",Details:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438","Document upload is not available in this chat.":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435.",Download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C","Download CSV":"\u0421\u043A\u0430\u0447\u0430\u0442\u044C CSV","Drop files here to upload":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",Error:"\u041E\u0448\u0438\u0431\u043A\u0430","Failed to copy message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","Failed to read file: {{fileName}}":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B: {{fileName}}, \u043E\u0448\u0438\u0431\u043A\u0430: {{error}}","Failed to read image files":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439","Failed to send message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","Image Preview":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","Image uploads are not allowed in this chat.":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435 \u0437\u0430\u043F\u0440\u0435\u0449\u0435\u043D\u0430.","In Progress":"\u0412 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435",language:{de:"Deutsch",en:"English",label:"\u042F\u0437\u044B\u043A",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"\u042F\u0437\u044B\u043A \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430 \u043A\u043E\u0434\u0430",Main:"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439","More...":"\u0415\u0449\u0451...","Open image source":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",Others:"\u0414\u0440\u0443\u0433\u0438\u0435","RAG Search":"RAG-\u043F\u043E\u0438\u0441\u043A",Reasoning:"\u0420\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0435",Send:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","Some files are too large and were not added (max size: {{size}} MB)":"\u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u0438\u0435 \u0438 \u043D\u0435 \u0431\u044B\u043B\u0438 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B (\u043C\u0430\u043A\u0441. \u0440\u0430\u0437\u043C\u0435\u0440: {{size}} \u041C\u0411)",source:"\u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A","Start the conversation by sending a message":"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0434\u0438\u0430\u043B\u043E\u0433, \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0432 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",Started:"\u041D\u0430\u0447\u0430\u0442\u043E",Stop:"\u0421\u0442\u043E\u043F","Tool Call":"\u0412\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430","Tool Call Completed":"\u0412\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D","Type your message...":"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435...","Upload File":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u0430\u0439\u043B",Warning:"\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435","Web Search":"\u0412\u0435\u0431-\u043F\u043E\u0438\u0441\u043A",You:"\u0412\u044B","You can only add up to {{count}} images at a time":"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 {{count}} \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0437\u0430 \u0440\u0430\u0437"};var dv={AI:"AI","Are you sure you want to delete this item? This action cannot be undone.":"\u60A8\u786E\u5B9A\u8981\u5220\u9664\u6B64\u9879\u5417\uFF1F\u6B64\u64CD\u4F5C\u65E0\u6CD5\u64A4\u6D88\u3002",Cancel:"\u53D6\u6D88",Cancelled:"\u5DF2\u53D6\u6D88","Click or drop an image/document here to upload":"\u70B9\u51FB\u6216\u62D6\u653E\u56FE\u7247/\u6587\u6863\u5230\u6B64\u5904\u4E0A\u4F20","Code block is empty":"\u4EE3\u7801\u5757\u4E3A\u7A7A","Code Interpreter":"\u4EE3\u7801\u89E3\u91CA\u5668",Completed:"\u5DF2\u5B8C\u6210","Confirm Deletion":"\u786E\u8BA4\u5220\u9664",Copy:"\u590D\u5236","Copy CSV":"\u590D\u5236 CSV","Copy message":"\u590D\u5236\u6D88\u606F",Delete:"\u5220\u9664",Details:"\u8BE6\u60C5","Document upload is not available in this chat.":"\u6B64\u804A\u5929\u4E0D\u652F\u6301\u6587\u6863\u4E0A\u4F20\u3002",Download:"\u4E0B\u8F7D","Download CSV":"\u4E0B\u8F7D CSV","Drop files here to upload":"\u5C06\u6587\u4EF6\u62D6\u653E\u5230\u6B64\u5904\u4E0A\u4F20",Error:"\u9519\u8BEF","Failed to copy message":"\u590D\u5236\u6D88\u606F\u5931\u8D25","Failed to read file: {{fileName}}":"\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF1A{{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF1A{{fileName}}\uFF0C\u9519\u8BEF\uFF1A{{error}}","Failed to read image files":"\u8BFB\u53D6\u56FE\u7247\u6587\u4EF6\u5931\u8D25","Failed to send message":"\u53D1\u9001\u6D88\u606F\u5931\u8D25","Image Preview":"\u56FE\u7247\u9884\u89C8","Image uploads are not allowed in this chat.":"\u6B64\u804A\u5929\u4E0D\u5141\u8BB8\u4E0A\u4F20\u56FE\u7247\u3002","In Progress":"\u8FDB\u884C\u4E2D",language:{de:"Deutsch",en:"English",label:"\u8BED\u8A00",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"\u6B64\u4EE3\u7801\u5757\u672A\u6307\u5B9A\u8BED\u8A00",Main:"\u4E3B\u8981","More...":"\u66F4\u591A...","Open image source":"\u6253\u5F00\u56FE\u7247\u6765\u6E90",Others:"\u5176\u4ED6","RAG Search":"RAG \u641C\u7D22",Reasoning:"\u63A8\u7406",Send:"\u53D1\u9001","Some files are too large and were not added (max size: {{size}} MB)":"\u90E8\u5206\u6587\u4EF6\u8FC7\u5927\uFF0C\u672A\u88AB\u6DFB\u52A0\uFF08\u6700\u5927\uFF1A{{size}} MB\uFF09",source:"\u6765\u6E90","Start the conversation by sending a message":"\u53D1\u9001\u6D88\u606F\u5F00\u59CB\u5BF9\u8BDD",Started:"\u5DF2\u5F00\u59CB",Stop:"\u505C\u6B62","Tool Call":"\u5DE5\u5177\u8C03\u7528","Tool Call Completed":"\u5DE5\u5177\u8C03\u7528\u5B8C\u6210","Type your message...":"\u8F93\u5165\u6D88\u606F...","Upload File":"\u4E0A\u4F20\u6587\u4EF6",Warning:"\u8B66\u544A","Web Search":"\u7F51\u7EDC\u641C\u7D22",You:"\u4F60","You can only add up to {{count}} images at a time":"\u4E00\u6B21\u6700\u591A\u53EA\u80FD\u6DFB\u52A0 {{count}} \u5F20\u56FE\u7247"};var zd=["en","de","ru","zh"],Hd="ui-language";function mP(e={}){return(0,_v.merge)({en:{translation:sv},de:{translation:lv},ru:{translation:cv},zh:{translation:dv}},e)}async function Z9({lookupLocalStorage:e=Hd,supportedLngs:t=zd,fallbackLng:n="en",resources:a={}}={}){return uv.use(_P).use(uP).init({resources:mP(a),fallbackLng:n,supportedLngs:t,interpolation:{escapeValue:!1},detection:{order:["localStorage","navigator","htmlTag"],lookupLocalStorage:e,caches:["localStorage"]}})}function mv(e){return(typeof e=="string"?new Date(e):e).toLocaleDateString(uv.language||"ru-RU",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}import{useTranslation as CP}from"react-i18next";var Ev=({fileName:e,fileUrl:t,mimeType:n,createdAt:a,onOpenSource:o,sourceTitle:s,onClose:l})=>{let[d,{open:u,close:p}]=bP(!1);pP(()=>{t&&u()},[t,u]);let E=pv(()=>{l(),p()},[l,p]),h=pv(()=>{o?.(),E()},[o,E]),{t:C}=CP();return En.createElement(hP,{size:"xl",opened:d,onClose:E,title:C("Image Preview")},t&&En.createElement(EP,{gap:"md"},En.createElement(gP,{src:t,alt:e,fit:"contain",mah:"70vh"}),En.createElement(gv,{justify:"space-between"},En.createElement("div",null,En.createElement(Fs,{size:"sm",fw:500},e),En.createElement(Fs,{size:"xs",c:"dimmed"},a?mv(a)+" \u2022":""," ",n)),o&&En.createElement(gv,{gap:"xs"},En.createElement(fP,{label:C("Open image source")},En.createElement(SP,{variant:"light",onClick:h},En.createElement(TP,{size:16}))))),o&&En.createElement(Fs,{size:"sm",c:"dimmed"},"From:"," ",En.createElement(Fs,{span:!0,c:"blue",style:{cursor:"pointer"},onClick:h},s||C("source")))))};var Sv=e=>[...Array.from(e.tHead?.querySelectorAll("tr")??[]),...Array.from(e.tBodies[0]?.querySelectorAll("tr")??[])].map(n=>Array.from(n.querySelectorAll("th, td")).map(a=>`"${(a.textContent||"").replace(/"/g,'""')}"`).join(",")).join(`
450
+ </div>`:"";Qe.innerHTML=Se.replaceAll("<LANG>",ct).replace("<EXECUTE_BTN>",Ct).replace("<DOWNLOAD_TITLE>",fe).replace("<COPY_TITLE>",z),Pe.appendChild(Qe),Ce.parentNode?.insertBefore(Pe,Ce),Pe.appendChild(Ce)}}),G.current.querySelectorAll("img").forEach(Ce=>{if(!Ce?.classList?.contains("message-image")){Ce.classList.add("message-image");let Qe=Ce.src.split("/").pop()||"";Ce.setAttribute("data-file-name",Qe)}}),G.current.querySelectorAll("table").forEach(Ce=>{if(!Ce?.classList?.contains("message-table")){if(Ce.classList.add("message-table"),!Ce.tFoot){let ct=document.createElement("tfoot");Ce.appendChild(ct);let Pe=document.createElement("tr");Pe.className="table-controls-row",ct.appendChild(Pe);let Ae=document.createElement("th");Ae.classList.add("table-controls"),Ae.colSpan=Ce.querySelectorAll("th").length||1,Pe.appendChild(Ae)}let Qe=Ce.querySelector("tfoot tr .table-controls");Qe.innerHTML=te.replace("<COPY_CSV_TITLE>",$).replace("<DOWNLOAD_CSV_TITLE>",Z);let mt=0;Ce.querySelectorAll("th").forEach(ct=>{ct.classList.contains("table-controls")||(ct.classList.add("table-sort-btn"),ct.setAttribute("data-col-index",String(mt++)))})}}))},Di+10),[fe,z,$,Z,u]);qC(()=>{if(!k&&G.current){let Ce=new MutationObserver(pe);return Ce.observe(G.current,{childList:!0,subtree:!0}),pe(),()=>Ce.disconnect()}},[p,k,pe]);let _e=mr(()=>l?l(t):null,[l,t]),Te=mr(()=>{let Ce=s?s(t,{isLast:a}):null,Qe=d?.find(mt=>mt.modelId===t?.modelId);return xe.createElement(xe.Fragment,null,xe.createElement(Ms,{align:"center",p:"0"},xe.createElement(Ms,{gap:"sm",wrap:"nowrap",p:"0"},xe.createElement(T3,{color:"gray",radius:"xl",size:"md",src:le?t?.user?.avatarUrl:void 0},le?xe.createElement(A3,null):Qe?xe.createElement(wi,{apiProvider:Qe.apiProvider,provider:Qe.provider}):xe.createElement($C,null)),xe.createElement(Ld,{size:"sm",fw:500,c:le?"blue":"teal"},Oe),xe.createElement(Ld,{size:"sm",c:"dimmed"},oe)),xe.createElement(Ms,{p:"0"},Y&&xe.createElement(Bo,{status:Y}),W&&Y!=="reasoning"&&xe.createElement(Ld,{size:"sm",c:"dimmed"},W))),xe.createElement(Ls,{className:["katechat-message-content",k?"streaming":""].join(" ")},xe.createElement(xi,{status:Y,content:R,statusInfo:W,streaming:k}),I?I.map((mt,ct)=>xe.createElement("div",{key:ct,dangerouslySetInnerHTML:{__html:mt}})):xe.createElement("div",null,R),xe.createElement(Ls,{className:"katechat-message-footer"},xe.createElement(Fo,{messageId:E,messageIndex:n}),_e&&xe.createElement(ws,{messageId:E,messageIndex:n}),Ce),_e&&xe.createElement(Ls,{className:"katechat-message-content-details"},_e)))},[p,Oe,oe,R,I,E,h,C,d,n,Q,_e,k,ae.language]),[Le,ke]=xe.useState(0),[He,Je]=xe.useState("idle"),[qe,lt]=xe.useState(!1);qC(()=>{if(!U||U.length===0)return;let Ce=U.findIndex(Qe=>Qe.streaming);Ce>=0&&ke(Ce)},[U]);let Ot=mr(()=>!U||U.length===0?[]:U.map(Ce=>xe.createElement(Pd,{key:Ce.id,message:Ce,parentIndex:n,index:Le,models:d,plugins:s?.(Ce),messageDetailsLoader:l})),[U,d,n,ae.language]),xt=mr(()=>{if(!U||U.length===0)return null;let Ce=U.length,Qe=Pe=>{Pe.stopPropagation(),!qe&&(lt(!0),Je("exit-right"),setTimeout(()=>{ke(Ae=>(Ae-1+Ce)%Ce),Je("enter-left"),setTimeout(()=>{Je("idle"),lt(!1)},Di)},Di))},mt=Pe=>{Pe.stopPropagation(),!qe&&(lt(!0),Je("exit-left"),setTimeout(()=>{ke(Ae=>(Ae+1)%Ce),Je("enter-right"),setTimeout(()=>{Je("idle"),lt(!1)},Di)},Di))},ct=Ot[Le];return xe.createElement("div",{className:"katechat-message-carousel"},xe.createElement("div",{className:"message-carousel-header"},xe.createElement("div",{className:"message-carousel-controls"},Ce>1&&xe.createElement(xe.Fragment,null,xe.createElement(QC,{onClick:Qe,"aria-label":"Previous",radius:"xl",variant:"light"},xe.createElement(R3,null)),xe.createElement(QC,{onClick:mt,"aria-label":"Next",radius:"xl",variant:"light"},xe.createElement(I3,null))))),xe.createElement("div",{className:`carousel-message-content animation-${He}`},ct),Ce>1&&xe.createElement(Ms,{className:"carousel-model-icons"},U.map((Pe,Ae)=>{let Ct=d?.find(pt=>pt.modelId===Pe.modelId),Ee=Ae===Le;return xe.createElement(v3,{key:Pe.id,label:Ct?.name||ie("AI"),position:"top"},xe.createElement(Ls,{key:Pe.id,c:Ee?void 0:"dimmed",onClick:()=>ke(Ae)},Ct?xe.createElement(wi,{apiProvider:Ct.apiProvider,provider:Ct.provider,size:20}):xe.createElement($C,{size:20})))})))},[Ot,ae.language,Le,He,qe]);return xt?xe.createElement("div",{id:`message-${t.id}`,"data-message-id":t.id,className:["katechat-message",`katechat-message__${p||""}`].join(" "),ref:G},xe.createElement("div",{className:"katechat-message-linked-toggle"},xe.createElement(C3,{checked:J,onChange:Ce=>V(Ce.currentTarget.checked),label:ie(J?"Main":"Others"),size:"sm"})),xe.createElement("div",{className:["katechat-message-main",J?"":"hidden"].join(" ")},Te),xe.createElement("div",{className:["katechat-message-linked",J?"hidden":""].join(" ")},xt)):xe.createElement("div",{id:`message-${t.id}`,"data-message-id":t.id,className:["katechat-message",`katechat-message__${p||""}`].join(" "),ref:G},xe.createElement("div",{className:"katechat-message-main"},Te))});kd.displayName="ChatMessage";import Mi from"react";import{ScrollArea as y3}from"@mantine/core";var AU=({html:e,text:t})=>Mi.createElement(y3,{type:"hover",offsetScrollbars:!0,className:["katechat-message-content","katechat-message-preview"].join(" ")},t?Mi.createElement(Mi.Fragment,null,e?e.map((n,a)=>Mi.createElement("div",{key:a,dangerouslySetInnerHTML:{__html:n}})):Mi.createElement("div",null,t)):"...");import Bt,{useMemo as ZC}from"react";import{Text as JC,Group as jC,Avatar as P3,Box as ev}from"@mantine/core";import{IconRobot as B3}from"@tabler/icons-react";import pr from"react";import{IconBrandOpenai as O3,IconBrandAws as KC,IconBrandYandex as x3,IconMessageChatbot as D3,IconAi as w3,IconBrandMeta as M3,IconBrandMedium as L3,IconBrandGoogle as k3}from"@tabler/icons-react";var wi=({apiProvider:e,provider:t,size:n=24})=>{switch(e){case"OPEN_AI":return pr.createElement(O3,{size:n});case"AWS_BEDROCK":switch(t?.toLowerCase()){case"amazon":return pr.createElement(KC,{size:n});case"anthropic":return pr.createElement(w3,{size:n});case"mistral ai":return pr.createElement(L3,{size:n});case"meta":return pr.createElement(M3,{size:n});default:return pr.createElement(KC,{size:n})}case"YANDEX_AI":return pr.createElement(x3,{size:n});case"GOOGLE_VERTEX_AI":return pr.createElement(k3,{size:n});default:return pr.createElement(D3,{size:n})}};var Pd=({message:e,parentIndex:t,index:n,plugins:a,models:o,messageDetailsLoader:s})=>{let l=ZC(()=>o?.find(u=>u.modelId===e.modelId),[o,e.modelId]),d=ZC(()=>s?.(e)||null,[s,e]);return Bt.createElement(ev,{key:e.id,"data-linked-message-id":e.id},Bt.createElement(jC,{align:"center",pt:"sm"},Bt.createElement(P3,{radius:"xl",size:"md"},l?Bt.createElement(wi,{apiProvider:l.apiProvider,provider:l.provider}):Bt.createElement(B3,null)),Bt.createElement(jC,{gap:"xs"},Bt.createElement(JC,{size:"sm",fw:500,c:"teal"},e.modelName),e.status&&Bt.createElement(Bo,{status:e.status}),e.statusInfo&&e.status!=="reasoning"&&Bt.createElement(JC,{size:"xs",c:"dimmed"},e.statusInfo))),Bt.createElement("div",{className:"katechat-message-content"},Bt.createElement(xi,{status:e.status,content:e.content,statusInfo:e.statusInfo,streaming:e.streaming||!1}),e.html?e.html.map((u,p)=>Bt.createElement("div",{key:p,dangerouslySetInnerHTML:{__html:u}})):Bt.createElement("div",null,e.content),Bt.createElement("div",{className:"katechat-message-footer"},Bt.createElement(Fo,{messageId:e.id,messageIndex:t,linkedMessageIndex:n}),d&&Bt.createElement(ws,{messageId:e.id,messageIndex:n,linkedMessageIndex:n}),a),d&&Bt.createElement(ev,{className:"katechat-message-content-details"},d)))};Pd.displayName="LinkedChatMessage";import rt,{forwardRef as X3,useCallback as Ud,useEffect as rv,useImperativeHandle as K3,useMemo as Z3,useRef as J3,useState as Bs}from"react";import{Text as Gd,Textarea as j3,Button as av,Group as iv,ActionIcon as ov,Stack as eP,Tooltip as tP,Menu as Yd}from"@mantine/core";import{IconCirclePlus as nP,IconPlayerStopFilled as rP,IconSend as aP,IconX as iP}from"@tabler/icons-react";import{notifications as ka}from"@mantine/notifications";import gr,{useState as F3,useCallback as ks,useRef as tv,useEffect as U3}from"react";import{Group as G3,Tooltip as Y3,Box as nv,ActionIcon as z3}from"@mantine/core";import{IconFileUpload as H3}from"@tabler/icons-react";import{useTranslation as W3}from"react-i18next";var Li={dropzone:"_dropzone_16zca_1",dragging:"_dragging_16zca_8",disabled:"_disabled_16zca_12"};var V3=["image/jpeg","image/png","image/webp"],Bd=({onFilesAdd:e,disabled:t,uploadFormats:n=V3})=>{let[a,o]=F3(!1),s=tv(null),l=tv(null),{t:d}=W3();U3(()=>{let R=I=>{if(!t&&I.clipboardData&&I.clipboardData.items){let A=Array.from(I.clipboardData.items).map(M=>M.getAsFile()).filter(yi);A.length>0&&(I.preventDefault(),I.stopPropagation(),e(A))}};return document.addEventListener("paste",R),()=>{document.removeEventListener("paste",R)}},[e,t]);let u=ks(R=>{R.preventDefault(),R.stopPropagation(),o(!0)},[]),p=ks(R=>{R.preventDefault(),R.stopPropagation(),o(!1)},[]),E=ks(R=>{if(R.preventDefault(),R.stopPropagation(),o(!1),t)return;let I=R.dataTransfer.files&&R.dataTransfer.files.length>0?Array.from(R.dataTransfer.files).filter(A=>A.size>0):[];e(I)},[e]),h=ks(R=>{if(R.target.files&&R.target.files.length>0){let I=Array.from(R.target.files).filter(A=>A.size>0);I.length&&e(I),l.current&&(l.current.value="")}},[e]),C=()=>{t||l.current?.click()};return gr.createElement(gr.Fragment,null,gr.createElement(nv,{ref:s,className:`drop-zone ${Li.dropzone} ${a?Li.dragging:""} ${t?Li.disabled:""}`,onDragOver:u,onDragLeave:p,onDrop:E,onClick:C},gr.createElement(G3,{justify:"start",className:"drop-zone-control",gap:"xs"},gr.createElement(Y3,{label:d("Click or drop an image/document here to upload"),position:"top"},gr.createElement(z3,{variant:"default",size:"lg"},gr.createElement(H3,{size:"24"}))),gr.createElement(nv,{hiddenFrom:"xs",pe:"sm"},d("Upload File")),gr.createElement("input",{ref:l,type:"file",multiple:!0,accept:n?.join(","),onChange:h,className:Li.fileInput,style:{display:"none"},disabled:t}))))};import Ps from"react";import{Text as q3}from"@mantine/core";import{IconFileUpload as Q3}from"@tabler/icons-react";var Fd={overlay:"_overlay_vjudp_1",content:"_content_vjudp_16"};import{useTranslation as $3}from"react-i18next";var S9=({visible:e,message:t,onDragOver:n,onDragLeave:a,onDrop:o})=>{let{t:s}=$3();return e?Ps.createElement("div",{className:Fd.overlay,onDragOver:n,onDragLeave:a,onDrop:o},Ps.createElement("div",{className:Fd.content},Ps.createElement(Q3,{size:48,color:"var(--mantine-color-blue-4)"}),Ps.createElement(q3,{size:"lg",fw:500,c:"blue.4"},t||s("Drop files here to upload")))):null};import{useTranslation as oP}from"react-i18next";var zt={chatControlsContainer:"_chatControlsContainer_sg9gr_1",chatInputContainer:"_chatInputContainer_sg9gr_4",chatInputGroup:"_chatInputGroup_sg9gr_7",chatInput:"_chatInput_sg9gr_4",hidden:"_hidden_sg9gr_22",promptMode:"_promptMode_sg9gr_34",promptModeText:"_promptModeText_sg9gr_41",promptFadeInUp:"_promptFadeInUp_sg9gr_1",promptShimmer:"_promptShimmer_sg9gr_1",headerRow:"_headerRow_sg9gr_71",documentsInput:"_documentsInput_sg9gr_89",columned:"_columned_sg9gr_95",imagesList:"_imagesList_sg9gr_103",previewImage:"_previewImage_sg9gr_108",removeButton:"_removeButton_sg9gr_120"};var k9=X3(({loadCompleted:e=!1,disabled:t=!1,promptMode:n=!1,promptText:a,uploadAllowed:o=!0,streaming:s,setSending:l,previousMessages:d=[],header:u,inputPlugins:p,uploadFormats:E,maxUploadFileSize:h=64*1024*1024,maxImagesCount:C=0,onSendMessage:R,onStopRequest:I,onDocumentsUpload:A},M)=>{let[k,U]=Bs([]),[Y,W]=Bs(""),[G,Q]=Bs(0),[J,V]=Bs(!1),ie=J3(null),{t:ae}=oP();K3(M,()=>({handleAddFiles:$=>fe($)})),rv(()=>{ie.current?.focus()},[e,t]),rv(()=>{Q(d?.length?d.length:0)},[e,d]);let oe=async()=>{if(!(!Y?.trim()&&!k.length)){l(!0);try{W(""),U([]),await R(Y,k)}catch($){ka.show({title:"Error",message:$ instanceof Error?$.message:ae("Failed to send message"),color:"red"})}finally{l(!1)}}},le=Ud($=>{let Z=!Y?.trim();if($.key==="Enter"&&!$.shiftKey&&!$.altKey)$.preventDefault(),oe(),V(!1);else if($.key==="ArrowUp"&&(Z||J)){let te=Math.max(0,G-1);W(d[te]),Q(te),V(!0)}else if($.key==="ArrowDown"&&(Z||J)){let te=Math.min(d.length-1,G+1);W(d[te]),Q(te),V(!0)}else V(!1)},[oe,Y,d,G,J]),Oe=Ud($=>{W($.currentTarget.value)},[]),Se=Z3(()=>t||s||!Y?.trim()&&!k.length,[Y,k,s,t]),fe=Ud($=>{let Z=$.filter(_e=>_e.size<h);Z.length<$.length&&ka.show({title:ae("Warning"),message:ae("Some files are too large and were not added (max size: {{size}} MB)",{size:h/(1024*1024)}),color:"yellow"});let te=Z.filter(_e=>_e.type?.startsWith("image/")),pe=Z.filter(_e=>!_e.type?.startsWith("image/"));te.length&&C<=0&&(ka.show({title:ae("Warning"),message:ae("Image uploads are not allowed in this chat."),color:"yellow"}),te=[]),te.length+k.length>C&&(ka.show({title:ae("Warning"),message:ae("You can only add up to {{count}} images at a time",{count:C}),color:"yellow"}),te=te.slice(0,C-k.length)),te.length&&Promise.all(te.map(_e=>new Promise((Te,Le)=>{let ke=new FileReader;ke.onload=He=>{if(He.target?.result){let Je=He.target.result,qe=new Image;qe.src=Je,qe.onload=()=>Te({fileName:_e.name,mimeType:_e.type,bytesBase64:Je,width:qe.width,height:qe.height}),qe.onerror=lt=>Le(lt)}else Le(new Error(ae("Failed to read file: {{fileName}}",{fileName:_e.name})))},ke.onerror=He=>{Le(new Error(ae("Failed to read file: {{fileName}}, error: {{error}}",{fileName:_e.name,error:He})))},ke.readAsDataURL(_e)}))).then(_e=>{U(Te=>[...Te,..._e])}).catch(_e=>{ka.show({title:ae("Error"),message:_e.message||ae("Failed to read image files"),color:"red"})}),pe.length&&A?A(pe):pe.length&&ka.show({title:ae("Warning"),message:ae("Document upload is not available in this chat."),color:"orange"})},[k,A,C,h]),z=$=>Z=>{Z.stopPropagation(),U(te=>te.filter(pe=>pe.fileName!==$))};return rt.createElement("div",{className:[zt.chatControlsContainer,n?zt.promptMode:"",e?"":zt.hidden].join(" ")},n?rt.createElement(eP,{align:"center",justify:"center",gap:"md",mb:"lg"},rt.createElement(Gd,{c:"dimmed",size:"lg",ta:"center",className:zt.promptModeText},a||ae("Start the conversation by sending a message"))):null,rt.createElement("div",{className:zt.chatControls},u&&rt.createElement(iv,{align:"center",gap:"xs",className:zt.headerRow},u),rt.createElement("div",{className:[zt.chatInputContainer,k.length?zt.columned:""].join(" ")},o&&rt.createElement("div",{className:zt.documentsInput},rt.createElement(iv,{visibleFrom:"xs",gap:"xs"},rt.createElement(Bd,{onFilesAdd:fe,uploadFormats:E}),p),k?.length>0&&rt.createElement("div",{className:zt.imagesList},k.map(($,Z)=>rt.createElement("div",{key:$.fileName,className:zt.previewImage},rt.createElement("img",{src:$.bytesBase64,alt:$.fileName}),rt.createElement(ov,{className:zt.removeButton,color:"red.9",size:"xs",onClick:z($.fileName)},rt.createElement(iP,{size:16})))))),rt.createElement("div",{className:zt.chatInputGroup},o&&rt.createElement(Yd,{shadow:"md",width:"content"},rt.createElement(Yd.Target,null,rt.createElement(ov,{size:"lg",variant:"subtle",hiddenFrom:"xs"},rt.createElement(tP,{label:ae("More..."),position:"right",withArrow:!0},rt.createElement(nP,{size:"24"})))),rt.createElement(Yd.Dropdown,null,rt.createElement(Bd,{onFilesAdd:fe,uploadFormats:E}),p)),rt.createElement(j3,{ref:ie,className:zt.chatInput,placeholder:ae("Type your message..."),value:Y||"",autosize:!0,minRows:1,maxRows:7,onChange:Oe,onKeyDown:le,disabled:t}),I&&s?rt.createElement(av,{onClick:I,disabled:t},rt.createElement(rP,{size:24})," ",rt.createElement(Gd,{visibleFrom:"md"},ae("Stop"))):rt.createElement(av,{onClick:oe,disabled:Se,className:I&&s?zt.hidden:"",radius:"md"},rt.createElement(aP,{size:24})," ",rt.createElement(Gd,{visibleFrom:"md",ml:"xs"},ae("Send")))))))});import Er,{useCallback as ki,useRef as vP,useState as Wd}from"react";import{Stack as RP}from"@mantine/core";import{notifications as Vd}from"@mantine/notifications";import{useTranslation as IP}from"react-i18next";import En,{useEffect as pP,useCallback as pv}from"react";import{Image as gP,Text as Fs,Group as gv,Stack as EP,ActionIcon as SP,Tooltip as fP,Drawer as hP}from"@mantine/core";import{useDisclosure as bP}from"@mantine/hooks";import{IconExternalLink as TP}from"@tabler/icons-react";var _v=cc(uc(),1);import uv from"i18next";import{initReactI18next as uP}from"react-i18next";import _P from"i18next-browser-languagedetector";var sv={AI:"AI","Are you sure you want to delete this item? This action cannot be undone.":"Are you sure you want to delete this item? This action cannot be undone.",Cancel:"Cancel",Cancelled:"Cancelled","Click or drop an image/document here to upload":"Click or drop an image/document here to upload","Code block is empty":"Code block is empty","Code Interpreter":"Code Interpreter",Completed:"Completed","Confirm Deletion":"Confirm Deletion",Copy:"Copy","Copy CSV":"Copy CSV","Copy message":"Copy message",Delete:"Delete",Details:"Details","Document upload is not available in this chat.":"Document upload is not available in this chat.",Download:"Download","Download CSV":"Download CSV","Drop files here to upload":"Drop files here to upload",Error:"Error","Failed to copy message":"Failed to copy message","Failed to read file: {{fileName}}":"Failed to read file: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"Failed to read file: {{fileName}}, error: {{error}}","Failed to read image files":"Failed to read image files","Failed to send message":"Failed to send message","Image Preview":"Image Preview","Image uploads are not allowed in this chat.":"Image uploads are not allowed in this chat.","In Progress":"In Progress",language:{de:"Deutsch",en:"English",label:"Language",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"Language is not specified for this code block",Main:"Main","More...":"More...","Open image source":"Open image source",Others:"Others","RAG Search":"RAG Search",Reasoning:"Reasoning",Send:"Send","Some files are too large and were not added (max size: {{size}} MB)":"Some files are too large and were not added (max size: {{size}} MB)",source:"source","Start the conversation by sending a message":"Start the conversation by sending a message",Started:"Started",Stop:"Stop","Tool Call":"Tool Call","Tool Call Completed":"Tool Call Completed","Type your message...":"Type your message...","Upload File":"Upload File",Warning:"Warning","Web Search":"Web Search",You:"You","You can only add up to {{count}} images at a time":"You can only add up to {{count}} images at a time"};var lv={AI:"KI","Are you sure you want to delete this item? This action cannot be undone.":"M\xF6chten Sie dieses Element wirklich l\xF6schen? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.",Cancel:"Abbrechen",Cancelled:"Abgebrochen","Click or drop an image/document here to upload":"Klicken oder Bild/Dokument hierher ziehen zum Hochladen","Code block is empty":"Codeblock ist leer","Code Interpreter":"Code-Interpreter",Completed:"Abgeschlossen","Confirm Deletion":"L\xF6schen best\xE4tigen",Copy:"Kopieren","Copy CSV":"CSV kopieren","Copy message":"Nachricht kopieren",Delete:"L\xF6schen",Details:"Details","Document upload is not available in this chat.":"Dokumenten-Upload ist in diesem Chat nicht verf\xFCgbar.",Download:"Herunterladen","Download CSV":"CSV herunterladen","Drop files here to upload":"Dateien zum Hochladen hier ablegen",Error:"Fehler","Failed to copy message":"Nachricht konnte nicht kopiert werden","Failed to read file: {{fileName}}":"Datei konnte nicht gelesen werden: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"Datei konnte nicht gelesen werden: {{fileName}}, Fehler: {{error}}","Failed to read image files":"Bilddateien konnten nicht gelesen werden","Failed to send message":"Nachricht konnte nicht gesendet werden","Image Preview":"Bildvorschau","Image uploads are not allowed in this chat.":"Bild-Uploads sind in diesem Chat nicht erlaubt.","In Progress":"In Bearbeitung",language:{de:"Deutsch",en:"English",label:"Sprache",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"F\xFCr diesen Codeblock ist keine Sprache angegeben",Main:"Haupt","More...":"Mehr...","Open image source":"Bildquelle \xF6ffnen",Others:"Andere","RAG Search":"RAG-Suche",Reasoning:"Argumentation",Send:"Senden","Some files are too large and were not added (max size: {{size}} MB)":"Einige Dateien sind zu gro\xDF und wurden nicht hinzugef\xFCgt (max. Gr\xF6\xDFe: {{size}} MB)",source:"Quelle","Start the conversation by sending a message":"Beginnen Sie das Gespr\xE4ch, indem Sie eine Nachricht senden",Started:"Gestartet",Stop:"Stopp","Tool Call":"Tool-Aufruf","Tool Call Completed":"Tool-Aufruf abgeschlossen","Type your message...":"Nachricht eingeben...","Upload File":"Datei hochladen",Warning:"Warnung","Web Search":"Websuche",You:"Sie","You can only add up to {{count}} images at a time":"Sie k\xF6nnen nur bis zu {{count}} Bilder gleichzeitig hinzuf\xFCgen"};var cv={AI:"\u0418\u0418","Are you sure you want to delete this item? This action cannot be undone.":"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u044D\u043B\u0435\u043C\u0435\u043D\u0442? \u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043B\u044C\u0437\u044F \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C.",Cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",Cancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E","Click or drop an image/document here to upload":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435/\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438","Code block is empty":"\u0411\u043B\u043E\u043A \u043A\u043E\u0434\u0430 \u043F\u0443\u0441\u0442","Code Interpreter":"\u0418\u043D\u0442\u0435\u0440\u043F\u0440\u0435\u0442\u0430\u0442\u043E\u0440 \u043A\u043E\u0434\u0430",Completed:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E","Confirm Deletion":"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435",Copy:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C","Copy CSV":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C CSV","Copy message":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",Delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",Details:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438","Document upload is not available in this chat.":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435.",Download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C","Download CSV":"\u0421\u043A\u0430\u0447\u0430\u0442\u044C CSV","Drop files here to upload":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",Error:"\u041E\u0448\u0438\u0431\u043A\u0430","Failed to copy message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","Failed to read file: {{fileName}}":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B: {{fileName}}, \u043E\u0448\u0438\u0431\u043A\u0430: {{error}}","Failed to read image files":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439","Failed to send message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","Image Preview":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","Image uploads are not allowed in this chat.":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435 \u0437\u0430\u043F\u0440\u0435\u0449\u0435\u043D\u0430.","In Progress":"\u0412 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435",language:{de:"Deutsch",en:"English",label:"\u042F\u0437\u044B\u043A",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"\u042F\u0437\u044B\u043A \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430 \u043A\u043E\u0434\u0430",Main:"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439","More...":"\u0415\u0449\u0451...","Open image source":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",Others:"\u0414\u0440\u0443\u0433\u0438\u0435","RAG Search":"RAG-\u043F\u043E\u0438\u0441\u043A",Reasoning:"\u0420\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0435",Send:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","Some files are too large and were not added (max size: {{size}} MB)":"\u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u0438\u0435 \u0438 \u043D\u0435 \u0431\u044B\u043B\u0438 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B (\u043C\u0430\u043A\u0441. \u0440\u0430\u0437\u043C\u0435\u0440: {{size}} \u041C\u0411)",source:"\u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A","Start the conversation by sending a message":"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0434\u0438\u0430\u043B\u043E\u0433, \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0432 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",Started:"\u041D\u0430\u0447\u0430\u0442\u043E",Stop:"\u0421\u0442\u043E\u043F","Tool Call":"\u0412\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430","Tool Call Completed":"\u0412\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D","Type your message...":"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435...","Upload File":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u0430\u0439\u043B",Warning:"\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435","Web Search":"\u0412\u0435\u0431-\u043F\u043E\u0438\u0441\u043A",You:"\u0412\u044B","You can only add up to {{count}} images at a time":"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 {{count}} \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0437\u0430 \u0440\u0430\u0437"};var dv={AI:"AI","Are you sure you want to delete this item? This action cannot be undone.":"\u60A8\u786E\u5B9A\u8981\u5220\u9664\u6B64\u9879\u5417\uFF1F\u6B64\u64CD\u4F5C\u65E0\u6CD5\u64A4\u6D88\u3002",Cancel:"\u53D6\u6D88",Cancelled:"\u5DF2\u53D6\u6D88","Click or drop an image/document here to upload":"\u70B9\u51FB\u6216\u62D6\u653E\u56FE\u7247/\u6587\u6863\u5230\u6B64\u5904\u4E0A\u4F20","Code block is empty":"\u4EE3\u7801\u5757\u4E3A\u7A7A","Code Interpreter":"\u4EE3\u7801\u89E3\u91CA\u5668",Completed:"\u5DF2\u5B8C\u6210","Confirm Deletion":"\u786E\u8BA4\u5220\u9664",Copy:"\u590D\u5236","Copy CSV":"\u590D\u5236 CSV","Copy message":"\u590D\u5236\u6D88\u606F",Delete:"\u5220\u9664",Details:"\u8BE6\u60C5","Document upload is not available in this chat.":"\u6B64\u804A\u5929\u4E0D\u652F\u6301\u6587\u6863\u4E0A\u4F20\u3002",Download:"\u4E0B\u8F7D","Download CSV":"\u4E0B\u8F7D CSV","Drop files here to upload":"\u5C06\u6587\u4EF6\u62D6\u653E\u5230\u6B64\u5904\u4E0A\u4F20",Error:"\u9519\u8BEF","Failed to copy message":"\u590D\u5236\u6D88\u606F\u5931\u8D25","Failed to read file: {{fileName}}":"\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF1A{{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF1A{{fileName}}\uFF0C\u9519\u8BEF\uFF1A{{error}}","Failed to read image files":"\u8BFB\u53D6\u56FE\u7247\u6587\u4EF6\u5931\u8D25","Failed to send message":"\u53D1\u9001\u6D88\u606F\u5931\u8D25","Image Preview":"\u56FE\u7247\u9884\u89C8","Image uploads are not allowed in this chat.":"\u6B64\u804A\u5929\u4E0D\u5141\u8BB8\u4E0A\u4F20\u56FE\u7247\u3002","In Progress":"\u8FDB\u884C\u4E2D",language:{de:"Deutsch",en:"English",label:"\u8BED\u8A00",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"\u6B64\u4EE3\u7801\u5757\u672A\u6307\u5B9A\u8BED\u8A00",Main:"\u4E3B\u8981","More...":"\u66F4\u591A...","Open image source":"\u6253\u5F00\u56FE\u7247\u6765\u6E90",Others:"\u5176\u4ED6","RAG Search":"RAG \u641C\u7D22",Reasoning:"\u63A8\u7406",Send:"\u53D1\u9001","Some files are too large and were not added (max size: {{size}} MB)":"\u90E8\u5206\u6587\u4EF6\u8FC7\u5927\uFF0C\u672A\u88AB\u6DFB\u52A0\uFF08\u6700\u5927\uFF1A{{size}} MB\uFF09",source:"\u6765\u6E90","Start the conversation by sending a message":"\u53D1\u9001\u6D88\u606F\u5F00\u59CB\u5BF9\u8BDD",Started:"\u5DF2\u5F00\u59CB",Stop:"\u505C\u6B62","Tool Call":"\u5DE5\u5177\u8C03\u7528","Tool Call Completed":"\u5DE5\u5177\u8C03\u7528\u5B8C\u6210","Type your message...":"\u8F93\u5165\u6D88\u606F...","Upload File":"\u4E0A\u4F20\u6587\u4EF6",Warning:"\u8B66\u544A","Web Search":"\u7F51\u7EDC\u641C\u7D22",You:"\u4F60","You can only add up to {{count}} images at a time":"\u4E00\u6B21\u6700\u591A\u53EA\u80FD\u6DFB\u52A0 {{count}} \u5F20\u56FE\u7247"};var zd=["en","de","ru","zh"],Hd="ui-language";function mP(e={}){return(0,_v.merge)({en:{translation:sv},de:{translation:lv},ru:{translation:cv},zh:{translation:dv}},e)}async function Z9({lookupLocalStorage:e=Hd,supportedLngs:t=zd,fallbackLng:n="en",resources:a={}}={}){return uv.use(_P).use(uP).init({resources:mP(a),fallbackLng:n,supportedLngs:t,interpolation:{escapeValue:!1},detection:{order:["localStorage","navigator","htmlTag"],lookupLocalStorage:e,caches:["localStorage"]}})}function mv(e){return(typeof e=="string"?new Date(e):e).toLocaleDateString(uv.language||"ru-RU",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}import{useTranslation as CP}from"react-i18next";var Ev=({fileName:e,fileUrl:t,mimeType:n,createdAt:a,onOpenSource:o,sourceTitle:s,onClose:l})=>{let[d,{open:u,close:p}]=bP(!1);pP(()=>{t&&u()},[t,u]);let E=pv(()=>{l(),p()},[l,p]),h=pv(()=>{o?.(),E()},[o,E]),{t:C}=CP();return En.createElement(hP,{size:"xl",opened:d,onClose:E,title:C("Image Preview")},t&&En.createElement(EP,{gap:"md"},En.createElement(gP,{src:t,alt:e,fit:"contain",mah:"70vh"}),En.createElement(gv,{justify:"space-between"},En.createElement("div",null,En.createElement(Fs,{size:"sm",fw:500},e),En.createElement(Fs,{size:"xs",c:"dimmed"},a?mv(a)+" \u2022":""," ",n)),o&&En.createElement(gv,{gap:"xs"},En.createElement(fP,{label:C("Open image source")},En.createElement(SP,{variant:"light",onClick:h},En.createElement(TP,{size:16}))))),o&&En.createElement(Fs,{size:"sm",c:"dimmed"},"From:"," ",En.createElement(Fs,{span:!0,c:"blue",style:{cursor:"pointer"},onClick:h},s||C("source")))))};var Sv=e=>[...Array.from(e.tHead?.querySelectorAll("tr")??[]),...Array.from(e.tBodies[0]?.querySelectorAll("tr")??[])].map(n=>Array.from(n.querySelectorAll("th, td")).map(a=>`"${(a.textContent||"").replace(/"/g,'""')}"`).join(",")).join(`
451
451
  `),fv=Er.memo(({messages:e=[],onMessageDeleted:t,onAddMessage:n,plugins:a=[],detailsPlugins:o=[],codePlugins:s,models:l=[]})=>{let{t:d}=IP(),u=vP(null),[p,E]=Wd(),[h,C]=Wd(),[R,I]=Wd(new Set),A=ki(G=>I(Q=>new Set(Q).add(G)),[]),M=ki(G=>{I(Q=>{let J=new Set(Q);return J.delete(G),J})},[]),k=()=>{E(void 0),C(void 0)},U=ki(G=>{if(!G.target)return;let Q=["code-run-btn","code-copy-btn","code-download-btn","code-toggle-all","copy-message-btn","message-details-btn","code-header","message-image","table-sort-btn","table-copy-csv-btn","table-download-csv-btn"],J=G.target;for(let oe of Q){let le=J.closest(`.${oe}`);if(le){J=le;break}}if(!J)return;let V=J,ie=oe=>{let le=oe?.parentElement;le.classList.contains("collapsed")?(oe.classList.remove("collapsed"),le&&le.classList.remove("collapsed")):(oe.classList.add("collapsed"),le&&le.classList.add("collapsed"))},ae=oe=>{let le=(oe?.parentElement?.parentElement).querySelector(".katechat-message-content-details");le&&(le.classList.toggle("expanded"),oe.classList.toggle("expanded"))};if(V.classList.contains("code-run-btn")||V.classList.contains("code-download-btn")){let oe=V.dataset.lang,le=V.classList.contains("code-run-btn"),Se=V.closest(".code-header")?.parentElement?.querySelector(".code-data");if(Se){let fe=decodeURIComponent(Se.dataset.code||"").trim();if(!fe)return Vd.show({title:d("Error"),message:d("Code block is empty"),color:"red"});if(le){if(!oe)return Vd.show({title:d("Error"),message:d("Language is not specified for this code block"),color:"red"});let z=V.closest('[id^="message-"]'),$=z?.id.replace("message-",""),Z=$?e.find(qe=>qe.id===$):void 0,te=V.closest("[data-linked-message-id]"),pe=te?.dataset.linkedMessageId,_e=pe?Z?.linkedMessages?.find(qe=>qe.id===pe):Z,Le=(te??z)?.querySelectorAll(".code-block"),ke=V.closest(".code-block"),He=Le&&ke?Array.from(Le).indexOf(ke):0,Je=_e?{messageId:_e.id,blockIndex:He,messageContent:_e.content}:void 0;s?.[oe]?.execute(fe,oe,Je)}else{let z=`code.${BC(oe||"txt")}`,$=new Blob([fe],{type:"text/plain"}),Z=URL.createObjectURL($),te=document.createElement("a");te.href=Z,te.download=z,te.click(),URL.revokeObjectURL(Z)}}}else if(V.classList.contains("code-copy-btn")){let oe=V.parentElement?.parentElement?.nextElementSibling?.querySelector(".code-data");if(oe){let Se=decodeURIComponent(oe.dataset.code||"").trim();navigator.clipboard.writeText(Se)}let le=V.querySelector(".copy-icon"),Oe=V.querySelector(".check-icon");le&&Oe&&(le.style.display="none",Oe.style.display="block",setTimeout(()=>{le.style.display="block",Oe.style.display="none"},2e3))}else if(V.classList.contains("code-header"))ie(V);else if(V.classList.contains("code-toggle-all"))u.current?.querySelectorAll(".code-header").forEach(oe=>{ie(oe)});else if(V.classList.contains("message-details-btn"))ae(V);else if(V.classList.contains("copy-message-btn")){if(V.dataset.messageId){let oe=V.dataset.messageIndex,le=V.dataset.messageLinkedIndex,Oe=V.dataset.messageId,Se=oe!=null?e[Number(oe)]:e.find(Z=>Z.id===Oe);le!=null&&(Se=Se?.linkedMessages?.[Number(le)]),Ad(Se,"Message should exist to copy");let fe=(Se.content||"").trim(),z=Se.html||[];if(z.length&&z[0]){let Z=new Blob([z.join("<br/>")],{type:"text/html"}),te=new Blob([fe],{type:"text/plain"});navigator.clipboard.write([new ClipboardItem({[Z.type]:Z,[te.type]:te})]).catch(pe=>Vd.show({title:d("Error"),message:pe.message||d("Failed to copy message"),color:"red"}))}else navigator.clipboard.writeText(fe);let $=V.parentElement?.querySelector(".check-icon");$&&(V.style.display="none",$.style.display="inline-block",setTimeout(()=>{V.style.display="inline-block",$.style.display="none"},2e3))}}else if(V.classList.contains("message-image")){let oe=V.dataset.fileName,le=V.src;E(le),C(oe)}else if(V.classList.contains("table-sort-btn")){let oe=parseInt(V.dataset.colIndex||"0"),le=V.closest("table");if(!le)return;let Oe=le.querySelector("tbody");if(!Oe)return;let fe=V.dataset.sortDir==="asc"?"desc":"asc";le.querySelectorAll("th.table-sort-btn").forEach($=>{delete $.dataset.sortDir,$.classList.remove("sort-asc","sort-desc")}),V.dataset.sortDir=fe,V.classList.add(fe==="asc"?"sort-asc":"sort-desc");let z=Array.from(Oe.querySelectorAll("tr"));z.sort(($,Z)=>{let te=$.querySelectorAll("td")[oe]?.textContent||"",pe=Z.querySelectorAll("td")[oe]?.textContent||"",_e=parseFloat(te),Te=parseFloat(pe);return!isNaN(_e)&&!isNaN(Te)?fe==="asc"?_e-Te:Te-_e:fe==="asc"?te.localeCompare(pe):pe.localeCompare(te)}),z.forEach($=>Oe.appendChild($))}else if(V.classList.contains("table-copy-csv-btn")){let oe=V.closest(".message-table");if(!oe)return;navigator.clipboard.writeText(Sv(oe));let le=V.querySelector(".copy-icon"),Oe=V.querySelector(".check-icon");le&&Oe&&(le.style.display="none",Oe.style.display="block",setTimeout(()=>{le.style.display="block",Oe.style.display="none"},2e3))}else if(V.classList.contains("table-download-csv-btn")){let oe=V.closest(".message-table");if(!oe)return;let le=new Blob([Sv(oe)],{type:"text/csv"}),Oe=URL.createObjectURL(le),Se=document.createElement("a");Se.href=Oe,Se.download="table.csv",Se.click(),URL.revokeObjectURL(Oe)}},[e,s]),Y=ki((G,{isLast:Q=!1}={})=>Er.createElement(Er.Fragment,null,a.map((J,V)=>Er.createElement(J,{key:V,message:G,isLast:Q,messagesCount:e.length,onAddMessage:n,onAction:A,onActionEnd:M,onMessageDeleted:t,disabled:R.has(G.id)}))),[a,e.length,n,t,R,A,M]),W=ki(G=>{let Q=o.map(J=>J(G)).filter(yi);return Q.length?Q:null},[o]);return Er.createElement(Er.Fragment,null,Er.createElement(RP,{gap:"0",ref:u,onClick:U},e.map((G,Q)=>Er.createElement(kd,{key:G.id,message:G,index:Q,isLast:Q===e.length-1,disabled:R.has(G.id),pluginsLoader:Y,messageDetailsLoader:W,models:l,codePlugins:s}))),Er.createElement(Ev,{fileName:h??"",fileUrl:p??"",onClose:k}))});import kn,{useCallback as Us,useEffect as Rv,useImperativeHandle as DP,useRef as Iv,useState as wP}from"react";import{Group as MP,Loader as LP}from"@mantine/core";import{IconCircleChevronDown as kP}from"@tabler/icons-react";import{useEffect as AP,useRef as hv}from"react";function qd(e,t,n=0){let a=hv(null),o=hv(null);return AP(()=>{a.current?.disconnect();let s=setTimeout(()=>{a.current=new IntersectionObserver(l=>{l[0].isIntersecting&&e()}),o.current&&a.current.observe(o.current)},n);return()=>{clearTimeout(s),a.current?.disconnect()}},[t,e]),o}import NP,{createContext as yP,useContext as OP,useEffect as bv}from"react";import{useLocalStorage as xP}from"@mantine/hooks";var Tv=yP(void 0),T8=({children:e})=>{let[t,n]=xP({key:"ui-theme",defaultValue:"light"});bv(()=>{if(t==="auto"){let o=window.matchMedia("(prefers-color-scheme: dark)").matches;document.documentElement.dataset.mantine=o?"dark":"light"}else document.documentElement.dataset.mantine=t},[t]);let a=()=>{let o=t==="dark"?"light":"dark";n(o),document.documentElement.dataset.mantine=o};return bv(()=>{if(t==="auto"){let o=window.matchMedia("(prefers-color-scheme: dark)"),s=l=>{document.documentElement.dataset.mantine=l.matches?"dark":"light"};return o.addEventListener("change",s),()=>o.removeEventListener("change",s)}},[t]),NP.createElement(Tv.Provider,{value:{colorScheme:t,setColorScheme:n,toggleColorScheme:a}},e)},C8=()=>{let e=OP(Tv);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e};import{useState as Qd,useEffect as Cv,useCallback as ra}from"react";function y8(e){let[t,n]=Qd([]),[a,o]=Qd(!0),[s,l]=Qd(null);Cv(()=>{let I=new Ma(e);return l(I),()=>{I.close()}},[e]);let d=ra(async()=>{if(s)try{let I=await s.getAllChats();n(I)}catch(I){console.error("Failed to load chats:",I)}finally{o(!1)}},[s]);Cv(()=>{d()},[d]);let u=ra(async I=>{Yt.ok(s,"Database instance is not available");let A={id:`chat-${Date.now()}`,title:"New Chat",createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return s&&(await s.saveChat(A),await d()),A},[s,d]),p=ra(async I=>{Yt.ok(s,"Database instance is not available"),await s.saveChat(I),await d()},[s,d]),E=ra(async I=>{Yt.ok(s,"Database instance is not available"),await s.deleteChat(I),await d()},[s,d]),h=ra(async(I,A)=>{let M=t.find(k=>k.id===I);M&&(Yt.ok(s,"Database instance is not available"),await s.saveChat({...M,title:A,updatedAt:new Date().toISOString()}),await d())},[t,s,d]),C=ra(async I=>{Yt.ok(s,"Database instance is not available"),await s.saveMessage(I)},[s]),R=ra(async I=>(Yt.ok(s,"Database instance is not available"),s.getMessagesByChatId(I)),[s]);return{chats:t,loading:a,createChat:u,updateChat:p,deleteChat:E,updateChatTitle:h,refreshChats:d,saveMessage:C,getChatMessages:R}}import{useState as $d,useEffect as vv,useCallback as Pa}from"react";function L8(e,t){let[n,a]=$d([]),[o,s]=$d(!0),[l,d]=$d(null);vv(()=>{let I=new Ma(t);return d(I),()=>{I.close()}},[t]);let u=Pa(async()=>{if(!e){a([]),s(!1);return}try{Yt.ok(l,"Database instance is not available");let I=await l.getMessagesByChatId(e);a(I)}catch(I){console.error("Failed to load messages:",I)}finally{s(!1)}},[e,l]);vv(()=>{u()},[u]);let p=Pa(async I=>{if(!e)return;Yt.ok(l,"Database instance is not available"),await l.saveMessage(I),a(M=>[...M,I]);let A=await l.getChat(e);A&&await l.saveChat({...A,updatedAt:new Date().toISOString()})},[e,l]),E=Pa(async I=>{Yt.ok(l,"Database instance is not available"),await l.saveMessage(I),a(A=>A.map(M=>M.id===I.id?I:M))},[l]),h=Pa(async I=>{Yt.ok(l,"Database instance is not available"),await l.deleteMessage(I),a(A=>A.filter(M=>M.id!==I))},[l]),C=Pa(async I=>{Yt.ok(l,"Database instance is not available"),await l.deleteMessages(I),a(A=>A.filter(M=>!I.includes(M.id)))},[l]),R=Pa(async()=>{if(!e)return;let I=n.map(A=>A.id);Yt.ok(l,"Database instance is not available"),await l.deleteMessages(I),a([])},[e,n,l]);return{messages:n,loading:o,addMessage:p,updateMessage:E,deleteMessage:h,deleteMessages:C,clearMessages:R,refreshMessages:u}}var Av=kn.forwardRef(({messages:e,models:t=[],addChatMessage:n,removeMessages:a,loadMoreMessages:o,plugins:s,detailsPlugins:l,codePlugins:d,streaming:u=!1,loadCompleted:p=!0,loading:E=!1,autoScroll:h=!0,id:C="chat"},R)=>{let[I,A]=wP(!1),M=Iv(null),k=Iv(null),U=Us(()=>{M.current?.scrollTo(0,M.current?.scrollHeight??0)},[M]);DP(R,()=>({scrollToBottom:U}),[U]);let Y=Us(()=>{I||U()},[U,I]);Rv(()=>{if(h)Y();else{let J=M.current;if(J){let{scrollTop:V,scrollHeight:ie,clientHeight:ae}=J;ie-V-ae<2||A(!0)}}},[e,Y,h]);let W=Us(J=>{let{scrollTop:V,scrollHeight:ie,clientHeight:ae}=J.target;k.current&&clearTimeout(k.current),ie-V-ae<2?A(!1):e?.length&&(u?k.current=setTimeout(()=>{A(!0)},100):A(!0))},[e?.length,u]),G=Us(()=>{A(!1),U()},[U]);Rv(()=>{p&&(A(!1),setTimeout(U,200))},[p,h]);let Q=qd(()=>o?.(),[o],200);return kn.createElement("div",{className:["katechat-messages-container",p?"container--load-completed":"",p&&e?.length===0?"container--empty":""].join(" ")},kn.createElement("div",{className:"katechat-messages-container-scroller",ref:M,onScroll:W},kn.createElement("div",{ref:Q,id:`${C}-first-message`}),E&&kn.createElement(MP,{justify:"center",align:"center",py:"xl"},kn.createElement(LP,null)),kn.createElement("div",{className:"katechat-messages-list"},e&&kn.createElement(fv,{messages:e,onMessageDeleted:a,onAddMessage:n,models:t,plugins:s,detailsPlugins:l,codePlugins:d}))),kn.createElement("div",{className:["katechat-anchor-container",I?"container--visible":""].join(" ")},kn.createElement("div",{className:"katechat-anchor"},kn.createElement(kP,{size:32,color:"teal",onClick:G}))))});Av.displayName="ChatMessagesContainer";import Ba from"react";import{Modal as PP,Button as Nv,Group as BP,Text as FP,Stack as UP}from"@mantine/core";import{useTranslation as GP}from"react-i18next";var oG=({isOpen:e,onClose:t,onConfirm:n,title:a,message:o,confirmLabel:s,cancelLabel:l,isLoading:d=!1})=>{let{t:u}=GP();return Ba.createElement(PP,{opened:e,onClose:t,title:a||u("Confirm Deletion"),centered:!0},Ba.createElement(UP,null,Ba.createElement(FP,{style:{wordBreak:"break-word"}},o||u("Are you sure you want to delete this item? This action cannot be undone.")),Ba.createElement(BP,{mt:"md",justify:"flex-end"},Ba.createElement(Nv,{variant:"outline",onClick:t,disabled:d},l||u("Cancel")),Ba.createElement(Nv,{color:"red",onClick:n,loading:d},s||u("Delete")))))};import aa from"react";import{Menu as Gs,ActionIcon as YP,Tooltip as zP}from"@mantine/core";import{IconLanguage as HP}from"@tabler/icons-react";import{useTranslation as WP}from"react-i18next";var fG=({languages:e=zd,size:t=20})=>{let{t:n,i18n:a}=WP(),o=s=>{a.changeLanguage(s),localStorage.setItem(Hd,s)};return aa.createElement(Gs,{shadow:"md",width:150,position:"bottom-end"},aa.createElement(Gs.Target,null,aa.createElement(zP,{label:n("language.label")},aa.createElement(YP,{variant:"subtle",radius:"xl","aria-label":n("language.label")},aa.createElement(HP,{size:t})))),aa.createElement(Gs.Dropdown,null,e.map(s=>aa.createElement(Gs.Item,{key:s,onClick:()=>o(s),fw:a.language===s?700:400},n(`language.${s}`)))))};export{zd as BASE_SUPPORTED_LANGUAGES,Ma as ChatDatabase,N1 as ChatFileType,k9 as ChatInput,kd as ChatMessage,AU as ChatMessagePreview,Av as ChatMessagesContainer,fv as ChatMessagesList,A1 as CustomModelProtocol,oG as DeleteConfirmationModal,S9 as DropFilesOverlay,Bd as FileDropzone,V3 as IMAGE_UPLOAD_FORMATS,Ev as ImagePopup,Hd as LANGUAGE_STORAGE_KEY,fG as LanguageSelector,Pd as LinkedChatMessage,dc as MessageRole,Bo as MessageStatus,R1 as MessageType,I1 as ModelType,wi as ProviderIcon,si as ResponseStatus,Tv as ThemeContext,T8 as ThemeProvider,Yt as assert,kr as escapeHtml,mv as formatDate,bF as formatFileSize,CF as formatTokensLimit,MF as getCSSVariableColor,BC as getProgrammingLanguageExt,Z9 as initI18n,$k as normalizeMatJax,fF as parseChatMessages,xs as parseMarkdown,DF as sortItemsBySections,y8 as useDatabaseChats,L8 as useDatabaseMessages,qd as useIntersectionObserver,C8 as useTheme};
452
452
  /*! Bundled license information:
453
453