agent-tool-chat 1.1.6 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,56 +1,65 @@
1
- "use strict";var ci=Object.defineProperty;var ui=(e,t,n)=>t in e?ci(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var L=(e,t,n)=>ui(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),ft=require("element-plus");function hi(e){let t="";return typeof e.content=="string"?t=e.content:e.content!=null&&(t=JSON.stringify(e.content)),e.tool_calls&&(t+=JSON.stringify(e.tool_calls)),e.name&&(t+=e.name),Math.ceil(t.length/2)||1}function di(e,t){const n=e.length;if(n===0)return e;let i=0,o=n-1;for(let s=n-1;s>=0;s--)if(i+=hi(e[s]),o=s,i>t){o=Math.min(s+1,n-1);break}return o>0&&e[o].role==="tool"&&(o-=1),e.slice(o)}class Zo{constructor(t){L(this,"messages",[]);L(this,"config");L(this,"listeners",new Set);L(this,"abortController",null);L(this,"_loading",!1);this.config={...t,maxToolRounds:t.maxToolRounds??6}}get loading(){return this._loading}updateProviderConfig(t){this.config.providerConfig={...this.config.providerConfig,...t}}initialize(t){this.messages.length=0,this.messages.push(...t)}clear(){var t;this.stop(),this.messages.length=0,(t=this.config.storage)==null||t.save([])}on(t){return this.listeners.add(t),()=>this.listeners.delete(t)}emit(t){this.listeners.forEach(n=>n(t))}async sendMessage(t){var o;const n=t.trim();if(!n||this._loading)return;this._loading=!0,this.abortController=new AbortController,this.emit({type:"status",loading:!0});const i={role:"user",content:n};this.messages.push(i),this.emit({type:"message",message:i});try{let s=0;const l=this.config.maxToolRounds;for(;s<l;){s++;const A={role:"assistant",content:""};this.messages.push(A),this.emit({type:"message",message:A});const a=this.buildApiMessages(),u=await this.config.provider.streamChat({config:this.config.providerConfig,messages:a,tools:this.config.tools.getDefinitions(),signal:this.abortController.signal,onContent:d=>{A.content+=d,this.emit({type:"stream:delta",delta:{content:d}})},onReasoning:d=>{this.emit({type:"stream:delta",delta:{reasoning:d}})}});if(A.content=u.content,this.emit({type:"stream:end",content:u.content,reasoning:u.reasoning}),u.tool_calls.length>0){A.tool_calls=u.tool_calls;for(const d of u.tool_calls){this.emit({type:"tool:start",call:d});const f=await this.config.tools.execute(d.function.name,d.function.arguments);this.emit({type:"tool:end",call:d,output:f}),this.messages.push({role:"tool",tool_call_id:d.id,content:f.result,name:d.function.name})}continue}break}await((o=this.config.storage)==null?void 0:o.save(this.messages))}catch(s){if((s==null?void 0:s.name)!=="AbortError")this.emit({type:"error",error:(s==null?void 0:s.message)||"请求出错"});else{const l=this.messages[this.messages.length-1];(l==null?void 0:l.role)==="assistant"&&!l.content&&(l.content="(已停止生成)")}}finally{this._loading=!1,this.abortController=null,this.emit({type:"status",loading:!1})}}stop(){var t;(t=this.abortController)==null||t.abort()}buildApiMessages(){const t=this.messages;let i=t.length>0&&t[t.length-1].role==="assistant"&&t[t.length-1].content===""&&!t[t.length-1].tool_calls?t.slice(0,-1):t;const o=this.config.maxHistoryMessages??0;o>0&&i.length>o&&(i=i.slice(i.length-o));const s=this.config.maxContextTokens??0;for(s>0&&(i=di(i,s));i.length&&i[0].role==="tool";)i=i.slice(1);return this.config.systemPrompt?[{role:"system",content:this.config.systemPrompt},...i]:[...i]}}class Po{constructor(){L(this,"_definitions",[]);L(this,"_handlers",new Map)}register(t,n){const i=t.function.name,o=this._definitions.findIndex(s=>s.function.name===i);return o!==-1&&this._definitions.splice(o,1),this._definitions.push(t),this._handlers.set(i,n),this}registerBatch(t){for(const n of t)this.register(n.definition,n.handler);return this}getDefinitions(){return[...this._definitions]}async execute(t,n){const i=this._handlers.get(t);if(!i)return{success:!1,result:`未知工具:${t}`};try{const o=n?JSON.parse(n):{};return await i(o)}catch(o){return{success:!1,result:`工具执行异常:${(o==null?void 0:o.message)||String(o)}`}}}}function fi(e){let t=e.trim().replace(/\/+$/,"");return t=t.replace(/\/v1$/,""),t}function zo(){return{async streamChat(e){var w;const{config:{baseUrl:t,apiKey:n,model:i,temperature:o,thinking:s},messages:l,tools:A,signal:a,onContent:u,onReasoning:d}=e;if(!n)throw new Error("未配置 API Key");const f=`${fi(t)}/chat/completions`,_={model:i,messages:l,stream:!0};typeof o=="number"&&(_.temperature=o),_.thinking={type:(s==null?void 0:s.type)==="enabled"?"enabled":"disabled"},(s==null?void 0:s.type)==="enabled"&&s.effort&&(_.reasoning_effort=s.effort),A!=null&&A.length&&(_.tools=A,_.tool_choice="auto");const m=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(_),signal:a});if(!m.ok||!m.body){let b=`请求失败(HTTP ${m.status})`;try{const v=await m.json();(w=v==null?void 0:v.error)!=null&&w.message&&(b=v.error.message)}catch{}throw new Error(b)}const h=m.body.getReader(),k=new TextDecoder("utf-8");let D="",g="",B="",x="stop";const C=new Map,y=b=>{if(!b)return;const v=b.index??0;C.has(v)||C.set(v,{id:"",type:"function",function:{name:"",arguments:""}});const N=C.get(v);b.id&&(N.id=b.id),b.type&&(N.type=b.type),b.function&&(b.function.name&&(N.function.name+=b.function.name),b.function.arguments&&(N.function.arguments+=b.function.arguments))},K=b=>{var J;const v=(J=b==null?void 0:b.choices)==null?void 0:J[0];if(!v)return;const N=v.delta||{};typeof N.content=="string"&&N.content&&(g+=N.content,u==null||u(N.content)),typeof N.reasoning_content=="string"&&N.reasoning_content&&(B+=N.reasoning_content,d==null||d(N.reasoning_content)),Array.isArray(N.tool_calls)&&N.tool_calls.forEach(z=>y(z)),v.finish_reason&&(x=v.finish_reason)};for(;;){const{done:b,value:v}=await h.read();if(b)break;D+=k.decode(v,{stream:!0});let N;for(;(N=D.indexOf(`
2
- `))!==-1;){const J=D.slice(0,N).replace(/\r$/,"").trim();if(D=D.slice(N+1),!J||J.startsWith(":")||!J.startsWith("data:"))continue;const z=J.slice(5).trim();if(z==="[DONE]")return H();try{K(JSON.parse(z))}catch{}}}return H();function H(){const b=Array.from(C.values()).filter(v=>v.function.name);return{content:g,reasoning:B,tool_calls:b,finish_reason:x}}}}}function jo(){return{async streamChat(e){var H;const{config:{baseUrl:t,model:n,temperature:i,thinking:o},messages:s,tools:l,signal:A,onContent:a,onReasoning:u}=e,d=`${t.trim().replace(/\/+$/,"")}`,f={model:n,messages:s,stream:!0};typeof i=="number"&&(f.temperature=i),f.thinking={type:(o==null?void 0:o.type)==="enabled"?"enabled":"disabled"},(o==null?void 0:o.type)==="enabled"&&o.effort&&(f.reasoning_effort=o.effort),l!=null&&l.length&&(f.tools=l,f.tool_choice="auto");const _=await fetch(d+"/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f),signal:A});if(!_.ok||!_.body){let w=`请求失败(HTTP ${_.status})`;try{const b=await _.json();(H=b==null?void 0:b.error)!=null&&H.message&&(w=b.error.message)}catch{}throw new Error(w)}const m=_.body.getReader(),h=new TextDecoder("utf-8");let k="",D="",g="",B="stop";const x=new Map,C=w=>{if(!w)return;const b=w.index??0;x.has(b)||x.set(b,{id:"",type:"function",function:{name:"",arguments:""}});const v=x.get(b);w.id&&(v.id=w.id),w.type&&(v.type=w.type),w.function&&(w.function.name&&(v.function.name+=w.function.name),w.function.arguments&&(v.function.arguments+=w.function.arguments))},y=w=>{var N;const b=(N=w==null?void 0:w.choices)==null?void 0:N[0];if(!b)return;const v=b.delta||{};typeof v.content=="string"&&v.content&&(D+=v.content,a==null||a(v.content)),typeof v.reasoning_content=="string"&&v.reasoning_content&&(g+=v.reasoning_content,u==null||u(v.reasoning_content)),Array.isArray(v.tool_calls)&&v.tool_calls.forEach(J=>C(J)),b.finish_reason&&(B=b.finish_reason)};for(;;){const{done:w,value:b}=await m.read();if(w)break;k+=h.decode(b,{stream:!0});let v;for(;(v=k.indexOf(`
3
- `))!==-1;){const N=k.slice(0,v).replace(/\r$/,"").trim();if(k=k.slice(v+1),!N||N.startsWith(":")||!N.startsWith("data:"))continue;const J=N.slice(5).trim();if(J==="[DONE]")return K();try{y(JSON.parse(J))}catch{}}}return K();function K(){const w=Array.from(x.values()).filter(b=>b.function.name);return{content:D,reasoning:g,tool_calls:w,finish_reason:B}}}}}function pi(e){var n,i,o,s,l;const t=[];return(n=e.displayHints)!=null&&n.suggestComponent&&t.push(`展示建议: 使用 ${e.displayHints.suggestComponent} 组件`),(i=e.displayHints)!=null&&i.resultFormat&&t.push(`格式: ${e.displayHints.resultFormat}`),(s=(o=e.displayHints)==null?void 0:o.previewFields)!=null&&s.length&&t.push(`预览字段: ${e.displayHints.previewFields.join(", ")}`),(l=e.displayHints)!=null&&l.summaryTemplate&&t.push(`概要模板: ${e.displayHints.summaryTemplate}`),t.length?t.join(" | "):""}function Xo(e){const t=[`【${e.name}】${e.description}`];for(const n of e.tools){const i=pi(n);t.push(` - ${n.name}: ${n.description}`),i&&t.push(` ${i}`)}return t.join(`
4
- `)}function $o(e){const t=["你是一个 AI 助手,可以帮助用户完成各种操作。","","你可以使用以下工具包:",""];for(const n of e)t.push(Xo(n)),t.push("");return t.push("注意:"),t.push("1. 所有回复与思考/推理过程(reasoning / thinking)一律使用中文(禁止使用英文),保持简洁清晰;除非用户明确要求使用其他语言,此时思考与回复也相应使用该语言。"),t.push("2. 当你需要查询或操作数据时,调用对应工具包中的函数。"),t.push("3. 工具函数由宿主系统执行,你只需要传递正确的参数。"),t.push("4. 获取到工具结果后,回复用户并告知结果。"),t.push("5. 如果工具返回了结构化数据(如订单信息、系统状态等),在回复中清晰地展示给用户。"),t.push("6. 根据结果动态建议用户接下来可以做什么。"),t.push("7. 你返回的建议必须是中文,不能是英文或其他语言。"),t.push("8. 你返回的建议中涉及到工具要分条目,每个条目占一行,方便用户点击执行。"),t.push("9. 如果用户上传了文件,文件格式为(.txt、.json、.geojson等格式),你必须调用 open_mapview_file 工具在地图上展示,不要只回复文字。"),t.push(""),t.push("--- 文件上传规则 ---"),t.push("用户可能上传文件,文件以如下格式出现在消息中:"),t.push("已上传文件:"),t.push("1. **文件名**(类型,大小KB),文件ID:`fileId`"),t.push("你无法查看文件内容,只能看到文件名和类型。"),t.push("你必须根据文件名、扩展名和用户的文字指令,调用对应的工具来处理文件。"),t.push("如果某个工具需要处理该文件,在工具参数中传入 fileId。"),t.push('不要回复假性成功消息(如"已在地图上显示"),如果不调用工具,文件不会被实际处理。'),t.push("不要编造文件内容,不要假装你看到了文件数据。"),t.join(`
5
- `)}const mi=`--- 重复指令处理规则 ---
1
+ "use strict";var Ji=Object.defineProperty;var Zi=(e,t,n)=>t in e?Ji(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Z=(e,t,n)=>Zi(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),ut=require("element-plus");function kr(e,t){const n=e??"";if(!t||t<=0||n.length<=t)return n;if(t<200)return`${n.slice(0,t)}…[已截断]`;const i=Math.floor(t*.6),r=t-i,s=`
2
+ …[已截断:原始 ${n.length} 字符,仅保留首尾]…
3
+ `;return`${n.slice(0,i)}${s}${n.slice(-r)}`}function Pi(e){let t="";return typeof e.content=="string"?t=e.content:e.content!=null&&(t=JSON.stringify(e.content)),e.tool_calls&&(t+=JSON.stringify(e.tool_calls)),e.name&&(t+=e.name),Math.ceil(t.length/2)||1}function zi(e,t){const n=e.length;if(n===0)return e;let i=0,r=n-1;for(let s=n-1;s>=0;s--)if(i+=Pi(e[s]),r=s,i>t){r=Math.min(s+1,n-1);break}return r>0&&e[r].role==="tool"&&(r-=1),e.slice(r)}class yr{constructor(t){Z(this,"messages",[]);Z(this,"config");Z(this,"listeners",new Set);Z(this,"abortController",null);Z(this,"_loading",!1);this.config={...t,maxToolRounds:t.maxToolRounds??6,maxToolResultChars:t.maxToolResultChars??3e4}}get loading(){return this._loading}updateProviderConfig(t){this.config.providerConfig={...this.config.providerConfig,...t}}initialize(t){this.messages.length=0,this.messages.push(...t)}clear(){var t;this.stop(),this.messages.length=0,(t=this.config.storage)==null||t.save([])}on(t){return this.listeners.add(t),()=>this.listeners.delete(t)}emit(t){this.listeners.forEach(n=>n(t))}async sendMessage(t){var r;const n=t.trim();if(!n||this._loading)return;this._loading=!0,this.abortController=new AbortController,this.emit({type:"status",loading:!0});const i={role:"user",content:n};this.messages.push(i),this.emit({type:"message",message:i});try{let s=0;const l=this.config.maxToolRounds;for(;s<l;){s++;const a={role:"assistant",content:""};this.messages.push(a),this.emit({type:"message",message:a});const c=this.buildApiMessages(),A=await this.config.provider.streamChat({config:this.config.providerConfig,messages:c,tools:this.config.tools.getDefinitions(),signal:this.abortController.signal,onContent:f=>{a.content+=f,this.emit({type:"stream:delta",delta:{content:f}})},onReasoning:f=>{this.emit({type:"stream:delta",delta:{reasoning:f}})}});if(a.content=A.content,this.emit({type:"stream:end",content:A.content,reasoning:A.reasoning,finishReason:A.finish_reason}),A.tool_calls.length>0){a.tool_calls=A.tool_calls;for(const f of A.tool_calls){this.emit({type:"tool:start",call:f});const h=await this.config.tools.execute(f.function.name,f.function.arguments);this.emit({type:"tool:end",call:f,output:h}),this.messages.push({role:"tool",tool_call_id:f.id,content:kr(h.result??"",this.config.maxToolResultChars??3e4),name:f.function.name})}continue}break}await((r=this.config.storage)==null?void 0:r.save(this.messages))}catch(s){if((s==null?void 0:s.name)!=="AbortError")this.dropTrailingEmptyAssistant(),this.emit({type:"error",error:(s==null?void 0:s.message)||"请求出错"});else{const l=this.messages[this.messages.length-1];(l==null?void 0:l.role)==="assistant"&&!l.content&&(l.content="(已停止生成)")}}finally{this._loading=!1,this.abortController=null,this.emit({type:"status",loading:!1})}}stop(){var t;(t=this.abortController)==null||t.abort()}dropTrailingEmptyAssistant(){const t=this.messages[this.messages.length-1];(t==null?void 0:t.role)==="assistant"&&!t.content&&!t.tool_calls&&this.messages.pop()}buildApiMessages(){const t=this.messages;let i=t.length>0&&t[t.length-1].role==="assistant"&&t[t.length-1].content===""&&!t[t.length-1].tool_calls?t.slice(0,-1):t;const r=this.config.maxHistoryMessages??0;r>0&&i.length>r&&(i=i.slice(i.length-r));const s=this.config.maxContextTokens??0;for(s>0&&(i=zi(i,s));i.length&&i[0].role==="tool";)i=i.slice(1);return this.config.systemPrompt?[{role:"system",content:this.config.systemPrompt},...i]:[...i]}}class Er{constructor(){Z(this,"_definitions",[]);Z(this,"_handlers",new Map)}register(t,n){const i=t.function.name,r=this._definitions.findIndex(s=>s.function.name===i);return r!==-1&&this._definitions.splice(r,1),this._definitions.push(t),this._handlers.set(i,n),this}registerBatch(t){for(const n of t)this.register(n.definition,n.handler);return this}getDefinitions(){return[...this._definitions]}async execute(t,n){const i=this._handlers.get(t);if(!i)return{success:!1,result:`未知工具:${t}`};try{const r=n?JSON.parse(n):{};return await i(r)}catch(r){return{success:!1,result:`工具执行异常:${(r==null?void 0:r.message)||String(r)}`}}}}const je={deepseek:{apiKey:"",baseUrl:"https://api.deepseek.com",model:"deepseek-v4-flash",temperature:0,thinking:!1,thinkingEffort:"low"},openai:{apiKey:"",baseUrl:"https://api.openai.com/v1",model:"gpt-4o-mini",temperature:0,thinking:!1,thinkingEffort:"low"},"openai-compatible":{apiKey:"",baseUrl:"",model:"",temperature:0,thinking:!1,thinkingEffort:"low"}},nn={providerId:"deepseek",providerMode:"direct",proxyUrl:"http://localhost:3001/api/chat",providers:je,mdTableClick:!0,mdListClick:!0,apiKey:je.deepseek.apiKey,baseUrl:je.deepseek.baseUrl,model:je.deepseek.model,temperature:je.deepseek.temperature,thinking:je.deepseek.thinking,thinkingEffort:je.deepseek.thinkingEffort};function ji(e){return{type:"function",function:{name:e.name,description:e.description,parameters:e.parameters}}}const Bo=je.deepseek;je.openai;const on=je["openai-compatible"],Lt="deepseek",ao=[{id:"deepseek",name:"DeepSeek",protocol:"openai-compatible",defaultBaseUrl:Bo.baseUrl,defaultModel:Bo.model,models:[{label:"deepseek-v4-flash",value:"deepseek-v4-flash"},{label:"deepseek-v4-pro",value:"deepseek-v4-pro"}],apiKeyUrl:"https://platform.deepseek.com/api_keys",capabilities:{thinking:!0,reasoningEffort:!0},buildBody(e,t){var n,i;e.thinking={type:((n=t.thinking)==null?void 0:n.type)==="enabled"?"enabled":"disabled"},((i=t.thinking)==null?void 0:i.type)==="enabled"&&t.thinking.effort&&(e.reasoning_effort=t.thinking.effort)}},{id:"shangshan",name:"上善",protocol:"openai-compatible",defaultBaseUrl:on.baseUrl,defaultModel:on.model,models:[],allowCustomModel:!0,capabilities:{}},{id:"openai-compatible-custom",name:"自定义(OpenAI 兼容协议)",protocol:"openai-compatible",defaultBaseUrl:on.baseUrl,defaultModel:on.model,models:[],allowCustomModel:!0,capabilities:{}}],yt=new Map(ao.map(e=>[e.id,e]));function Ir(e){yt.set(e.id,e)}function it(e){return e?yt.get(e)??yt.get(Lt):yt.get(Lt)}function co(){return Array.from(yt.values())}function Ft(e){const t=je[e.id];return{apiKey:(t==null?void 0:t.apiKey)??"",baseUrl:e.defaultBaseUrl||(t==null?void 0:t.baseUrl)||"",model:e.defaultModel||(t==null?void 0:t.model)||"",temperature:(t==null?void 0:t.temperature)??0,thinking:(t==null?void 0:t.thinking)??!1,thinkingEffort:(t==null?void 0:t.thinkingEffort)??"low"}}const br=["apiKey","baseUrl","model","temperature","thinking","thinkingEffort"];function Dr(e){return br.some(t=>e[t]!==void 0)}function wr(e){return e.providerId&&yt.has(e.providerId)?e.providerId:Lt}function Br(e){const t={};for(const n of br)e[n]!==void 0&&(t[n]=e[n]);return t}function vr(e){const t=e.providers[e.providerId];return t&&(e.apiKey=t.apiKey,e.baseUrl=t.baseUrl,e.model=t.model,e.temperature=t.temperature,e.thinking=t.thinking,e.thinkingEffort=t.thinkingEffort),e}function St(e){var l,a;const t=e??{},n={};for(const c of co())n[c.id]={...Ft(c),...((l=t.providers)==null?void 0:l[c.id])??{}};for(const[c,A]of Object.entries(t.providers??{})){if(n[c])continue;const f=yt.get(c);n[c]={...f?Ft(f):{...on},...A}}const i=wr(t);!((a=t.providers)!=null&&a[i])&&Dr(t)&&(n[i]={...n[i]??Ft(it(i)),...Br(t)});const s={providerId:t.providerId&&yt.has(t.providerId)&&n[t.providerId]?t.providerId:Lt,providerMode:t.providerMode??nn.providerMode,proxyUrl:t.proxyUrl??nn.proxyUrl,providers:n,mdTableClick:t.mdTableClick??nn.mdTableClick,mdListClick:t.mdListClick??nn.mdListClick,useTools:t.useTools};return vr(s)}function eo(e,t){var r;if(!t)return St(e);const n={};for(const[s,l]of Object.entries(e.providers))n[s]={...l};for(const[s,l]of Object.entries(t.providers??{}))n[s]={...n[s]??{},...l};const i=wr(t);return!((r=t.providers)!=null&&r[i])&&Dr(t)&&(n[i]={...n[i]??Ft(it(i)),...Br(t)}),St({...e,...t,providers:n})}const Xi=ao[0].models;function Fr(e){return(e||"").trim().replace(/\/+$/,"")}function $i(e){const t=Fr(e);if(!t)throw new Error("未配置接口地址");return/\/chat\/completions$/.test(t)?t:`${t}/chat/completions`}function xr(e){return Fr(e).replace(/\/api\/chat$/,"")}async function qi(e){var n;let t=`请求失败(HTTP ${e.status})`;try{const i=await e.text();if(!i)return t;try{const r=JSON.parse(i);if((n=r==null?void 0:r.error)!=null&&n.message)return r.error.message;if(typeof(r==null?void 0:r.error)=="string")return r.error;if(r!=null&&r.message)return r.message}catch{return i.slice(0,300)}}catch{}return t}function pn(e){const{preset:t,mode:n="direct"}=e;return{async streamChat(i){var W,H,q,Be,be;const{config:{baseUrl:r,apiKey:s,model:l,temperature:a},messages:c,tools:A,signal:f,onContent:h,onReasoning:p}=i;if(n==="direct"&&!s)throw new Error("未配置 API Key");const C=n==="proxy"?`${xr(r)}/api/chat`:$i(r),d={model:l,messages:c,stream:!0};t.capabilities.temperature!==!1&&typeof a=="number"&&(d.temperature=a),t.capabilities.tools!==!1&&(A!=null&&A.length)&&(d.tools=A,d.tool_choice="auto"),(W=t.buildBody)==null||W.call(t,d,i.config),i.config.extraBody&&Object.assign(d,i.config.extraBody),n==="proxy"&&(d.providerId=i.config.providerId??t.id);const w={"Content-Type":"application/json"};n==="direct"&&Object.assign(w,((H=t.buildHeaders)==null?void 0:H.call(t,s))??{Authorization:`Bearer ${s}`});const I=await fetch(C,{method:"POST",headers:w,body:JSON.stringify(d),signal:f});if(!I.ok)throw new Error(await qi(I));if((I.headers.get("content-type")||"").toLowerCase().includes("application/json")){const R=await I.json();if(R!=null&&R.error){const te=((q=R.error)==null?void 0:q.message)||(typeof R.error=="string"?R.error:"模型服务返回错误");throw new Error(te)}const ee=(Be=R==null?void 0:R.choices)==null?void 0:Be[0],z=(ee==null?void 0:ee.message)??{},X=typeof z.content=="string"?z.content:"",U=typeof z.reasoning_content=="string"?z.reasoning_content:typeof z.reasoning=="string"?z.reasoning:"",he=Array.isArray(z.tool_calls)?z.tool_calls.map(te=>{var Te,Oe;return{id:(te==null?void 0:te.id)||"",type:(te==null?void 0:te.type)||"function",function:{name:((Te=te==null?void 0:te.function)==null?void 0:Te.name)||"",arguments:((Oe=te==null?void 0:te.function)==null?void 0:Oe.arguments)||""}}}).filter(te=>te.function.name):[];return X&&(h==null||h(X)),U&&(p==null||p(U)),{content:X,reasoning:U,tool_calls:he,finish_reason:(ee==null?void 0:ee.finish_reason)||"stop",usage:R==null?void 0:R.usage}}if(!I.body)throw new Error("响应无内容");const y=I.body.getReader(),b=new TextDecoder("utf-8");let _="",k="",v="",Q="stop",P;const K=new Map,se=R=>{if(!R)return;const ee=R.index??0;K.has(ee)||K.set(ee,{id:"",type:"function",function:{name:"",arguments:""}});const z=K.get(ee);R.id&&(z.id=R.id),R.type&&(z.type=R.type),R.function&&(R.function.name&&(z.function.name+=R.function.name),R.function.arguments&&(z.function.arguments+=R.function.arguments))},S=R=>{var U;R!=null&&R.usage&&(P=R.usage);const ee=(U=R==null?void 0:R.choices)==null?void 0:U[0];if(!ee)return;const z=ee.delta||{};typeof z.content=="string"&&z.content&&(k+=z.content,h==null||h(z.content));const X=typeof z.reasoning_content=="string"?z.reasoning_content:typeof z.reasoning=="string"?z.reasoning:"";X&&(v+=X,p==null||p(X)),Array.isArray(z.tool_calls)&&z.tool_calls.forEach(he=>se(he)),ee.finish_reason&&(Q=ee.finish_reason)},M=()=>{const R=Array.from(K.values()).filter(ee=>ee.function.name);return{content:k,reasoning:v,tool_calls:R,finish_reason:Q,usage:P}};for(;;){const{done:R,value:ee}=await y.read();if(R)break;_+=b.decode(ee,{stream:!0});let z;for(;(z=_.indexOf(`
4
+ `))!==-1;){const X=_.slice(0,z).replace(/\r$/,"").trim();if(_=_.slice(z+1),!X||X.startsWith(":")||!X.startsWith("data:"))continue;const U=X.slice(5).trim();if(U==="[DONE]")return M();if(!U)continue;let he;try{he=JSON.parse(U)}catch{continue}if(he!=null&&he.error){const te=((be=he.error)==null?void 0:be.message)||(typeof he.error=="string"?he.error:"模型服务返回错误");throw new Error(te)}S(he)}}return M()}}}function Sr(){return{streamChat(e){const t=it(e.config.providerId);if(!t)throw new Error("未找到当前模型提供方配置");return pn({preset:t,mode:"proxy"}).streamChat(e)}}}const Nr=new Map;function es(e,t){Nr.set(e,t)}function Rr(e,t){const n=Nr.get(e);if(n)return n({id:e,mode:t});const i=it(e);if(!i||e&&i.id!==e)throw new Error(`未知模型提供方:${e}`);return t==="proxy"?Sr():pn({preset:i})}const to="REQUIREMENT_UNMET";function Tr(e){return e?(Array.isArray(e)?e:[e]).filter(Boolean):[]}async function ts(e,t,n){var r,s;const i=[];for(const l of e){if(!(l!=null&&l.check)||!n)continue;const a=l.action??((r=l.tools)!=null&&r.length?"call-tool":"ask-user");let c;try{c=await n({sessionId:t.sessionId,packageId:t.packageId,toolName:t.toolName,args:t.args,check:l.check,description:l.description})}catch(A){i.push({description:l.description,check:l.check,message:`前置条件校验异常:${(A==null?void 0:A.message)||"未知错误"}`,hint:l.hint,action:l.action??"block"});continue}c!=null&&c.ok||i.push({description:l.description,check:l.check,message:(c==null?void 0:c.message)||l.description,hint:(c==null?void 0:c.hint)??l.hint,suggestedTool:(c==null?void 0:c.suggestedTool)??((s=l.tools)==null?void 0:s[0]),action:(c==null?void 0:c.action)??a})}return i}function ns(e,t){var r,s,l;const n=(r=t.find(a=>a.hint))==null?void 0:r.hint,i=(s=t.find(a=>a.suggestedTool))==null?void 0:s.suggestedTool;return{ok:!1,code:to,tool:e,requirements:t.map(a=>({description:a.description,check:a.check,message:a.message})),...n?{hint:n}:{},...i?{suggestedTool:i}:{},action:((l=t[0])==null?void 0:l.action)??"block",retryable:!0}}function os(e){var t;try{const n=JSON.parse(e);if(n!=null&&n.hint)return String(n.hint);const i=(t=n==null?void 0:n.requirements)==null?void 0:t[0];if(i!=null&&i.message)return String(i.message);if(i!=null&&i.description)return String(i.description)}catch{}return e}function rs(e){const t=Tr(e.requires);return t.length?t.map(n=>{var r;let i=n.description;return(r=n.tools)!=null&&r.length&&(i+=`(建议先调用: ${n.tools.join(", ")})`),n.hint&&(i+=`;未满足时: ${n.hint}`),i}).join(";"):""}function is(e){var n,i,r,s,l;const t=[];return(n=e.displayHints)!=null&&n.suggestComponent&&t.push(`展示建议: 使用 ${e.displayHints.suggestComponent} 组件`),(i=e.displayHints)!=null&&i.resultFormat&&t.push(`格式: ${e.displayHints.resultFormat}`),(s=(r=e.displayHints)==null?void 0:r.previewFields)!=null&&s.length&&t.push(`预览字段: ${e.displayHints.previewFields.join(", ")}`),(l=e.displayHints)!=null&&l.summaryTemplate&&t.push(`概要模板: ${e.displayHints.summaryTemplate}`),t.length?t.join(" | "):""}function Mr(e){const t=[`【${e.name}】${e.description}`];for(const n of e.tools){const i=is(n);t.push(` - ${n.name}: ${n.description}`),i&&t.push(` ${i}`);const r=rs(n);r&&t.push(` 前置条件: ${r}`)}return t.join(`
5
+ `)}function Qr(e){const t=["你是一个 AI 助手,可以帮助用户完成各种操作。","","你可以使用以下工具包:",""];for(const n of e)t.push(Mr(n)),t.push("");return t.push("注意:"),t.push("1. 所有回复与思考/推理过程(reasoning / thinking)一律使用中文(禁止使用英文),保持简洁清晰;除非用户明确要求使用其他语言,此时思考与回复也相应使用该语言。"),t.push("2. 当你需要查询或操作数据时,调用对应工具包中的函数。"),t.push("3. 工具函数由宿主系统执行,你只需要传递正确的参数。"),t.push("4. 获取到工具结果后,回复用户并告知结果。"),t.push("5. 如果工具返回了结构化数据(如订单信息、系统状态等),在回复中清晰地展示给用户。"),t.push("6. 根据结果动态建议用户接下来可以做什么。"),t.push("7. 你返回的建议必须是中文,不能是英文或其他语言。"),t.push("8. 你返回的建议中涉及到工具要分条目,每个条目占一行,方便用户点击执行。"),t.push("9. 如果用户上传了文件,文件格式为(.txt、.json、.geojson等格式),你必须调用 open_mapview_file 工具在地图上展示,不要只回复文字。"),t.push(""),t.push("--- 文件上传规则 ---"),t.push("用户可能上传文件,文件以如下格式出现在消息中:"),t.push("已上传文件:"),t.push("1. **文件名**(类型,大小KB),文件ID:`fileId`"),t.push("你无法查看文件内容,只能看到文件名和类型。"),t.push("你必须根据文件名、扩展名和用户的文字指令,调用对应的工具来处理文件。"),t.push("如果某个工具需要处理该文件,在工具参数中传入 fileId。"),t.push('不要回复假性成功消息(如"已在地图上显示"),如果不调用工具,文件不会被实际处理。'),t.push("不要编造文件内容,不要假装你看到了文件数据。"),t.join(`
6
+ `)}const ss=`--- 重复指令处理规则 ---
6
7
  如果用户再次发送相同或类似的指令(即使之前已经执行过),必须重新调用对应的工具再次执行。
7
- 不得以"已经执行过""之前做过"等理由拒绝,也不能用历史中的工具结果代替重新执行。`;function gi(e){const t=String(e).replace(/\s+/g,"");if(!t||!/^[\d+\-*/%().]+$/.test(t))throw new Error("表达式含非法字符");return Ci(t)}function Ci(e){let t=0;function n(){return e[t]??""}function i(u){return e[t]===u?(t++,!0):!1}function o(){const u=t;for(;/[\d.]/.test(n());)t++;const d=e.slice(u,t);if(!d)throw new Error("预期数字");const f=Number(d);if(Number.isNaN(f))throw new Error("无效数字");return f}function s(){if(i("-"))return-s();if(i("+"))return s();if(i("(")){const u=A();if(!i(")"))throw new Error("括号不匹配");return u}return o()}function l(){let u=s();for(;;)if(i("*"))u*=s();else if(i("/"))u/=s();else if(i("%"))u=(u%s()+s())%s();else break;return u}function A(){let u=l();for(;;)if(i("+"))u+=l();else if(i("-"))u-=l();else break;return u}const a=A();if(t!==e.length)throw new Error("无法解析的表达式");return a}const wt={id:"__builtin",name:"内置工具",description:"开箱即用的通用工具(时间、计算、UUID、客户端信息)",tools:[{name:"get_current_time",description:"获取用户当前的时间、日期、时区与星期",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"card"}},{name:"calculate_expression",description:"安全计算数学表达式(支持 + - * / % 和括号)",parameters:{type:"object",properties:{expression:{type:"string",description:"数学表达式,如 (1+2)*3"}},required:["expression"]},displayHints:{resultFormat:"text"}},{name:"generate_uuid",description:"生成一个 UUID v4 随机标识符",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"text"}},{name:"get_client_info",description:"获取用户浏览器的基本信息(UA、平台、语言、屏幕尺寸)",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"card"}}]};function _i(){return{get_current_time:()=>{const e=new Date;return{time:e.toLocaleTimeString(),date:e.toLocaleDateString(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,weekday:e.toLocaleDateString("zh-CN",{weekday:"long"})}},calculate_expression:e=>{if(!(e!=null&&e.expression))throw new Error("缺少 expression 参数");const t=gi(String(e.expression));return{expression:e.expression,result:t}},generate_uuid:()=>{let e=[];const t="0123456789abcdef";for(let n=0;n<36;n++)e[n]=t.charAt(Math.floor(Math.random()*16));return e[14]="4",e[19]=t.charAt(parseInt(e[19],16)&3|8),e[8]=e[13]=e[18]=e[23]="-",{uuid:e.join("")}},get_client_info:()=>{var e;return{userAgent:navigator.userAgent,platform:navigator.platform,language:navigator.language,languages:(e=navigator.languages)==null?void 0:e.join(", "),screen:`${window.screen.width}×${window.screen.height}`}}}}const ki=_i();function qo(e,t){const n=ki[e];if(!n)throw new Error(`未知内置工具:${e}`);return n(t)}function yi(e,t,n){var s;let i=null;if(e.type==="auto"&&(e={...e,type:Mn(e.data)}),e.type==="component"&&e.componentName){let l;e.packageId&&(l=t.find(A=>A.id===e.packageId)),!l&&n&&(l=t.find(A=>A.id===n)),(s=l==null?void 0:l.components)!=null&&s[e.componentName]&&(i=l.components[e.componentName])}const o=Ei(e);return{component:i,block:e,fallbackText:o}}function Mn(e){const t=Mt(e);return t&&t.length===1?"none":"table"}function Ei(e){switch(e.type){case"table":return bi(e);case"card":return Di(e);case"list":return Ii(e);case"none":return"";default:return JSON.stringify(e.data,null,2)}}function Mt(e){return e==null?null:Array.isArray(e)?e:typeof e!="object"?null:Array.isArray(e.data)?e.data:Array.isArray(e.list)?e.list:Array.isArray(e.items)?e.items:[e]}function bi(e){const t=Mt(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
8
+ 不得以"已经执行过""之前做过"等理由拒绝,也不能用历史中的工具结果代替重新执行。`,ls=`--- 工具前置条件规则 ---
9
+ 1. 调用工具前先对照该工具的"前置条件";未满足时先补齐(调用建议的前置工具,或向用户确认),不要直接调用。
10
+ 2. 如果工具结果返回 {"ok":false,"code":"REQUIREMENT_UNMET"},禁止编造执行结果、禁止回复"已完成";
11
+ 必须按 hint / suggestedTool 补齐前置条件后重试同一工具。
12
+ 3. 属于"需要用户确认"的前置条件而用户尚未明确选择时,必须先向用户提问,禁止自行假设。`;function as(e){const t=String(e).replace(/\s+/g,"");if(!t||!/^[\d+\-*/%().]+$/.test(t))throw new Error("表达式含非法字符");return cs(t)}function cs(e){let t=0;function n(){return e[t]??""}function i(A){return e[t]===A?(t++,!0):!1}function r(){const A=t;for(;/[\d.]/.test(n());)t++;const f=e.slice(A,t);if(!f)throw new Error("预期数字");const h=Number(f);if(Number.isNaN(h))throw new Error("无效数字");return h}function s(){if(i("-"))return-s();if(i("+"))return s();if(i("(")){const A=a();if(!i(")"))throw new Error("括号不匹配");return A}return r()}function l(){let A=s();for(;;)if(i("*"))A*=s();else if(i("/"))A/=s();else if(i("%"))A=(A%s()+s())%s();else break;return A}function a(){let A=l();for(;;)if(i("+"))A+=l();else if(i("-"))A-=l();else break;return A}const c=a();if(t!==e.length)throw new Error("无法解析的表达式");return c}const sn={id:"__builtin",name:"内置工具",description:"开箱即用的通用工具(时间、计算、UUID、客户端信息)",tools:[{name:"get_current_time",alias:"获取当前时间",description:"获取用户当前的时间、日期、时区与星期",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"card"}},{name:"calculate_expression",alias:"计算表达式",description:"安全计算数学表达式(支持 + - * / % 和括号)",parameters:{type:"object",properties:{expression:{type:"string",description:"数学表达式,如 (1+2)*3"}},required:["expression"]},displayHints:{resultFormat:"text"}},{name:"generate_uuid",alias:"生成 UUID",description:"生成一个 UUID v4 随机标识符",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"text"}},{name:"get_client_info",alias:"获取客户端信息",description:"获取用户浏览器的基本信息(UA、平台、语言、屏幕尺寸)",parameters:{type:"object",properties:{}},displayHints:{resultFormat:"card"}}]};function As(){return{get_current_time:()=>{const e=new Date;return{时间:e.toLocaleTimeString(),日期:e.toLocaleDateString(),时区:Intl.DateTimeFormat().resolvedOptions().timeZone,星期:e.toLocaleDateString("zh-CN",{weekday:"long"})}},calculate_expression:e=>{if(!(e!=null&&e.expression))throw new Error("缺少 expression 参数");const t=as(String(e.expression));return{expression:e.expression,result:t}},generate_uuid:()=>{let e=[];const t="0123456789abcdef";for(let n=0;n<36;n++)e[n]=t.charAt(Math.floor(Math.random()*16));return e[14]="4",e[19]=t.charAt(parseInt(e[19],16)&3|8),e[8]=e[13]=e[18]=e[23]="-",{uuid:e.join("")}},get_client_info:()=>{var e;return{userAgent:navigator.userAgent,platform:navigator.platform,language:navigator.language,languages:(e=navigator.languages)==null?void 0:e.join(", "),screen:`${window.screen.width}×${window.screen.height}`}}}}const us=As();function Kr(e,t){const n=us[e];if(!n)throw new Error(`未知内置工具:${e}`);return n(t)}function Gr(e,t,n){var s;let i=null;if(e.type==="auto"&&(e={...e,type:Ao(e.data)}),e.type==="component"&&e.componentName){let l;e.packageId&&(l=t.find(a=>a.id===e.packageId)),!l&&n&&(l=t.find(a=>a.id===n)),(s=l==null?void 0:l.components)!=null&&s[e.componentName]&&(i=l.components[e.componentName])}const r=ds(e);return{component:i,block:e,fallbackText:r}}function Ao(e){const t=mn(e);return t&&t.length===1?"none":"table"}function ds(e){switch(e.type){case"table":return fs(e);case"card":return hs(e);case"list":return ps(e);case"none":return"";default:return JSON.stringify(e.data,null,2)}}function mn(e){return e==null?null:Array.isArray(e)?e:typeof e!="object"?null:Array.isArray(e.data)?e.data:Array.isArray(e.list)?e.list:Array.isArray(e.items)?e.items:[e]}function fs(e){const t=mn(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
8
13
 
9
- `:"",i=Object.keys(t[0]),o=`| ${i.join(" | ")} |`,s=`| ${i.map(()=>"---").join(" | ")} |`,l=t.map(A=>`| ${i.map(a=>String(A[a]??"")).join(" | ")} |`).join(`
10
- `);return`${n}${o}
14
+ `:"",i=Object.keys(t[0]),r=`| ${i.join(" | ")} |`,s=`| ${i.map(()=>"---").join(" | ")} |`,l=t.map(a=>`| ${i.map(c=>String(a[c]??"")).join(" | ")} |`).join(`
15
+ `);return`${n}${r}
11
16
  ${s}
12
- ${l}`}function Di(e){const t=Mt(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
17
+ ${l}`}function hs(e){const t=mn(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
13
18
 
14
- `:"",i=t.map(o=>(e.fields&&e.fields.length?e.fields.filter(A=>A in o):Object.keys(o)).map(A=>`- **${A}**: ${o[A]??""}`).join(`
19
+ `:"",i=t.map(r=>(e.fields&&e.fields.length?e.fields.filter(a=>a in r):Object.keys(r)).map(a=>`- **${a}**: ${r[a]??""}`).join(`
15
20
  `)).join(`
16
21
 
17
22
  ---
18
23
 
19
- `);return`${n}${i}`}function Ii(e){const t=Mt(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
24
+ `);return`${n}${i}`}function ps(e){const t=mn(e.data);if(!(t!=null&&t.length))return"(无数据)";const n=e.title?`**${e.title}**
20
25
 
21
- `:"",i=t.map(o=>`- ${typeof o=="string"?o:Object.values(o).join(" - ")}`).join(`
22
- `);return`${n}${i}`}class Kn{constructor(){L(this,"exactHandlers",new Map);L(this,"regexHandlers",[]);L(this,"isChatOpen",()=>!0)}setChatOpenGetter(t){this.isChatOpen=t}on(t,n){return typeof t=="string"?(this.exactHandlers.has(t)||this.exactHandlers.set(t,new Set),this.exactHandlers.get(t).add(n),()=>this.off(t,n)):(this.regexHandlers.push({pattern:t,handler:n}),()=>this.off(t,n))}off(t,n){var i;if(typeof t=="string"){(i=this.exactHandlers.get(t))==null||i.delete(n);return}this.regexHandlers=this.regexHandlers.filter(o=>o.pattern!==t||o.handler!==n)}dispatch(t,n=!1){var i;if(!(n&&!this.isChatOpen())){(i=this.exactHandlers.get(t.type))==null||i.forEach(o=>o(t));for(const{pattern:o,handler:s}of this.regexHandlers)o.test(t.type)&&s(t)}}clear(){this.exactHandlers.clear(),this.regexHandlers=[]}}function Bi(){return new Kn}let fn=null;function $t(){return fn||(fn=new Kn),fn}const er="agent:page-action";let io=0,Ft=null,Gn=$t(),pn=null;function tr(e){pn&&pn(),pn=Gn.on(er,t=>{e.pendingAction.value=t.payload})}function nr(){const e=r.ref(null),t={pendingAction:e,dispatch(n){io++,Gn.dispatch({type:er,timestamp:Date.now(),payload:{...n,actionId:io}})},consume(){e.value=null}};return tr(t),t}function or(){return Ft||(Ft=nr()),Ft}function rr(e){Gn=e||$t(),Ft&&tr(Ft)}function wi(e){const t=e.bridge||or();function n(o){const s=o.actionName&&e.handlers[o.actionName]||e.handlers["*"];s&&s(o)}function i(){const o=t.pendingAction.value;!o||o.page!==e.page||(t.consume(),r.nextTick(()=>n(o)))}r.onMounted(()=>{i()}),r.watch(()=>{var o;return(o=t.pendingAction.value)==null?void 0:o.actionId},o=>{o&&i()})}class Fi{constructor(t,n){L(this,"bus");L(this,"rules");L(this,"cooldowns",new Map);L(this,"unsubscribers",[]);this.bus=t,this.rules=n}start(t){for(const n of this.rules){const i=this.bus.on(n.event,o=>{if(this.isOnCooldown(n)||(this.setCooldown(n),n.autoPopup&&t.onAutoPopup(),n.action==="silent"))return;const s=this.buildPrompt(n,o);s&&t.onRespond(s)});this.unsubscribers.push(i)}}stop(){for(const t of this.unsubscribers)t();this.unsubscribers=[],this.cooldowns.clear()}getBus(){return this.bus}isOnCooldown(t){if(!t.cooldown)return!1;const n=typeof t.event=="string"?t.event:t.event.source,i=this.cooldowns.get(n);return i?Date.now()<i:!1}setCooldown(t){if(!t.cooldown)return;const n=typeof t.event=="string"?t.event:t.event.source;this.cooldowns.set(n,Date.now()+t.cooldown)}buildPrompt(t,n){return t.prompt?t.prompt.replace(/\{\{payload\.([^}]+)\}\}/g,(i,o)=>{const s=n.payload[o];return s!==void 0?String(s):`{{payload.${o}}}`}):""}}const zt={apiKey:"",baseUrl:"https://api.deepseek.com",model:"deepseek-v4-flash",temperature:0,providerMode:"direct",proxyUrl:"http://localhost:3001/api/chat",thinking:!1,thinkingEffort:"low",mdTableClick:!0,mdListClick:!0};function xi(e){return{type:"function",function:{name:e.name,description:e.description,parameters:e.parameters}}}function mn(){return`m_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function vi(){let e=[],t="0123456789abcdef";for(let i=0;i<36;i++)e[i]=t.substr(Math.floor(Math.random()*16),1);return e[14]="4",e[19]=t.substr(e[19]&3|8,1),e[8]=e[13]=e[18]=e[23]="-",e.join("")}const so="agent_chat_device_id";function Lt(){let e=localStorage.getItem(so);return e||(e=vi(),localStorage.setItem(so,e)),e}function gn(e){try{return e}catch{return""}}function Cn(e){const t=[];for(const n of e)if(n.role==="user")t.push({role:"user",content:n.content});else if(n.role==="assistant"&&(t.push({role:"assistant",content:n.content,tool_calls:n.tool_calls}),n.toolResults))for(const i of n.toolResults)t.push({role:"tool",tool_call_id:i.callId,content:i.result,name:i.name});return t}function ir(e){return e===!0?wt:Array.isArray(e)&&e.length?{...wt,tools:wt.tools.filter(t=>e.includes(t.name))}:null}function Si(e,t){const n=ir(t);return!n||!n.tools.length?e:[n,...e]}function sr(e){var xe,Y,T;const{toolPackages:t,onToolCall:n=async()=>({success:!0}),provider:i,providerConfig:o,systemPrompt:s,storagePrefix:l="agent_chat_",sendFileToLLM:A=!1,suggestedCommands:a=[],builtInTools:u=!0,maxContextTokens:d=48e3,maxHistoryMessages:f=60}=e,_=Si(t,u),m={messages:`${l}messages`,settings:`${l}settings`},h=r.ref([]),k=r.ref({...zt}),D=r.ref(!1),g=r.ref(""),B=new Map,x=r.ref(!1);let C=null;const y=((xe=e.businessEvents)==null?void 0:xe.bus)||$t();y.setChatOpenGetter(()=>x.value),(Y=e.businessEvents)!=null&&Y.bus&&rr(e.businessEvents.bus),(T=e.businessEvents)!=null&&T.rules.length&&(C=new Fi(y,e.businessEvents.rules),C.start({onAutoPopup:()=>{x.value=!0},onRespond:E=>{g.value="",!(!k.value.apiKey&&k.value.providerMode!=="proxy")&&it(E)}})),r.onUnmounted(()=>{C==null||C.stop(),nt()});const K=new Po;for(const E of _){const R=E.id==="__builtin";for(const G of E.tools){const F=xi(G);K.register(F,async O=>{if(R)return await Pe(G,O);const V={packageId:E.id,toolName:G.name,args:O};return await Se(V,E,G)})}}const H=zo(),w=jo(),b=i||{streamChat(E){return(k.value.providerMode==="proxy"?w:H).streamChat(E)}};function v(){const E={...o},R=k.value.thinking?{type:"enabled",effort:k.value.thinkingEffort??"low"}:{type:"disabled"};return k.value.providerMode==="proxy"?{...E,baseUrl:k.value.proxyUrl,apiKey:"",model:k.value.model,temperature:k.value.temperature,thinking:R}:{...E,baseUrl:k.value.baseUrl,apiKey:k.value.apiKey,model:k.value.model,temperature:k.value.temperature,thinking:R}}const N=ir(u);let J=s?N!=null&&N.tools.length?`${s}
26
+ `:"",i=t.map(r=>`- ${typeof r=="string"?r:Object.values(r).join(" - ")}`).join(`
27
+ `);return`${n}${i}`}class uo{constructor(){Z(this,"exactHandlers",new Map);Z(this,"regexHandlers",[]);Z(this,"isChatOpen",()=>!0)}setChatOpenGetter(t){this.isChatOpen=t}on(t,n){return typeof t=="string"?(this.exactHandlers.has(t)||this.exactHandlers.set(t,new Set),this.exactHandlers.get(t).add(n),()=>this.off(t,n)):(this.regexHandlers.push({pattern:t,handler:n}),()=>this.off(t,n))}off(t,n){var i;if(typeof t=="string"){(i=this.exactHandlers.get(t))==null||i.delete(n);return}this.regexHandlers=this.regexHandlers.filter(r=>r.pattern!==t||r.handler!==n)}dispatch(t,n=!1){var i;if(!(n&&!this.isChatOpen())){(i=this.exactHandlers.get(t.type))==null||i.forEach(r=>r(t));for(const{pattern:r,handler:s}of this.regexHandlers)r.test(t.type)&&s(t)}}clear(){this.exactHandlers.clear(),this.regexHandlers=[]}}function ms(){return new uo}let Vn=null;function Rn(){return Vn||(Vn=new uo),Vn}const Wr="agent:page-action";let vo=0,ln=null,fo=Rn(),On=null;function Vr(e){On&&On(),On=fo.on(Wr,t=>{e.pendingAction.value=t.payload})}function Or(){const e=o.ref(null),t={pendingAction:e,dispatch(n){vo++,fo.dispatch({type:Wr,timestamp:Date.now(),payload:{...n,actionId:vo}})},consume(){e.value=null}};return Vr(t),t}function Yr(){return ln||(ln=Or()),ln}function Ur(e){fo=e||Rn(),ln&&Vr(ln)}function gs(e){const t=e.bridge||Yr();function n(r){const s=r.actionName&&e.handlers[r.actionName]||e.handlers["*"];s&&s(r)}function i(){const r=t.pendingAction.value;!r||r.page!==e.page||(t.consume(),o.nextTick(()=>n(r)))}o.onMounted(()=>{i()}),o.watch(()=>{var r;return(r=t.pendingAction.value)==null?void 0:r.actionId},r=>{r&&i()})}class Cs{constructor(t,n){Z(this,"bus");Z(this,"rules");Z(this,"cooldowns",new Map);Z(this,"unsubscribers",[]);this.bus=t,this.rules=n}start(t){for(const n of this.rules){const i=this.bus.on(n.event,r=>{if(this.isOnCooldown(n)||(this.setCooldown(n),n.autoPopup&&t.onAutoPopup(),n.action==="silent"))return;const s=this.buildPrompt(n,r);s&&t.onRespond(s)});this.unsubscribers.push(i)}}stop(){for(const t of this.unsubscribers)t();this.unsubscribers=[],this.cooldowns.clear()}getBus(){return this.bus}isOnCooldown(t){if(!t.cooldown)return!1;const n=typeof t.event=="string"?t.event:t.event.source,i=this.cooldowns.get(n);return i?Date.now()<i:!1}setCooldown(t){if(!t.cooldown)return;const n=typeof t.event=="string"?t.event:t.event.source;this.cooldowns.set(n,Date.now()+t.cooldown)}buildPrompt(t,n){return t.prompt?t.prompt.replace(/\{\{payload\.([^}]+)\}\}/g,(i,r)=>{const s=n.payload[r];return s!==void 0?String(s):`{{payload.${r}}}`}):""}}const wn=24;function ho(e,t){var r;const n=String(e||"").replace(/\s+/g," ").trim();if(n)return n.length>wn?`${n.slice(0,wn)}…`:n;const i=(r=t==null?void 0:t.find(s=>s&&s.name))==null?void 0:r.name;return i?i.length>wn?`${i.slice(0,wn)}…`:i:"新对话"}function Fo(e){return[...e].sort((t,n)=>n.updatedAt-t.updatedAt)}function _s(){return`s_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function Hr(e){const t=`${e}sessions`,n=a=>`${e}session_${a}`,i=`${e}messages`;function r(){try{const a=localStorage.getItem(t);if(!a)return[];const c=JSON.parse(a);return Array.isArray(c)?c:[]}catch{return[]}}function s(a){localStorage.setItem(t,JSON.stringify(Fo(a)))}function l(){try{if(localStorage.getItem(t))return;const a=localStorage.getItem(i);if(!a)return;const c=JSON.parse(a);if(!Array.isArray(c)||!c.length)return;const A=c.find(d=>{var w;return d&&d.role==="user"&&(d.content||((w=d.files)==null?void 0:w.length))}),f="s_legacy",h=c[0],p=c[c.length-1],C={id:f,title:ho((A==null?void 0:A.content)??"",A==null?void 0:A.files),createdAt:Number(h==null?void 0:h.timestamp)||Date.now(),updatedAt:Number(p==null?void 0:p.timestamp)||Date.now(),messageCount:c.length};localStorage.setItem(n(f),JSON.stringify(c)),s([C]),localStorage.removeItem(i)}catch{}}return{async list(){return l(),Fo(r())},async create(a){const c=Date.now(),A={id:_s(),title:a||"新对话",createdAt:c,updatedAt:c,messageCount:0};return s([A,...r()]),localStorage.setItem(n(A.id),"[]"),A},async load(a){try{const c=localStorage.getItem(n(a));if(!c)return[];const A=JSON.parse(c);return Array.isArray(A)?A:[]}catch{return[]}},async save(a,c,A){localStorage.setItem(n(a),JSON.stringify(c));const f=r(),h=f.findIndex(C=>C.id===a);if(h===-1)return null;const p={...f[h],updatedAt:Date.now(),messageCount:c.length};return A!=null&&A.title&&(p.title=A.title),f[h]=p,s(f),p},async remove(a){localStorage.removeItem(n(a)),s(r().filter(c=>c.id!==a))}}}function Lr(e,t){const n=(e||"").replace(/\/+$/,""),i=`device_id=${encodeURIComponent(t)}`;async function r(l,a){var A;if(!n)throw new Error("未配置代理地址");const c=await fetch(`${n}${l}`,a);if(!c.ok){let f="";try{const h=await c.json();f=((A=h==null?void 0:h.error)==null?void 0:A.message)||""}catch{}throw new Error(f||`HTTP ${c.status}`)}return c.json()}function s(l){return{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)}}return{async list(){const l=await r(`/api/sessions?${i}`);return Array.isArray(l==null?void 0:l.sessions)?l.sessions:[]},async create(l){const a=await r("/api/sessions",s({device_id:t,title:l}));return a==null?void 0:a.session},async load(l){const a=await r(`/api/sessions/${encodeURIComponent(l)}/messages?${i}`);return Array.isArray(a==null?void 0:a.messages)?a.messages:[]},async save(l,a,c){const A=await r(`/api/sessions/${encodeURIComponent(l)}/messages?${i}`,{...s({device_id:t,messages:a}),method:"PUT"});if(c!=null&&c.title){const f=await r(`/api/sessions/${encodeURIComponent(l)}?${i}`,{...s({device_id:t,title:c.title}),method:"PATCH"});return(f==null?void 0:f.session)??(A==null?void 0:A.session)??null}return(A==null?void 0:A.session)??null},async remove(l){await r(`/api/sessions/${encodeURIComponent(l)}?${i}`,{method:"DELETE"})}}}function xo(){return`m_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function ks(){let e=[],t="0123456789abcdef";for(let i=0;i<36;i++)e[i]=t.substr(Math.floor(Math.random()*16),1);return e[14]="4",e[19]=t.substr(e[19]&3|8,1),e[8]=e[13]=e[18]=e[23]="-",e.join("")}const no="agent_chat_device_id";function So(){let e=localStorage.getItem(no);return e||(e=ks(),localStorage.setItem(no,e)),e}function ys(e){localStorage.setItem(no,e)}function Es(e){return xr(e)}function No(e,t){var i;const n=[];for(const r of e)if(r.role==="user")n.push({role:"user",content:t?t(r):r.content});else if(r.role==="assistant"){if(!r.content&&!((i=r.tool_calls)!=null&&i.length))continue;if(n.push({role:"assistant",content:r.content,tool_calls:r.tool_calls}),r.toolResults)for(const s of r.toolResults)n.push({role:"tool",tool_call_id:s.callId,content:s.result,name:s.name})}return n}function Jr(e){return e===!0?sn:Array.isArray(e)&&e.length?{...sn,tools:sn.tools.filter(t=>e.includes(t.name))}:null}function Is(e,t){const n=Jr(t);return!n||!n.tools.length?e:[n,...e]}function Zr(e){var kn,Xt,Wt;const{toolPackages:t,onToolCall:n=async()=>({success:!0}),onCheckToolRequirement:i,provider:r,providerConfig:s,systemPrompt:l,storagePrefix:a="agent_chat_",sendFileToLLM:c=!1,suggestedCommands:A=[],builtInTools:f=!0,providerPresets:h=[],maxContextTokens:p=48e3,maxHistoryMessages:C=60,maxToolResultChars:d=3e4,disposeOnUnmount:w=!1}=e;for(const g of h)Ir(g);const I=Is(t,f),E={settings:`${a}settings`},y=o.ref([]),b=o.ref(St(e.settings)),_=o.ref(!1),k=o.ref(""),v=o.ref(""),Q=new Map,P=o.ref(!1),K=o.ref([]),se=o.ref(""),S=o.ref(!1);let M=null;const W=((kn=e.businessEvents)==null?void 0:kn.bus)||Rn();W.setChatOpenGetter(()=>P.value),(Xt=e.businessEvents)!=null&&Xt.bus&&Ur(e.businessEvents.bus),(Wt=e.businessEvents)!=null&&Wt.rules.length&&(M=new Cs(W,e.businessEvents.rules),M.start({onAutoPopup:()=>{P.value=!0},onRespond:g=>{var D;k.value="",!(!((D=be())!=null&&D.apiKey)&&b.value.providerMode!=="proxy")&&Mt(g)}}));const H=new Er,q=new Map;for(const g of I){const D=g.id==="__builtin";for(const G of g.tools){G.alias?q.set(G.name,G.alias):q.delete(G.name);const F=ji(G);H.register(F,async L=>{if(D)return await zt(G,L);const re={packageId:g.id,toolName:G.name,args:L};return await Rt(re,g,G)})}}const Be=r||{streamChat(g){return Rr(b.value.providerId,b.value.providerMode).streamChat(g)}};function be(){return b.value.providers[b.value.providerId]??b.value.providers[Lt]}function R(){const g=be(),D={...s},G=g.thinking?{type:"enabled",effort:g.thinkingEffort??"low"}:{type:"disabled"},F={...D,providerId:b.value.providerId,mode:b.value.providerMode,model:g.model,temperature:g.temperature,thinking:G};return b.value.providerMode==="proxy"?{...F,baseUrl:b.value.proxyUrl,apiKey:""}:{...F,baseUrl:g.baseUrl,apiKey:g.apiKey}}const ee=Jr(f);let z=l?ee!=null&&ee.tools.length?`${l}
23
28
 
24
- ${Xo(N)}`:s:$o(_);J=`${J}
29
+ ${Mr(ee)}`:l:Qr(I);z=`${z}
25
30
 
26
- ${mi}`;const z=new Zo({provider:b,providerConfig:v(),tools:K,systemPrompt:J,maxContextTokens:d,maxHistoryMessages:f});let $=[],ue=!1;const de=[];async function Se(E,R,G){const F={toolCallId:`${Date.now()}_${Math.random().toString(36).slice(2,6)}`,packageId:E.packageId,toolName:E.toolName,args:E.args};try{const O=await n(F);$.push({pkg:R,toolDef:G,data:O,args:E.args});const V=G.displayHints;return ue=(V==null?void 0:V.showModelContent)===!1&&(!!V.suggestComponent||["table","card","list"].includes(V.resultFormat)),{success:!0,result:typeof O=="string"?O:JSON.stringify(O)}}catch(O){return{success:!1,result:(O==null?void 0:O.message)||"工具执行失败"}}}async function Pe(E,R){try{const G=await qo(E.name,R);$.push({pkg:wt,toolDef:E,data:G,args:R});const F=E.displayHints;return ue=(F==null?void 0:F.showModelContent)===!1&&(!!F.suggestComponent||["table","card","list"].includes(F.resultFormat)),{success:!0,result:typeof G=="string"?G:JSON.stringify(G)}}catch(G){return{success:!1,result:(G==null?void 0:G.message)||"内置工具执行失败"}}}function _t(){var F,O;const E=h.value[h.value.length-1];if(!E||E.role!=="assistant"){$=[];return}const R=[];let G=!1;for(const{pkg:V,toolDef:fe,data:te,args:Ae}of $){const q=fe.displayHints;if(q){if(q.suggestComponent){let Ce=te;if(q.resultFormat==="map"){if((F=te==null?void 0:te.data)!=null&&F.fileId){const ae=B.get(te.data.fileId);ae&&(Ce=ae.name.endsWith(".geojson")||ae.name.endsWith(".json")?{data:{id:te.data.fileId,wkt:"",geojson:ae.data}}:{data:{id:te.data.fileId,wkt:ae.data,geojson:""}})}else if((O=te==null?void 0:te.data)!=null&&O.fileIds){const ae=te.data.fileIds.map(he=>B.get(he));if(ae.filter(he=>!he).length)continue;const Ne=[];ae.forEach(he=>{he.name.endsWith(".geojson")||he.name.endsWith(".json")?Ne.push({id:he.id,data:he.data,type:"geojson"}):he.name.endsWith(".txt")?Ne.push({id:he.id,data:he.data,type:"wkt"}):he.name.endsWith(".tif")?Ne.push({id:he.id,data:he,type:"tif"}):Ne.push({id:he.id,data:he.data,type:"unknown"})}),Ce={...te,data:Ne}}}R.push({type:"component",packageId:V.id,componentName:q.suggestComponent,data:Ce})}else if(q.resultFormat==="table"||q.resultFormat==="card"||q.resultFormat==="list"||q.resultFormat==="auto"){const Ce=Mt(te);if(Ce!=null&&Ce.length){const ae=q.resultFormat==="auto"?Mn(te):q.resultFormat;if(ae==="none")continue;R.push({type:ae,title:j(q.summaryTemplate,Ae),data:Ce,fields:q.previewFields,labelField:q.labelField,selectable:q.selectable})}}if(q.showModelContent===!1&&(q.suggestComponent||["table","card","list","auto"].includes(q.resultFormat))&&(G=!0),q.suggestedNext)if(q.suggestedNextEvent){const Ce=q.suggestedNextEvent,ae=y.on(Ce,()=>kt(Ce));de.push({event:Ce,text:q.suggestedNext,unsub:ae})}else E.suggestedNext=q.suggestedNext}}G&&!R.length&&(G=!1),E.renderBlocks=R,E.hideMarkdown=G,$=[]}function kt(E){const R=de.findIndex(F=>F.event===E);if(R===-1)return;const G=de[R];G.unsub(),de.splice(R,1);for(let F=h.value.length-1;F>=0;F--){const O=h.value[F];if(O.role==="assistant"){O.suggestedNext=G.text;break}}}function nt(){for(const E of de)E.unsub();de.length=0}function j(E,R){if(E)return E.replace(/\{(\w+)\}/g,(G,F)=>R[F]!==void 0?String(R[F]):G)}const le=new Map;z.on(E=>{var R,G;switch(E.type){case"message":{if(E.message.role==="tool")break;const F={id:mn(),role:E.message.role,content:E.message.content,reasoning:"",status:E.message.role==="assistant"?"streaming":"done",timestamp:Date.now(),tool_calls:E.message.tool_calls};E.message.role==="assistant"&&ue&&(F.hideMarkdown=!0,ue=!1),h.value.push(F);break}case"stream:delta":{const F=h.value[h.value.length-1];(F==null?void 0:F.role)==="assistant"&&F.status==="streaming"&&(E.delta.content&&(F.content+=E.delta.content),E.delta.reasoning&&(F.reasoning=(F.reasoning||"")+E.delta.reasoning));break}case"stream:end":{const F=h.value[h.value.length-1];(F==null?void 0:F.role)==="assistant"&&(F.content=E.content,E.reasoning&&(F.reasoning=E.reasoning),F.status==="streaming"&&(F.status="done"));break}case"tool:start":{const F=h.value[h.value.length-1];if(!F||F.role!=="assistant")break;F.tool_calls||(F.tool_calls=[]),F.toolResults||(F.toolResults=[]);const O=F.toolResults.length;F.toolResults.push({callId:E.call.id,name:E.call.function.name,arguments:E.call.function.arguments,result:"",success:!1,status:"running"}),le.set(E.call.id,{msgIndex:h.value.length-1,toolIndex:O}),F.tool_calls.find(V=>V.id===E.call.id)||F.tool_calls.push({id:E.call.id,type:"function",function:{name:E.call.function.name,arguments:E.call.function.arguments}});break}case"tool:end":{const F=le.get(E.call.id);if(!F)break;const O=(G=(R=h.value[F.msgIndex])==null?void 0:R.toolResults)==null?void 0:G[F.toolIndex];O&&(O.result=E.output.result,O.success=E.output.success,O.status=E.output.success?"success":"error"),le.delete(E.call.id);break}case"error":{g.value=E.error;const F=h.value[h.value.length-1];(F==null?void 0:F.role)==="assistant"&&(F.status="error",F.error=E.error);break}case"status":{if(D.value=E.loading,!E.loading){let F=null;for(const O of h.value)O.role==="assistant"&&O.status==="streaming"&&(O.status="done",!O.content&&!F&&(F=O));F&&(F.content="(已停止生成)"),_t()}break}}});function Be(){try{const E=localStorage.getItem(m.settings);k.value={...zt,...e.settings??{},...E?JSON.parse(E):{}}}catch{k.value={...zt,...e.settings??{}}}}function Fe(E){for(const R of E)if(R.files)for(const G of R.files)G.id&&B.set(G.id,G)}async function ze(){if(k.value.providerMode==="proxy"){try{const E=gn(k.value.proxyUrl);if(!E)return;const R=await fetch(`${E}/api/messages?device_id=${encodeURIComponent(Lt())}`,{method:"GET"});if(!R.ok)return;const G=await R.json(),F=G==null?void 0:G.messages;Array.isArray(F)&&(h.value=F,Fe(F),z.initialize(Cn(F)))}catch{}return}try{const E=localStorage.getItem(m.messages);if(E){const R=JSON.parse(E);Array.isArray(R)&&(h.value=R,Fe(R),z.initialize(Cn(R)))}}catch{}}function ot(E){k.value={...E},localStorage.setItem(m.settings,JSON.stringify(E)),E.providerMode==="proxy"?z.updateProviderConfig({baseUrl:E.proxyUrl,apiKey:"",model:E.model,temperature:E.temperature}):z.updateProviderConfig({baseUrl:E.baseUrl,apiKey:E.apiKey,model:E.model,temperature:E.temperature})}async function Ye(){if(k.value.providerMode==="proxy"){try{const E=gn(k.value.proxyUrl);if(!E)return;await fetch(`${E}/api/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({device_id:Lt(),messages:h.value})})}catch{}return}try{localStorage.setItem(m.messages,JSON.stringify(h.value))}catch{}}function rt(E){return E.startsWith("data:")}async function it(E,R){const G=E.trim();if(!G&&(!R||R.length===0))return;if(g.value="",k.value.providerMode==="direct"&&!k.value.apiKey){g.value="请先配置 API Key。";return}if(z.updateProviderConfig(v()),$=[],le.clear(),R&&R.length>0){for(const V of R)V.id=mn(),B.set(V.id,{...V});const O={id:mn(),role:"user",content:G,status:"done",timestamp:Date.now(),files:R};h.value.push(O),z.initialize(Cn(h.value))}let F=G;R&&R.length>0&&(A?F=`已上传文件:
27
- ${R.map((V,fe)=>{const te=`${fe+1}. **${V.name}**(${V.type},${(V.size/1024).toFixed(1)}KB),文件ID:\`${V.id}\``;return rt(V.data)?`${te}
28
- ${V.data}`:`${te}
31
+ ${ss}
32
+
33
+ ${ls}`;const X=new yr({provider:Be,providerConfig:R(),tools:H,systemPrompt:z,maxContextTokens:p,maxHistoryMessages:C,maxToolResultChars:d});let U=[],he=null,te=[],Te;const Oe=[],Nt=new Set;function Pt(g){Nt.has(g)||(Nt.add(g),console.warn(`[agent-chat] 工具包 ${g} 声明了 requires.check,但未提供 onCheckToolRequirement,前置条件不会被拦截`))}async function Rt(g,D,G){const F={toolCallId:`${Date.now()}_${Math.random().toString(36).slice(2,6)}`,packageId:g.packageId,toolName:g.toolName,args:g.args},L=Tr(G.requires);if(L.length){!i&&L.some(ie=>ie.check)&&Pt(g.packageId);const re=await ts(L,{sessionId:se.value,packageId:g.packageId,toolName:g.toolName,args:g.args},i);if(re.length)return{success:!1,code:to,result:JSON.stringify(ns(g.toolName,re))}}try{const re=await n(F);return U.push({pkg:D,toolDef:G,data:re,args:g.args}),{success:!0,result:typeof re=="string"?re:JSON.stringify(re)}}catch(re){return{success:!1,result:(re==null?void 0:re.message)||"工具执行失败"}}}async function zt(g,D){try{const G=await Kr(g.name,D);return U.push({pkg:sn,toolDef:g,data:G,args:D}),{success:!0,result:typeof G=="string"?G:JSON.stringify(G)}}catch(G){return{success:!1,result:(G==null?void 0:G.message)||"内置工具执行失败"}}}function bt(g){var L,re;if(!U.length)return;if(!g||g.role!=="assistant"){U=[];return}const D=[];let G=!1,F=0;for(const{pkg:ie,toolDef:pt,data:xe,args:yn}of U){const ce=pt.displayHints;if(ce){if(ce.suggestComponent){let Se=xe;if(ce.resultFormat==="map"){if((L=xe==null?void 0:xe.data)!=null&&L.fileId){const Ne=Q.get(xe.data.fileId);Ne&&(Se=Ne.name.endsWith(".geojson")||Ne.name.endsWith(".json")?{data:{id:xe.data.fileId,wkt:"",geojson:Ne.data}}:{data:{id:xe.data.fileId,wkt:Ne.data,geojson:""}})}else if((re=xe==null?void 0:xe.data)!=null&&re.fileIds){const Ne=xe.data.fileIds.map(ke=>Q.get(ke));if(Ne.filter(ke=>!ke).length)continue;const Dt=[];Ne.forEach(ke=>{ke.name.endsWith(".geojson")||ke.name.endsWith(".json")?Dt.push({id:ke.id,data:ke.data,type:"geojson"}):ke.name.endsWith(".txt")?Dt.push({id:ke.id,data:ke.data,type:"wkt"}):ke.name.endsWith(".tif")?Dt.push({id:ke.id,data:ke,type:"tif"}):Dt.push({id:ke.id,data:ke.data,type:"unknown"})}),Se={...xe,data:Dt}}}te.push({type:"component",packageId:ie.id,componentName:ce.suggestComponent,data:Se}),F++}else if(ce.resultFormat==="table"||ce.resultFormat==="card"||ce.resultFormat==="list"||ce.resultFormat==="auto"){const Se=mn(xe);if(Se!=null&&Se.length){const Ne=ce.resultFormat==="auto"?Ao(xe):ce.resultFormat;if(Ne==="none")continue;D.push({type:Ne,title:le(ce.summaryTemplate,yn),data:Se,fields:ce.previewFields,labelField:ce.labelField,selectable:ce.selectable}),F++}}if(ce.showModelContent===!1&&(ce.suggestComponent||["table","card","list","auto"].includes(ce.resultFormat))&&(G=!0),ce.suggestedNext)if(ce.suggestedNextEvent){const Se=ce.suggestedNextEvent,Ne=W.on(Se,()=>j(Se));Oe.push({event:Se,text:ce.suggestedNext,unsub:Ne})}else Te=ce.suggestedNext}}G&&F===0&&(G=!1),g.renderBlocks=D,g.hideMarkdown=G,U=[]}function oe(){for(let g=y.value.length-1;g>=0;g--)if(y.value[g].role==="assistant")return y.value[g]}function pe(){if(te.length||Te){const g=oe();g&&(te.length&&(g.renderBlocks=[...g.renderBlocks??[],...te]),Te&&(g.suggestedNext=Te))}te=[],Te=void 0}function j(g){const D=Oe.findIndex(F=>F.event===g);if(D===-1)return;const G=Oe[D];G.unsub(),Oe.splice(D,1);for(let F=y.value.length-1;F>=0;F--){const L=y.value[F];if(L.role==="assistant"){L.suggestedNext=G.text;break}}}function Ye(){for(const g of Oe)g.unsub();Oe.length=0}function le(g,D){if(g)return g.replace(/\{(\w+)\}/g,(G,F)=>D[F]!==void 0?String(D[F]):G)}const Ue=new Map;X.on(g=>{var D,G;switch(g.type){case"message":{if(g.message.role==="tool")break;g.message.role==="assistant"&&U.length&&bt(y.value[y.value.length-1]);const F=g.message.role==="user"?he:null;F&&(he=null);const L={id:xo(),role:g.message.role,content:F?F.content:g.message.content,reasoning:"",status:g.message.role==="assistant"?"streaming":"done",timestamp:Date.now(),tool_calls:g.message.tool_calls,files:F==null?void 0:F.files};y.value.push(L);break}case"stream:delta":{const F=y.value[y.value.length-1];(F==null?void 0:F.role)==="assistant"&&F.status==="streaming"&&(g.delta.content&&(F.content+=g.delta.content),g.delta.reasoning&&(F.reasoning=(F.reasoning||"")+g.delta.reasoning));break}case"stream:end":{const F=y.value[y.value.length-1];(F==null?void 0:F.role)==="assistant"&&(F.content=g.content,g.finishReason==="length"&&F.content&&(F.content+=`
34
+
35
+ (回答已达长度上限被截断)`),g.reasoning&&(F.reasoning=g.reasoning),F.status==="streaming"&&(F.status="done"));break}case"tool:start":{const F=y.value[y.value.length-1];if(!F||F.role!=="assistant")break;F.tool_calls||(F.tool_calls=[]),F.toolResults||(F.toolResults=[]);const L=F.toolResults.length;F.toolResults.push({callId:g.call.id,name:g.call.function.name,alias:q.get(g.call.function.name),arguments:g.call.function.arguments,result:"",success:!1,status:"running"}),Ue.set(g.call.id,{msgIndex:y.value.length-1,toolIndex:L}),F.tool_calls.find(re=>re.id===g.call.id)||F.tool_calls.push({id:g.call.id,type:"function",function:{name:g.call.function.name,arguments:g.call.function.arguments}});break}case"tool:end":{const F=Ue.get(g.call.id);if(!F)break;const L=(G=(D=y.value[F.msgIndex])==null?void 0:D.toolResults)==null?void 0:G[F.toolIndex];L&&(L.result=g.output.result,L.success=g.output.success,g.output.code===to?(L.status="blocked",L.hint=os(g.output.result)):L.status=g.output.success?"success":"error"),Ue.delete(g.call.id);break}case"error":{k.value=g.error;const F=y.value[y.value.length-1];(F==null?void 0:F.role)==="assistant"&&(F.status="error",F.error=g.error);break}case"status":{if(_.value=g.loading,!g.loading){let F=null;for(const L of y.value)L.role==="assistant"&&L.status==="streaming"&&(L.status="done",!L.content&&!F&&(F=L));F&&(F.content="(已停止生成)"),bt(y.value[y.value.length-1]),pe()}break}}});function $e(){const g=St(e.settings);let D=null;try{const G=localStorage.getItem(E.settings);G&&(D=JSON.parse(G))}catch{D=null}b.value=D?eo(g,D):g,X.updateProviderConfig(R())}function Je(g){for(const D of g)if(D.toolResults){for(const G of D.toolResults)if(!G.alias){const F=q.get(G.name);F&&(G.alias=F)}}}function Tt(g){for(const D of g)if(D.files)for(const G of D.files)G.id&&Q.set(G.id,G)}const qe=`${a}current_session`;function dt(){return b.value.providerMode==="proxy"?Lr(Es(b.value.proxyUrl),So()):Hr(a)}let Me=dt();function Ze(){try{return localStorage.getItem(qe)||""}catch{return""}}function Ge(g){try{g?localStorage.setItem(qe,g):localStorage.removeItem(qe)}catch{}}function Pe(g){const D=K.value.filter(G=>G.id!==g.id);K.value=[g,...D].sort((G,F)=>F.updatedAt-G.updatedAt)}async function ft(g){if(!se.value)try{const D=await Me.create(g);Pe(D),se.value=D.id,Ge(D.id)}catch(D){v.value=`新会话创建失败:${(D==null?void 0:D.message)||"网络异常"}`,console.warn("[agent-chat] ensureSession failed",D)}}function N(){X.clear(),y.value=[],k.value="",U=[],te=[],Te=void 0,Ye(),Q.clear(),se.value="",Ge("")}async function T(g){const D=await Me.load(g);Je(D),y.value=D,Tt(D),X.initialize(No(D,He)),se.value=g,Ge(g)}async function me(){Me=dt(),S.value=!0;try{K.value=await Me.list();const g=Ze(),D=K.value.find(G=>G.id===g)??K.value[0];D?await T(D.id):N(),v.value=""}catch(g){v.value=`会话列表加载失败:${(g==null?void 0:g.message)||"网络异常"}`,console.warn("[agent-chat] initSessions failed",g),N()}finally{S.value=!1}}async function ne(){ht(),await ze()}async function Ce(g=2e3){const D=Date.now();for(;_.value&&Date.now()-D<g;)await new Promise(G=>setTimeout(G,20))}async function _e(){_.value&&(X.stop(),await Ce()),await ne(),N()}async function ve(g){if(!(!g||g===se.value)){_.value&&(X.stop(),await Ce()),await ne();try{await T(g)}catch(D){v.value=`会话加载失败:${(D==null?void 0:D.message)||"网络异常"}`,console.warn("[agent-chat] switchSession failed",D)}}}async function at(g){g===se.value&&_.value&&(X.stop(),await Ce());try{await Me.remove(g),K.value=K.value.filter(D=>D.id!==g),g===se.value&&N()}catch(D){v.value=`会话删除失败:${(D==null?void 0:D.message)||"网络异常"}`,console.warn("[agent-chat] deleteSession failed",D)}}function ct(g){const D=b.value.providerMode,G=b.value.proxyUrl;b.value=eo(b.value,g),localStorage.setItem(E.settings,JSON.stringify(b.value)),X.updateProviderConfig(R()),(D!==b.value.providerMode||G!==b.value.proxyUrl)&&(async()=>(await ne(),await me()))()}async function ze(){const g=se.value;if(g)try{const D=await Me.save(g,y.value);D&&Pe(D),v.value=""}catch(D){v.value=`对话记录保存失败:${(D==null?void 0:D.message)||"网络异常"}`,console.warn("[agent-chat] persistMessages failed",D)}}function ue(g){return g.startsWith("data:")}function et(g,D){return!D||D.length===0?g:c?`已上传文件:
36
+ ${D.map((L,re)=>{const ie=`${re+1}. **${L.name}**(${L.type},${(L.size/1024).toFixed(1)}KB),文件ID:\`${L.id}\``;return ue(L.data)?`${ie}
37
+ ${L.data}`:`${ie}
29
38
  \`\`\`
30
- ${V.data}
39
+ ${L.data}
31
40
  \`\`\``}).join(`
32
41
 
33
- `)}`+(G?`
42
+ `)}`+(g?`
34
43
 
35
- ${G}`:""):F=`已上传文件:
36
- ${R.map((V,fe)=>`${fe+1}. **${V.name}**(${V.type},${(V.size/1024).toFixed(1)}KB),文件ID:\`${V.id}\``).join(`
37
- `)}`+(G?`
44
+ ${g}`:""):`已上传文件:
45
+ ${D.map((F,L)=>`${L+1}. **${F.name}**(${F.type},${(F.size/1024).toFixed(1)}KB),文件ID:\`${F.id}\``).join(`
46
+ `)}`+(g?`
38
47
 
39
- ${G}`:"")),await z.sendMessage(F)}function je(){z.stop()}async function X(){if(ne(),z.clear(),h.value=[],g.value="",$=[],nt(),B.clear(),k.value.providerMode==="proxy")try{const E=gn(k.value.proxyUrl);E&&await fetch(`${E}/api/messages?device_id=${encodeURIComponent(Lt())}`,{method:"DELETE"})}catch{}else localStorage.removeItem(m.messages)}const Oe=r.computed(()=>k.value.providerMode==="proxy"||!!k.value.apiKey);r.onMounted(()=>{Be(),ze()});let Z=null;function Xe(){Z&&clearTimeout(Z),Z=setTimeout(()=>{Z=null,Ye()},400)}function ne(){Z&&(clearTimeout(Z),Z=null)}return r.watch(h,()=>Xe(),{deep:!0}),{messages:h,settings:k,loading:D,errorMsg:g,hasApiKey:Oe,toolPackages:t,fileStore:B,visible:x,eventBus:y,deviceId:Lt(),sendMessage:it,stopGeneration:je,clearMessages:X,saveSettings:ot,suggestedCommands:a}}function lo(e={}){const t=e.threshold??4,n=r.ref(null),i=r.ref(!1);let o=0,s=0,l=0,A=0,a=0,u=0,d=!1;function f(k){var K;const D=k.clientX-o,g=k.clientY-s;if(!d&&Math.hypot(D,g)>t&&(d=!0,i.value=!0,(K=e.onDragStart)==null||K.call(e)),!d)return;const B=Math.max(window.innerWidth-a,0),x=Math.max(window.innerHeight-u,0),C=Math.min(Math.max(l+D,0),B),y=Math.min(Math.max(A+g,0),x);n.value={x:C,y}}function _(){var k;window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",_),window.removeEventListener("pointercancel",_),document.body.style.userSelect="",d&&((k=e.onDragMove)==null||k.call(e)),i.value=!1}function m(k,D){var B;if(k.button!==0||(B=e.disabled)!=null&&B.call(e))return;const g=D.getBoundingClientRect();l=g.left,A=g.top,a=g.width,u=g.height,o=k.clientX,s=k.clientY,d=!1,window.addEventListener("pointermove",f),window.addEventListener("pointerup",_),window.addEventListener("pointercancel",_),document.body.style.userSelect="none"}function h(){const k=d;return d=!1,k}return{pos:n,dragging:i,startDrag:m,consumeMoved:h}}/*! Element Plus Icons Vue v2.3.2 */var Ni=r.defineComponent({name:"Bottom",__name:"bottom",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"})]))}}),Ri=Ni,Ti=r.defineComponent({name:"ChatDotRound",__name:"chat-dot-round",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.06 461.06 0 0 1-206.912-48.384l-175.616 58.56z"}),r.createElementVNode("path",{fill:"currentColor",d:"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4"})]))}}),Qi=Ti,Mi=r.defineComponent({name:"Close",__name:"close",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),Ki=Mi,Gi=r.defineComponent({name:"CopyDocument",__name:"copy-document",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64z"}),r.createElementVNode("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64"})]))}}),Wi=Gi,Yi=r.defineComponent({name:"Cpu",__name:"cpu",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128"}),r.createElementVNode("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32M64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32"})]))}}),Oi=Yi,Hi=r.defineComponent({name:"Delete",__name:"delete",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),Vi=Hi,Ui=r.defineComponent({name:"Document",__name:"document",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),lr=Ui,Li=r.defineComponent({name:"FullScreen",__name:"full-screen",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),Ji=Li,Zi=r.defineComponent({name:"Paperclip",__name:"paperclip",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744z"})]))}}),Pi=Zi,zi=r.defineComponent({name:"Picture",__name:"picture",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"}),r.createElementVNode("path",{fill:"currentColor",d:"M384 288q64 0 64 64t-64 64-64-64 64-64M185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952z"})]))}}),ji=zi,Xi=r.defineComponent({name:"Position",__name:"position",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"m249.6 417.088 319.744 43.072 39.168 310.272L845.12 178.88zm-129.024 47.168a32 32 0 0 1-7.68-61.44l777.792-311.04a32 32 0 0 1 41.6 41.6l-310.336 775.68a32 32 0 0 1-61.44-7.808L512 516.992z"})]))}}),$i=Xi,qi=r.defineComponent({name:"Promotion",__name:"promotion",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472zm256 512V657.024L512 768z"})]))}}),es=qi,ts=r.defineComponent({name:"Setting",__name:"setting",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357 357 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a352 352 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357 357 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294 294 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293 293 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294 294 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288 288 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293 293 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a288 288 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256"})]))}}),Ao=ts,ns=r.defineComponent({name:"Top",__name:"top",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})]))}}),os=ns,rs=r.defineComponent({name:"UserFilled",__name:"user-filled",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0m544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"})]))}}),is=rs,ss=r.defineComponent({name:"VideoPause",__name:"video-pause",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32m192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32"})]))}}),ls=ss,As=r.defineComponent({name:"View",__name:"view",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[r.createElementVNode("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),as=As;const cs={key:0,class:"render-block"},us={key:0,class:"render-block__title"},hs={key:2,class:"render-block__cards"},ds={class:"card-item"},fs={class:"card-label"},ps={class:"card-value"},ms={key:3,class:"render-block__table"},gs={key:4,class:"render-block__cards"},Cs={class:"card-label"},_s={class:"card-value"},ks={key:5,class:"render-block__list"},ys=400,Es=320,bs=80,Ds=r.defineComponent({__name:"RenderBlock",props:{block:{},resolvedComponent:{}},emits:["select"],setup(e,{emit:t}){const n=e,i=t,o=r.computed(()=>n.block.type==="auto"?Mn(n.block.data):n.block.type);function s(h){const k=n.block.fields;return k&&k.length?k.filter(D=>h!=null&&D in h):Object.keys(h??{})}const l=r.computed(()=>n.block.data||{}),A=r.computed(()=>n.block.selectable&&a.value.length>1),a=r.computed(()=>Array.isArray(l.value)?l.value:l.value.list?Array.isArray(l.value.list)?l.value.list:[]:l.value.items?Array.isArray(l.value.items)?l.value.items:[]:[l.value]),u=r.computed(()=>{var h;return a.value.length?(h=n.block.fields)!=null&&h.length?n.block.fields:Object.keys(a.value[0]):[]});function d(h){if(h==null)return 0;let k=0;for(const D of String(h))k+=/^[\u2E80-\u9FFF\uF900-\uFAFF\uFF00-\uFFEF]/.test(D)?14:8;return k}const f=r.computed(()=>{const h={};for(const k of u.value){let D=d(k);for(const g of a.value){const B=g!=null?g[k]:void 0;B!=null&&(D=Math.max(D,d(String(B))))}h[k]=Math.min(Es,Math.max(bs,D+32))}return h});function _(h){return typeof h=="string"?h:Object.values(h).join(" - ")}function m(h){var D;const k=(n.block.labelField&&(h==null?void 0:h[n.block.labelField])!=null?h[n.block.labelField]:(D=n.block.fields)!=null&&D.length?h==null?void 0:h[n.block.fields[0]]:(h==null?void 0:h.name)??(h==null?void 0:h.title)??(h==null?void 0:h.id)??Object.values(h??{})[0])??"";i("select",`我选择 ${k}`)}return(h,k)=>{const D=r.resolveComponent("el-button");return o.value!=="none"?(r.openBlock(),r.createElementBlock("div",cs,[e.block.title?(r.openBlock(),r.createElementBlock("div",us,r.toDisplayString(e.block.title),1)):r.createCommentVNode("",!0),e.resolvedComponent?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(e.resolvedComponent),{key:1,class:"render-block__component",data:e.block.data},null,8,["data"])):o.value==="component"?(r.openBlock(),r.createElementBlock("div",hs,[r.createElementVNode("div",ds,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s(a.value[0]),g=>(r.openBlock(),r.createElementBlock("div",{key:g,class:"card-field"},[r.createElementVNode("span",fs,r.toDisplayString(g)+":",1),r.createElementVNode("span",ps,r.toDisplayString(a.value[0][g]),1)]))),128))])])):o.value==="table"?(r.openBlock(),r.createElementBlock("div",ms,[r.createVNode(r.unref(ft.ElTable),{data:a.value,"max-height":ys,border:"",stripe:"",size:"small","table-layout":"fixed",style:{width:"100%"}},{default:r.withCtx(()=>[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(u.value,g=>(r.openBlock(),r.createBlock(r.unref(ft.ElTableColumn),{key:g,prop:g,label:g,width:f.value[g],align:"center","show-overflow-tooltip":""},null,8,["prop","label","width"]))),128)),A.value?(r.openBlock(),r.createBlock(r.unref(ft.ElTableColumn),{key:0,label:"操作","min-width":80,align:"center",fixed:"right"},{default:r.withCtx(({row:g})=>[r.createVNode(D,{size:"small",type:"primary",plain:"",onClick:B=>m(g)},{default:r.withCtx(()=>[...k[0]||(k[0]=[r.createTextVNode(" 选择 ",-1)])]),_:1},8,["onClick"])]),_:1})):r.createCommentVNode("",!0)]),_:1},8,["data"])])):o.value==="card"?(r.openBlock(),r.createElementBlock("div",gs,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,(g,B)=>(r.openBlock(),r.createElementBlock("div",{key:B,class:"card-item"},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s(g),x=>(r.openBlock(),r.createElementBlock("div",{key:x,class:"card-field"},[r.createElementVNode("span",Cs,r.toDisplayString(x)+":",1),r.createElementVNode("span",_s,r.toDisplayString(g[x]),1)]))),128))]))),128))])):o.value==="list"?(r.openBlock(),r.createElementBlock("div",ks,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,(g,B)=>(r.openBlock(),r.createElementBlock("div",{key:B,class:"list-item"},r.toDisplayString(_(g)),1))),128))])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)}}}),Ct=(e,t)=>{const n=e.__vccOpts||e;for(const[i,o]of t)n[i]=o;return n},Ar=Ct(Ds,[["__scopeId","data-v-ea599d5b"]]),Is={key:0,class:"suggested-next"},Bs={class:"suggested-next__text"},ws=r.defineComponent({__name:"SuggestedNext",props:{text:{}},emits:["execute"],setup(e,{emit:t}){const n=e,i=t;function o(){i("execute",n.text)}return(s,l)=>{const A=r.resolveComponent("el-button");return e.text?(r.openBlock(),r.createElementBlock("div",Is,[l[1]||(l[1]=r.createElementVNode("span",{class:"suggested-next__icon"},"💡",-1)),r.createElementVNode("span",Bs,r.toDisplayString(e.text),1),r.createVNode(A,{size:"small",type:"primary",plain:"",onClick:o},{default:r.withCtx(()=>[...l[0]||(l[0]=[r.createTextVNode("去执行",-1)])]),_:1})])):r.createCommentVNode("",!0)}}}),ar=Ct(ws,[["__scopeId","data-v-0e0e9b65"]]),ao={};function Fs(e){let t=ao[e];if(t)return t;t=ao[e]=[];for(let n=0;n<128;n++){const i=String.fromCharCode(n);t.push(i)}for(let n=0;n<e.length;n++){const i=e.charCodeAt(n);t[i]="%"+("0"+i.toString(16).toUpperCase()).slice(-2)}return t}function mt(e,t){typeof t!="string"&&(t=mt.defaultChars);const n=Fs(t);return e.replace(/(%[a-f0-9]{2})+/gi,function(i){let o="";for(let s=0,l=i.length;s<l;s+=3){const A=parseInt(i.slice(s+1,s+3),16);if(A<128){o+=n[A];continue}if((A&224)===192&&s+3<l){const a=parseInt(i.slice(s+4,s+6),16);if((a&192)===128){const u=A<<6&1984|a&63;u<128?o+="��":o+=String.fromCharCode(u),s+=3;continue}}if((A&240)===224&&s+6<l){const a=parseInt(i.slice(s+4,s+6),16),u=parseInt(i.slice(s+7,s+9),16);if((a&192)===128&&(u&192)===128){const d=A<<12&61440|a<<6&4032|u&63;d<2048||d>=55296&&d<=57343?o+="���":o+=String.fromCharCode(d),s+=6;continue}}if((A&248)===240&&s+9<l){const a=parseInt(i.slice(s+4,s+6),16),u=parseInt(i.slice(s+7,s+9),16),d=parseInt(i.slice(s+10,s+12),16);if((a&192)===128&&(u&192)===128&&(d&192)===128){let f=A<<18&1835008|a<<12&258048|u<<6&4032|d&63;f<65536||f>1114111?o+="����":(f-=65536,o+=String.fromCharCode(55296+(f>>10),56320+(f&1023))),s+=9;continue}}o+="�"}return o})}mt.defaultChars=";/?:@&=+$,#";mt.componentChars="";const co={};function xs(e){let t=co[e];if(t)return t;t=co[e]=[];for(let n=0;n<128;n++){const i=String.fromCharCode(n);/^[0-9a-z]$/i.test(i)?t.push(i):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n<e.length;n++)t[e.charCodeAt(n)]=e[n];return t}function Kt(e,t,n){typeof t!="string"&&(n=t,t=Kt.defaultChars),typeof n>"u"&&(n=!0);const i=xs(t);let o="";for(let s=0,l=e.length;s<l;s++){const A=e.charCodeAt(s);if(n&&A===37&&s+2<l&&/^[0-9a-f]{2}$/i.test(e.slice(s+1,s+3))){o+=e.slice(s,s+3),s+=2;continue}if(A<128){o+=i[A];continue}if(A>=55296&&A<=57343){if(A>=55296&&A<=56319&&s+1<l){const a=e.charCodeAt(s+1);if(a>=56320&&a<=57343){o+=encodeURIComponent(e[s]+e[s+1]),s++;continue}}o+="%EF%BF%BD";continue}o+=encodeURIComponent(e[s])}return o}Kt.defaultChars=";/?:@&=+$,-_.!~*'()#";Kt.componentChars="-_.!~*'()";function Sn(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function jt(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const vs=/^([a-z0-9.+-]+:)/i,Ss=/:[0-9]*$/,Ns=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Rs=["<",">",'"',"`"," ","\r",`
40
- `," "],Ts=["{","}","|","\\","^","`"].concat(Rs),Qs=["'"].concat(Ts),uo=["%","/","?",";","#"].concat(Qs),ho=["/","?","#"],Ms=255,fo=/^[+a-z0-9A-Z_-]{0,63}$/,Ks=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,po={javascript:!0,"javascript:":!0},mo={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Nn(e,t){if(e&&e instanceof jt)return e;const n=new jt;return n.parse(e,t),n}jt.prototype.parse=function(e,t){let n,i,o,s=e;if(s=s.trim(),!t&&e.split("#").length===1){const u=Ns.exec(s);if(u)return this.pathname=u[1],u[2]&&(this.search=u[2]),this}let l=vs.exec(s);if(l&&(l=l[0],n=l.toLowerCase(),this.protocol=l,s=s.substr(l.length)),(t||l||s.match(/^\/\/[^@\/]+@[^@\/]+/))&&(o=s.substr(0,2)==="//",o&&!(l&&po[l])&&(s=s.substr(2),this.slashes=!0)),!po[l]&&(o||l&&!mo[l])){let u=-1;for(let h=0;h<ho.length;h++)i=s.indexOf(ho[h]),i!==-1&&(u===-1||i<u)&&(u=i);let d,f;u===-1?f=s.lastIndexOf("@"):f=s.lastIndexOf("@",u),f!==-1&&(d=s.slice(0,f),s=s.slice(f+1),this.auth=d),u=-1;for(let h=0;h<uo.length;h++)i=s.indexOf(uo[h]),i!==-1&&(u===-1||i<u)&&(u=i);u===-1&&(u=s.length),s[u-1]===":"&&u--;const _=s.slice(0,u);s=s.slice(u),this.parseHost(_),this.hostname=this.hostname||"";const m=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!m){const h=this.hostname.split(/\./);for(let k=0,D=h.length;k<D;k++){const g=h[k];if(g&&!g.match(fo)){let B="";for(let x=0,C=g.length;x<C;x++)g.charCodeAt(x)>127?B+="x":B+=g[x];if(!B.match(fo)){const x=h.slice(0,k),C=h.slice(k+1),y=g.match(Ks);y&&(x.push(y[1]),C.unshift(y[2])),C.length&&(s=C.join(".")+s),this.hostname=x.join(".");break}}}}this.hostname.length>Ms&&(this.hostname=""),m&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const A=s.indexOf("#");A!==-1&&(this.hash=s.substr(A),s=s.slice(0,A));const a=s.indexOf("?");return a!==-1&&(this.search=s.substr(a),s=s.slice(0,a)),s&&(this.pathname=s),mo[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};jt.prototype.parseHost=function(e){let t=Ss.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};const Gs=Object.freeze(Object.defineProperty({__proto__:null,decode:mt,encode:Kt,format:Sn,parse:Nn},Symbol.toStringTag,{value:"Module"})),cr=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,ur=/[\0-\x1F\x7F-\x9F]/,Ws=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,Wn=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,hr=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C1\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2429\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E5\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD803[\uDD8E\uDD8F\uDED1-\uDED8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDC00-\uDCEF\uDCFA-\uDCFC\uDD00-\uDEB3\uDEBA-\uDED0\uDEE0-\uDEF0\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED8\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0-\uDCBB\uDCC0\uDCC1\uDCD0-\uDCD8\uDD00-\uDE57\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF-\uDEF8\uDF00-\uDF92\uDF94-\uDFEF\uDFFA]/,dr=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,Ys=Object.freeze(Object.defineProperty({__proto__:null,Any:cr,Cc:ur,Cf:Ws,P:Wn,S:hr,Z:dr},Symbol.toStringTag,{value:"Module"})),Os=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function Hs(e){return e>=55296&&e<=57343||e>1114111?65533:Os.get(e)??e}function Vs(e){const t=atob(e),n=t.length&-2,i=new Uint16Array(n/2);for(let o=0,s=0;o<n;o+=2){const l=t.charCodeAt(o),A=t.charCodeAt(o+1);i[s++]=l|A<<8}return i}const Us=Vs("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");var be;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(be||(be={}));var se;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(se||(se={}));const go=32;function Rn(e){return e>=se.ZERO&&e<=se.NINE}function Ls(e){return e>=se.UPPER_A&&e<=se.UPPER_F||e>=se.LOWER_A&&e<=se.LOWER_F}function Js(e){return e>=se.UPPER_A&&e<=se.UPPER_Z||e>=se.LOWER_A&&e<=se.LOWER_Z||Rn(e)}function Zs(e){return e===se.EQUALS||Js(e)}var me;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(me||(me={}));var Le;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Le||(Le={}));class Ps{constructor(t,n,i){L(this,"decodeTree");L(this,"emitCodePoint");L(this,"errors");L(this,"state",me.EntityStart);L(this,"consumed",1);L(this,"result",0);L(this,"treeIndex",0);L(this,"excess",1);L(this,"decodeMode",Le.Strict);L(this,"runConsumed",0);this.decodeTree=t,this.emitCodePoint=n,this.errors=i}startEntity(t){this.decodeMode=t,this.state=me.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(t,n){switch(this.state){case me.EntityStart:return t.charCodeAt(n)===se.NUM?(this.state=me.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=me.NamedEntity,this.stateNamedEntity(t,n));case me.NumericStart:return this.stateNumericStart(t,n);case me.NumericDecimal:return this.stateNumericDecimal(t,n);case me.NumericHex:return this.stateNumericHex(t,n);case me.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|go)===se.LOWER_X?(this.state=me.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=me.NumericDecimal,this.stateNumericDecimal(t,n))}stateNumericHex(t,n){for(;n<t.length;){const i=t.charCodeAt(n);if(Rn(i)||Ls(i)){const o=i<=se.NINE?i-se.ZERO:(i|go)-se.LOWER_A+10;this.result=this.result*16+o,this.consumed++,n++}else return this.emitNumericEntity(i,3)}return-1}stateNumericDecimal(t,n){for(;n<t.length;){const i=t.charCodeAt(n);if(Rn(i))this.result=this.result*10+(i-se.ZERO),this.consumed++,n++;else return this.emitNumericEntity(i,2)}return-1}emitNumericEntity(t,n){var i;if(this.consumed<=n)return(i=this.errors)==null||i.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(t===se.SEMI)this.consumed+=1;else if(this.decodeMode===Le.Strict)return 0;return this.emitCodePoint(Hs(this.result),this.consumed),this.errors&&(t!==se.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(t,n){const{decodeTree:i}=this;let o=i[this.treeIndex],s=(o&be.VALUE_LENGTH)>>14;for(;n<t.length;){if(s===0&&(o&be.FLAG13)!==0){const A=(o&be.BRANCH_LENGTH)>>7;if(this.runConsumed===0){const a=o&be.JUMP_TABLE;if(t.charCodeAt(n)!==a)return this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}for(;this.runConsumed<A;){if(n>=t.length)return-1;const a=this.runConsumed-1,u=i[this.treeIndex+1+(a>>1)],d=a%2===0?u&255:u>>8&255;if(t.charCodeAt(n)!==d)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(A>>1),o=i[this.treeIndex],s=(o&be.VALUE_LENGTH)>>14}if(n>=t.length)break;const l=t.charCodeAt(n);if(l===se.SEMI&&s!==0&&(o&be.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);if(this.treeIndex=js(i,o,this.treeIndex+Math.max(1,s),l),this.treeIndex<0)return this.result===0||this.decodeMode===Le.Attribute&&(s===0||Zs(l))?0:this.emitNotTerminatedNamedEntity();if(o=i[this.treeIndex],s=(o&be.VALUE_LENGTH)>>14,s!==0){if(l===se.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==Le.Strict&&(o&be.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}n++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var o;const{result:t,decodeTree:n}=this,i=(n[t]&be.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,i,this.consumed),(o=this.errors)==null||o.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,i){const{decodeTree:o}=this;return this.emitCodePoint(n===1?o[t]&~(be.VALUE_LENGTH|be.FLAG13):o[t+1],i),n===3&&this.emitCodePoint(o[t+2],i),i}end(){var t;switch(this.state){case me.NamedEntity:return this.result!==0&&(this.decodeMode!==Le.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case me.NumericDecimal:return this.emitNumericEntity(0,2);case me.NumericHex:return this.emitNumericEntity(0,3);case me.NumericStart:return(t=this.errors)==null||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case me.EntityStart:return 0}}}function zs(e){let t="";const n=new Ps(e,i=>t+=String.fromCodePoint(i));return function(o,s){let l=0,A=0;for(;(A=o.indexOf("&",A))>=0;){t+=o.slice(l,A),n.startEntity(s);const u=n.write(o,A+1);if(u<0){l=A+n.end();break}l=A+u,A=u===0?l+1:l}const a=t+o.slice(l);return t="",a}}function js(e,t,n,i){const o=(t&be.BRANCH_LENGTH)>>7,s=t&be.JUMP_TABLE;if(o===0)return s!==0&&i===s?n:-1;if(s){const u=i-s;return u<0||u>=o?-1:e[n+u]-1}const l=o+1>>1;let A=0,a=o-1;for(;A<=a;){const u=A+a>>>1,d=u>>1,_=e[n+d]>>(u&1)*8&255;if(_<i)A=u+1;else if(_>i)a=u-1;else return e[n+l+u]}return-1}const Xs=zs(Us);function fr(e){return Xs(e,Le.Strict)}var $s=class{constructor(e={}){L(this,"src_Any",cr.source);L(this,"src_Cc",ur.source);L(this,"src_Z",dr.source);L(this,"src_P",Wn.source);L(this,"src_ZPCc",[this.src_Z,this.src_P,this.src_Cc].join("|"));L(this,"src_ZCc",[this.src_Z,this.src_Cc].join("|"));L(this,"cache",{});L(this,"opts",{maxLength:1e4,urlAuth:!1,schema_names:[]});this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,t,n=4){const i=this.escapeRE(e),o=this.escapeRE(t),s=`(?:(?!${this.src_ZCc}|${i}|${o}).)`;let l=`${i}${s}{0,1000}${o}`;for(let A=2;A<=n;A++)l=`${i}(?:${s}|${l}){0,1000}${o}`;return l}get_text_separators(){var e;return(e=this.cache).text_separators??(e.text_separators=/[><\uff5c]/)}get_pseudo_letter(){var e;return(e=this.cache).src_pseudo_letter??(e.src_pseudo_letter=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`))}get_ipv4_addr(){var e;return(e=this.cache).src_ip4??(e.src_ip4=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])"))}get_ipv6_addr(){var n;const e="[0-9A-Fa-f]{1,4}",t=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return(n=this.cache).src_ip6_addr??(n.src_ip6_addr=new RegExp(`(?:(?:${e}:){6}${t}|::(?:${e}:){5}${t}|(?:${e})?::(?:${e}:){4}${t}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${t}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${t}|(?:(?:${e}:){0,3}${e})?::${e}:${t}|(?:(?:${e}:){0,4}${e})?::${t}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`))}get_ipv6_url_host(){var e;return(e=this.cache).src_ip6_host??(e.src_ip6_host=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`))}get_ipv6_mail_host(){var e;return(e=this.cache).src_ipv6_mail_host??(e.src_ipv6_mail_host=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`))}get_auth(){var e;return(e=this.cache).src_auth??(e.src_auth=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`))}get_port(){var e;return(e=this.cache).src_port??(e.src_port=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?"))}get_host_terminator(){var e;return(e=this.cache).src_host_terminator??(e.src_host_terminator=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`))}get_path_terminator(){var e;return(e=this.cache).src_path_terminator??(e.src_path_terminator=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`))}get_path(){var e;return(e=this.cache).src_path??(e.src_path=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`))}get_mail_name(){var e;return(e=this.cache).src_mail_name??(e.src_mail_name=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}"))}get_xn(){var e;return(e=this.cache).src_xn??(e.src_xn=new RegExp("xn--[a-z0-9\\-]{1,59}"))}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){var e;return(e=this.cache).src_domain_root??(e.src_domain_root=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`))}get_domain(){var e;return(e=this.cache).src_domain??(e.src_domain=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`))}get_url_host_port(){var e;return(e=this.cache).url_host_port??(e.url_host_port=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source))}get_fuzzy_url_host_port(){var e;return(e=this.cache).fuzzy_url_host_port??(e.fuzzy_url_host_port=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source))}get_mail_host(){var e;return(e=this.cache).src_mail_host??(e.src_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source))}get_fuzzy_mail_host(){var e;return(e=this.cache).src_fuzzy_mail_host??(e.src_fuzzy_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source))}get_path_extra(){var e;return(e=this.cache).src_path_extra??(e.src_path_extra=new RegExp(""))}get_fuzzy_mail_host_search(){var e;return(e=this.cache).mail_fuzzy_host_search??(e.mail_fuzzy_host_search=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig"))}get_fuzzy_link_search(){var e;return(e=this.cache).link_fuzzy_search??(e.link_fuzzy_search=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig"))}get_http_validator(){var e;return(e=this.cache).http_validator??(e.http_validator=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy"))}get_relative_proto_validator(){var e;return(e=this.cache).relative_proto_validator??(e.relative_proto_validator=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy"))}get_mail_name_validator(){var e;return(e=this.cache).mail_name_validator??(e.mail_name_validator=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`))}get_mailto_validator(){var e;return(e=this.cache).mailto_validator??(e.mailto_validator=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy"))}get_schema_names(){var e;return(e=this.cache).schema_names??(e.schema_names=new RegExp((this.opts.schema_names||[]).map(t=>this.escapeRE(t)).join("|")))}get_schema_search(){var e;return(e=this.cache).schema_search??(e.schema_search=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig"))}get_schema_at_start(){var e;return(e=this.cache).schema_at_start??(e.schema_at_start=new RegExp(`^${this.get_schema_search().source}`,"i"))}},_n={validate:(e,t,n)=>{const i=n.re.get_http_validator();i.lastIndex=t;const o=i.exec(e);return o?o[0].length:0},normalize:(e,t)=>t.normalize(e)},qs={"http:":_n,"https:":_n,"ftp:":_n,"//":{validate:function(e,t,n){const i=n.re.get_relative_proto_validator();i.lastIndex=t;const o=i.exec(e);return o?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:o[0].length:0},normalize:(e,t)=>t.normalize(e)},"mailto:":{validate:function(e,t,n){const i=n.re.get_mailto_validator();i.lastIndex=t;const o=i.exec(e);return o?o[0].length:0},normalize:(e,t)=>t.normalize(e)}},el="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",tl="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function nl(){const e=tl.split("|");return el.split("|").forEach(t=>{const n=t.indexOf(":"),i=t.slice(0,n);for(const o of t.slice(n+1))e.push(i+o)}),e}var ol={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:nl(),urlAuth:!1,maxLength:1e4},Co=class{constructor(e,t,n,i){L(this,"schema");L(this,"index");L(this,"lastIndex");L(this,"raw");L(this,"text");L(this,"url");const o=e.slice(n,i);this.schema=t.toLowerCase(),this.index=n,this.lastIndex=i,this.raw=o,this.text=o,this.url=o}},rl=class{constructor(e={}){L(this,"__opts__");L(this,"__schemas__");L(this,"re");const{rebuilder:t,...n}=e;this.__opts__={...ol,...n},this.__schemas__={...qs},this.re=t||new $s,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,t=null){if(!t)delete this.__schemas__[e];else{const n={normalize:(i,o)=>o.normalize(i),...t};this.__schemas__[e]=n}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let t,n;for(n=this.re.get_schema_search(),n.lastIndex=0;(t=n.exec(e))!==null;)if(this.testSchemaAt(e,t[2],n.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(n=this.re.get_fuzzy_link_search(),n.lastIndex=0,n.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const i=this.re.get_fuzzy_mail_host_search(),o=this.re.get_mail_name_validator();for(i.lastIndex=0;(t=i.exec(e))!==null;){const s=e.slice(Math.max(0,t.index-65),t.index);if(o.test(s))return!0}}return!1}testSchemaAt(e,t,n){return this.__schemas__[t.toLowerCase()]?this.__schemas__[t.toLowerCase()].validate(e.slice(0,n+this.__opts__.maxLength),n,this):0}match(e){const t=[],n=this.re.get_schema_search();let i,o,s,l,A,a,u=!1,d=!1,f=!1,_=0;if(!e.length)return null;for(n.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(i=this.re.get_fuzzy_link_search(),i.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(o=this.re.get_fuzzy_mail_host_search(),o.lastIndex=0,s=this.re.get_mail_name_validator());;){const m=Math.max(_-1,0);if(o&&s&&!f&&(!A||A.index<_))for(o.lastIndex<m&&(o.lastIndex=m);;){const B=o.exec(e);if(!B){f=!0,A=void 0;break}const x=s.exec(e.slice(Math.max(0,B.index-65),B.index));if(x){if(A={schema:"mailto:",index:B.index-x[1].length,lastIndex:B.index+B[0].length},A.index>=_)break;o.lastIndex<m&&(o.lastIndex=m)}}if(i&&!d&&(!l||l.index<_))for(i.lastIndex<m&&(i.lastIndex=m);;){const B=i.exec(e);if(!B){d=!0,l=void 0;break}if(l={schema:"",index:B.index+B[1].length,lastIndex:B.index+B[0].length},l.index>=_)break;i.lastIndex<m&&(i.lastIndex=m)}let h=A;(!h||l&&(l.index<h.index||l.index===h.index&&l.lastIndex>h.lastIndex))&&(h=l);let k;if(!u)for(;;){if(!a){n.lastIndex<m&&(n.lastIndex=m);const C=n.exec(e);if(!C){u=!0;break}a={schema:C[2],index:C.index+C[1].length,lastIndex:C.index+C[0].length}}if(a.index<_){a=void 0;continue}if(h&&a.index>h.index)break;const B=a;a=void 0;const x=this.testSchemaAt(e,B.schema,B.lastIndex);if(x){k={schema:B.schema,index:B.index,lastIndex:B.lastIndex+x};break}}let D=k;if((!D||A&&(A.index<D.index||A.index===D.index&&A.lastIndex>D.lastIndex))&&(D=A),(!D||l&&(l.index<D.index||l.index===D.index&&l.lastIndex>D.lastIndex))&&(D=l),!D)break;D===A?A=void 0:D===l&&(l=void 0);const g=new Co(e,D.schema,D.index,D.lastIndex);g.schema?this.__schemas__[g.schema].normalize(g,this):this.normalize(g),t.push(g),_=D.lastIndex}return t.length?t:null}matchAtStart(e){if(!e.length)return null;const t=this.re.get_schema_at_start().exec(e);if(!t)return null;const n=this.testSchemaAt(e,t[2],t[0].length);if(!n)return null;const i=new Co(e,t[2],t.index+t[1].length,t.index+t[0].length+n);return this.__schemas__[i.schema].normalize(i,this),i}tlds(e,t=!1){return e=Array.isArray(e)?e:[e],t?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const pt=2147483647,Me=36,Yn=1,xt=26,il=38,sl=700,pr=72,mr=128,gr="-",ll=/^xn--/,Al=/[^\0-\x7F]/,al=/[\x2E\u3002\uFF0E\uFF61]/g,cl={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},kn=Me-Yn,Ke=Math.floor,yn=String.fromCharCode;function Ue(e){throw new RangeError(cl[e])}function ul(e,t){const n=[];let i=e.length;for(;i--;)n[i]=t(e[i]);return n}function Cr(e,t){const n=e.split("@");let i="";n.length>1&&(i=n[0]+"@",e=n[1]),e=e.replace(al,".");const o=e.split("."),s=ul(o,t).join(".");return i+s}function _r(e){const t=[];let n=0;const i=e.length;for(;n<i;){const o=e.charCodeAt(n++);if(o>=55296&&o<=56319&&n<i){const s=e.charCodeAt(n++);(s&64512)==56320?t.push(((o&1023)<<10)+(s&1023)+65536):(t.push(o),n--)}else t.push(o)}return t}const hl=e=>String.fromCodePoint(...e),dl=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:Me},_o=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},kr=function(e,t,n){let i=0;for(e=n?Ke(e/sl):e>>1,e+=Ke(e/t);e>kn*xt>>1;i+=Me)e=Ke(e/kn);return Ke(i+(kn+1)*e/(e+il))},yr=function(e){const t=[],n=e.length;let i=0,o=mr,s=pr,l=e.lastIndexOf(gr);l<0&&(l=0);for(let A=0;A<l;++A)e.charCodeAt(A)>=128&&Ue("not-basic"),t.push(e.charCodeAt(A));for(let A=l>0?l+1:0;A<n;){const a=i;for(let d=1,f=Me;;f+=Me){A>=n&&Ue("invalid-input");const _=dl(e.charCodeAt(A++));_>=Me&&Ue("invalid-input"),_>Ke((pt-i)/d)&&Ue("overflow"),i+=_*d;const m=f<=s?Yn:f>=s+xt?xt:f-s;if(_<m)break;const h=Me-m;d>Ke(pt/h)&&Ue("overflow"),d*=h}const u=t.length+1;s=kr(i-a,u,a==0),Ke(i/u)>pt-o&&Ue("overflow"),o+=Ke(i/u),i%=u,t.splice(i++,0,o)}return String.fromCodePoint(...t)},Er=function(e){const t=[];e=_r(e);const n=e.length;let i=mr,o=0,s=pr;for(const a of e)a<128&&t.push(yn(a));const l=t.length;let A=l;for(l&&t.push(gr);A<n;){let a=pt;for(const d of e)d>=i&&d<a&&(a=d);const u=A+1;a-i>Ke((pt-o)/u)&&Ue("overflow"),o+=(a-i)*u,i=a;for(const d of e)if(d<i&&++o>pt&&Ue("overflow"),d===i){let f=o;for(let _=Me;;_+=Me){const m=_<=s?Yn:_>=s+xt?xt:_-s;if(f<m)break;const h=f-m,k=Me-m;t.push(yn(_o(m+h%k,0))),f=Ke(h/k)}t.push(yn(_o(f,0))),s=kr(o,u,A===l),o=0,++A}++o,++i}return t.join("")},fl=function(e){return Cr(e,function(t){return ll.test(t)?yr(t.slice(4).toLowerCase()):t})},pl=function(e){return Cr(e,function(t){return Al.test(t)?"xn--"+Er(t):t})},ko={version:"2.3.1",ucs2:{decode:_r,encode:hl},decode:yr,encode:Er,toASCII:pl,toUnicode:fl};/*! markdown-it 15.0.0 https://github.com/markdown-it/markdown-it @license MIT */var yo=Object.defineProperty,br=(e,t)=>{let n={};for(var i in e)yo(n,i,{get:e[i],enumerable:!0});return yo(n,Symbol.toStringTag,{value:"Module"}),n},ml=br({arrayReplaceAt:()=>Ir,asciiTrim:()=>en,callable:()=>Dr,escapeHtml:()=>Ze,escapeRE:()=>Bl,fromCodePoint:()=>vt,isMdAsciiPunct:()=>Rt,isPunctChar:()=>wr,isPunctCharCode:()=>Nt,isSpace:()=>oe,isValidEntityCode:()=>On,isWhiteSpace:()=>St,lib:()=>wl,normalizeReference:()=>qt,unescapeAll:()=>gt,unescapeMd:()=>kl});function Dr(e){const t=function(...n){return Reflect.construct(e,n,new.target&&new.target!==t?new.target:e)};return Object.defineProperty(t,"name",{value:e.name}),Object.setPrototypeOf(t,e),t.prototype=e.prototype,t}function Ir(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function On(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function vt(e){if(e>65535){e-=65536;const t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var Br=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,gl=new RegExp(`${Br.source}|${/&([a-z#][a-z0-9]{1,31});/gi.source}`,"gi"),Cl=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function _l(e,t){if(t.charCodeAt(0)===35&&Cl.test(t)){const i=t[1].toLowerCase()==="x"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return On(i)?vt(i):e}const n=fr(e);return n!==e?n:e}function kl(e){return e.indexOf("\\")<0?e:e.replace(Br,"$1")}function gt(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(gl,function(t,n,i){return n||_l(t,i)})}var yl=/[&<>"]/,El=/[&<>"]/g,bl={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};function Dl(e){return bl[e]}function Ze(e){return yl.test(e)?e.replace(El,Dl):e}var Il=/[.?*+^$[\]\\(){}|-]/g;function Bl(e){return e.replace(Il,"\\$&")}function oe(e){switch(e){case 9:case 32:return!0}return!1}function St(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function wr(e){return Wn.test(e)||hr.test(e)}function Nt(e){return wr(vt(e))}function Rt(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function qt(e){return e=e.trim().replace(/\s+/g," "),e.toLowerCase().toUpperCase()}function Eo(e){return e===32||e===9||e===10||e===13}function en(e){let t=0;for(;t<e.length&&Eo(e.charCodeAt(t));t++);let n=e.length-1;for(;n>=t&&Eo(e.charCodeAt(n));n--);return e.slice(t,n+1)}var wl={mdurl:Gs,ucmicro:Ys};function Fl(e,t,n){let i,o,s,l;const A=e.posMax,a=e.pos;for(e.pos=t+1,i=1;e.pos<A;){if(s=e.src.charCodeAt(e.pos),s===93&&(i--,i===0)){o=!0;break}if(l=e.pos,e.md.inline.skipToken(e),s===91){if(l===e.pos-1)i++;else if(n)return e.pos=a,-1}}let u=-1;return o&&(u=e.pos),e.pos=a,u}function xl(e,t,n){let i,o=t;const s={ok:!1,pos:0,str:""};if(e.charCodeAt(o)===60){for(o++;o<n;){if(i=e.charCodeAt(o),i===10||i===60)return s;if(i===62)return s.pos=o+1,s.str=gt(e.slice(t+1,o)),s.ok=!0,s;if(i===92&&o+1<n){o+=2;continue}o++}return s}let l=0;for(;o<n&&(i=e.charCodeAt(o),!(i===32||i<32||i===127));){if(i===92&&o+1<n){if(e.charCodeAt(o+1)===32){o++;continue}o+=2;continue}if(i===40&&(l++,l>32))return s;if(i===41){if(l===0)break;l--}o++}return t===o||l!==0||(s.str=gt(e.slice(t,o)),s.pos=o,s.ok=!0),s}function vl(e,t,n,i){let o,s=t;const l={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(i)l.str=i.str,l.marker=i.marker;else{if(s>=n)return l;let A=e.charCodeAt(s);if(A!==34&&A!==39&&A!==40)return l;t++,s++,A===40&&(A=41),l.marker=A}for(;s<n;){if(o=e.charCodeAt(s),o===l.marker)return l.pos=s+1,l.str+=gt(e.slice(t,s)),l.ok=!0,l;if(o===40&&l.marker===41)return l;o===92&&s+1<n&&s++,s++}return l.can_continue=!0,l.str+=gt(e.slice(t,s)),l}var Sl=br({parseLinkDestination:()=>xl,parseLinkLabel:()=>Fl,parseLinkTitle:()=>vl});function Tt(e){"@babel/helpers - typeof";return Tt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tt(e)}function Nl(e,t){if(Tt(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var i=n.call(e,t);if(Tt(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Rl(e){var t=Nl(e,"string");return Tt(t)=="symbol"?t:t+""}function Q(e,t,n){return(t=Rl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var tt=class{constructor(e,t,n){Q(this,"map",null),Q(this,"level",0),Q(this,"children",null),Q(this,"content",""),Q(this,"markup",""),Q(this,"info",""),Q(this,"block",!1),Q(this,"hidden",!1),this.type=e,this.tag=t,this.attrs=null,this.nesting=n,this.meta=null}attrIndex(e){if(!this.attrs)return-1;const t=this.attrs;for(let n=0,i=t.length;n<i;n++)if(t[n][0]===e)return n;return-1}attrPush(e){this.attrs?this.attrs.push(e):this.attrs=[e]}attrSet(e,t){const n=this.attrIndex(e),i=[e,t];n<0?this.attrPush(i):this.attrs[n]=i}attrGet(e){const t=this.attrIndex(e);let n=null;return t>=0&&(n=this.attrs[t][1]),n}attrJoin(e,t){const n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=`${this.attrs[n][1]} ${t}`}},Qt=class{constructor(){Q(this,"__rules__",[]),Q(this,"__cache__",null)}__find__(e){for(let t=0;t<this.__rules__.length;t++)if(this.__rules__[t].name===e)return t;return-1}__compile__(){const e=new Set;this.__rules__.forEach(t=>{t.enabled&&t.alt.forEach(n=>{n&&e.add(n)})}),this.__cache__=Object.create(null),this.__cache__[""]=[],this.__rules__.forEach(t=>{t.enabled&&this.__cache__[""].push(t.fn)}),e.forEach(t=>{this.__cache__[t]=[],this.__rules__.forEach(n=>{n.enabled&&n.alt.indexOf(t)>=0&&this.__cache__[t].push(n.fn)})})}at(e,t,n={}){const i=this.__find__(e);if(i===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__[i].fn=t,this.__rules__[i].alt=n.alt||[],this.__cache__=null}before(e,t,n,i={}){const o=this.__find__(e);if(o===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(o,0,{name:t,enabled:!0,fn:n,alt:i.alt||[]}),this.__cache__=null}after(e,t,n,i={}){const o=this.__find__(e);if(o===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(o+1,0,{name:t,enabled:!0,fn:n,alt:i.alt||[]}),this.__cache__=null}push(e,t,n={}){this.__rules__.push({name:e,enabled:!0,fn:t,alt:n.alt||[]}),this.__cache__=null}enable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(i=>{const o=this.__find__(i);if(o<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${i}`)}this.__rules__[o].enabled=!0,n.push(i)}),this.__cache__=null,n}enableOnly(e,t=!1){Array.isArray(e)||(e=[e]),this.__rules__.forEach(n=>{n.enabled=!1}),this.enable(e,t)}disable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(i=>{const o=this.__find__(i);if(o<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${i}`)}this.__rules__[o].enabled=!1,n.push(i)}),this.__cache__=null,n}getRules(e){return this.__cache__||this.__compile__(),this.__cache__[e]||[]}},Ge={};Ge.code_inline=function(e,t,n,i,o){const s=e[t];return`<code${o.renderAttrs(s)}>${Ze(s.content)}</code>`};Ge.code_block=function(e,t,n,i,o){const s=e[t];return`<pre${o.renderAttrs(s)}><code>${Ze(e[t].content)}</code></pre>
41
- `};Ge.fence=function(e,t,n,i,o){const s=e[t],l=s.info?gt(s.info).trim():"";let A="",a="";if(l){const d=l.split(/(\s+)/g);A=d[0],a=d.slice(2).join("")}let u;if(n.highlight?u=n.highlight(s.content,A,a)||Ze(s.content):u=Ze(s.content),u.indexOf("<pre")===0)return u+`
42
- `;if(l){const d=s.attrIndex("class"),f=s.attrs?s.attrs.slice():[];d<0?f.push(["class",`${n.langPrefix}${A}`]):(f[d]=[f[d][0],f[d][1]],f[d][1]+=` ${n.langPrefix}${A}`);const _={attrs:f};return`<pre><code${o.renderAttrs(_)}>${u}</code></pre>
43
- `}return`<pre><code${o.renderAttrs(s)}>${u}</code></pre>
44
- `};Ge.image=function(e,t,n,i,o){const s=e[t];return s.attrs[s.attrIndex("alt")][1]=o.renderInlineAsText(s.children,n,i),o.renderToken(e,t,n)};Ge.hardbreak=function(e,t,n){return n.xhtmlOut?`<br />
48
+ ${g}`:"")}const He=g=>et(g.content,g.files);async function Mt(g,D){const G=g.trim();if(!G&&(!D||D.length===0))return;k.value="";const F=be();if(b.value.providerMode==="direct"&&!(F!=null&&F.apiKey)){const re=it(b.value.providerId);k.value=`请先配置 ${(re==null?void 0:re.name)??"当前模型提供方"} 的 API Key。`;return}if(X.updateProviderConfig(R()),await ft(ho(G,D)),U=[],te=[],Te=void 0,Ue.clear(),v.value="",X.initialize(No(y.value,He)),D&&D.length>0){for(const re of D)re.id=xo(),Q.set(re.id,{...re});he={content:G,files:D}}const L=et(G,D);try{await X.sendMessage(L)}finally{he=null}}function Cn(){X.stop()}async function _n(){ht(),_.value&&(X.stop(),await Ce());const g=se.value;if(g)try{await Me.remove(g),K.value=K.value.filter(D=>D.id!==g),v.value=""}catch(D){v.value=`清空对话失败:${(D==null?void 0:D.message)||"网络异常"}`,console.warn("[agent-chat] clearMessages failed",D)}N()}const jt=o.computed(()=>{var g;return b.value.providerMode==="proxy"||!!((g=be())!=null&&g.apiKey)});let tt=null;function Qt(){tt&&clearTimeout(tt),tt=setTimeout(()=>{tt=null,ze()},400)}function ht(){tt&&(clearTimeout(tt),tt=null)}let Fe=null;Fe=o.watch(y,()=>Qt(),{deep:!0});let At=!1;function Kt(){At||(At=!0,$e(),me())}function Gt(){M==null||M.stop(),M=null,Ye(),te=[],Te=void 0,ht(),X.stop(),Fe==null||Fe(),Fe=null}return o.getCurrentInstance()?(o.onMounted(Kt),w&&o.onUnmounted(()=>Gt())):Kt(),{messages:y,settings:b,loading:_,errorMsg:k,syncError:v,hasApiKey:jt,toolPackages:t,fileStore:Q,visible:P,eventBus:W,deviceId:So(),setDeviceId:ys,sessions:K,currentSessionId:se,sessionsLoading:S,newSession:_e,switchSession:ve,deleteSession:at,sendMessage:Mt,stopGeneration:Cn,clearMessages:_n,saveSettings:ct,dispose:Gt,suggestedCommands:A}}function bs(){const e=it("deepseek");if(!e)throw new Error("未找到 DeepSeek 提供方配置");return pn({preset:e})}function Ds(){const e=it("openai");if(!e)throw new Error("未找到 OpenAI 提供方配置");return pn({preset:e})}function Ro(e={}){const t=e.threshold??4,n=o.ref(null),i=o.ref(!1);let r=0,s=0,l=0,a=0,c=0,A=0,f=!1;function h(w){var v;const I=w.clientX-r,E=w.clientY-s;if(!f&&Math.hypot(I,E)>t&&(f=!0,i.value=!0,(v=e.onDragStart)==null||v.call(e)),!f)return;const y=Math.max(window.innerWidth-c,0),b=Math.max(window.innerHeight-A,0),_=Math.min(Math.max(l+I,0),y),k=Math.min(Math.max(a+E,0),b);n.value={x:_,y:k}}function p(){var w;window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",p),window.removeEventListener("pointercancel",p),document.body.style.userSelect="",f&&((w=e.onDragMove)==null||w.call(e)),i.value=!1}function C(w,I){var y;if(w.button!==0||(y=e.disabled)!=null&&y.call(e))return;const E=I.getBoundingClientRect();l=E.left,a=E.top,c=E.width,A=E.height,r=w.clientX,s=w.clientY,f=!1,window.addEventListener("pointermove",h),window.addEventListener("pointerup",p),window.addEventListener("pointercancel",p),document.body.style.userSelect="none"}function d(){const w=f;return f=!1,w}return{pos:n,dragging:i,startDrag:C,consumeMoved:d}}/*! Element Plus Icons Vue v2.3.2 */var ws=o.defineComponent({name:"Bottom",__name:"bottom",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"})]))}}),Bs=ws,vs=o.defineComponent({name:"ChatDotRound",__name:"chat-dot-round",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.06 461.06 0 0 1-206.912-48.384l-175.616 58.56z"}),o.createElementVNode("path",{fill:"currentColor",d:"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4"})]))}}),Fs=vs,xs=o.defineComponent({name:"CircleCheck",__name:"circle-check",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),o.createElementVNode("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}}),Ss=xs,Ns=o.defineComponent({name:"CircleClose",__name:"circle-close",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),o.createElementVNode("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),Rs=Ns,Ts=o.defineComponent({name:"Clock",__name:"clock",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),o.createElementVNode("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"}),o.createElementVNode("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32"})]))}}),Ms=Ts,Qs=o.defineComponent({name:"Close",__name:"close",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),Ks=Qs,Gs=o.defineComponent({name:"CopyDocument",__name:"copy-document",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64z"}),o.createElementVNode("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64"})]))}}),Ws=Gs,Vs=o.defineComponent({name:"Cpu",__name:"cpu",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128"}),o.createElementVNode("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32M64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32"})]))}}),Os=Vs,Ys=o.defineComponent({name:"Delete",__name:"delete",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),Pr=Ys,Us=o.defineComponent({name:"Document",__name:"document",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),zr=Us,Hs=o.defineComponent({name:"FullScreen",__name:"full-screen",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),Ls=Hs,Js=o.defineComponent({name:"Loading",__name:"loading",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}}),Zs=Js,Ps=o.defineComponent({name:"Paperclip",__name:"paperclip",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744z"})]))}}),zs=Ps,js=o.defineComponent({name:"Picture",__name:"picture",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"}),o.createElementVNode("path",{fill:"currentColor",d:"M384 288q64 0 64 64t-64 64-64-64 64-64M185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952z"})]))}}),Xs=js,$s=o.defineComponent({name:"Plus",__name:"plus",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}}),jr=$s,qs=o.defineComponent({name:"Position",__name:"position",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"m249.6 417.088 319.744 43.072 39.168 310.272L845.12 178.88zm-129.024 47.168a32 32 0 0 1-7.68-61.44l777.792-311.04a32 32 0 0 1 41.6 41.6l-310.336 775.68a32 32 0 0 1-61.44-7.808L512 516.992z"})]))}}),el=qs,tl=o.defineComponent({name:"Promotion",__name:"promotion",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472zm256 512V657.024L512 768z"})]))}}),Xr=tl,nl=o.defineComponent({name:"Setting",__name:"setting",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357 357 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a352 352 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357 357 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294 294 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293 293 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294 294 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288 288 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293 293 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a288 288 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256"})]))}}),To=nl,ol=o.defineComponent({name:"Top",__name:"top",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})]))}}),rl=ol,il=o.defineComponent({name:"UserFilled",__name:"user-filled",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0m544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"})]))}}),sl=il,ll=o.defineComponent({name:"VideoPause",__name:"video-pause",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32m192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32"})]))}}),al=ll,cl=o.defineComponent({name:"View",__name:"view",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),Al=cl,ul=o.defineComponent({name:"Warning",__name:"warning",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[o.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0m-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"})]))}}),dl=ul;const fl={key:0,class:"render-block"},hl={key:0,class:"render-block__title"},pl={key:2,class:"render-block__cards"},ml={class:"card-item"},gl={class:"card-label"},Cl={class:"card-value"},_l={key:3,class:"render-block__table"},kl={key:4,class:"render-block__cards"},yl={class:"card-label"},El={class:"card-value"},Il={key:5,class:"render-block__list"},bl=400,Dl=320,wl=80,Bl=o.defineComponent({__name:"RenderBlock",props:{block:{},resolvedComponent:{}},emits:["select"],setup(e,{emit:t}){const n=e,i=t,r=o.computed(()=>n.block.type==="auto"?Ao(n.block.data):n.block.type);function s(d){const w=n.block.fields;return w&&w.length?w.filter(I=>d!=null&&I in d):Object.keys(d??{})}const l=o.computed(()=>n.block.data||{}),a=o.computed(()=>n.block.selectable&&c.value.length>1),c=o.computed(()=>Array.isArray(l.value)?l.value:l.value.list?Array.isArray(l.value.list)?l.value.list:[]:l.value.items?Array.isArray(l.value.items)?l.value.items:[]:[l.value]),A=o.computed(()=>{var d;return c.value.length?(d=n.block.fields)!=null&&d.length?n.block.fields:Object.keys(c.value[0]):[]});function f(d){if(d==null)return 0;let w=0;for(const I of String(d))w+=/^[\u2E80-\u9FFF\uF900-\uFAFF\uFF00-\uFFEF]/.test(I)?14:8;return w}const h=o.computed(()=>{const d={};for(const w of A.value){let I=f(w);for(const E of c.value){const y=E!=null?E[w]:void 0;y!=null&&(I=Math.max(I,f(String(y))))}d[w]=Math.min(Dl,Math.max(wl,I+32))}return d});function p(d){return typeof d=="string"?d:Object.values(d).join(" - ")}function C(d){var I;const w=(n.block.labelField&&(d==null?void 0:d[n.block.labelField])!=null?d[n.block.labelField]:(I=n.block.fields)!=null&&I.length?d==null?void 0:d[n.block.fields[0]]:(d==null?void 0:d.name)??(d==null?void 0:d.title)??(d==null?void 0:d.id)??Object.values(d??{})[0])??"";i("select",`我选择 ${w}`)}return(d,w)=>{const I=o.resolveComponent("el-button");return r.value!=="none"?(o.openBlock(),o.createElementBlock("div",fl,[e.block.title?(o.openBlock(),o.createElementBlock("div",hl,o.toDisplayString(e.block.title),1)):o.createCommentVNode("",!0),e.resolvedComponent?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.resolvedComponent),{key:1,class:"render-block__component",data:e.block.data},null,8,["data"])):r.value==="component"?(o.openBlock(),o.createElementBlock("div",pl,[o.createElementVNode("div",ml,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s(c.value[0]),E=>(o.openBlock(),o.createElementBlock("div",{key:E,class:"card-field"},[o.createElementVNode("span",gl,o.toDisplayString(E)+":",1),o.createElementVNode("span",Cl,o.toDisplayString(c.value[0][E]),1)]))),128))])])):r.value==="table"?(o.openBlock(),o.createElementBlock("div",_l,[o.createVNode(o.unref(ut.ElTable),{data:c.value,"max-height":bl,border:"",stripe:"",size:"small","table-layout":"fixed",style:{width:"100%"}},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(A.value,E=>(o.openBlock(),o.createBlock(o.unref(ut.ElTableColumn),{key:E,prop:E,label:E,width:h.value[E],align:"center","show-overflow-tooltip":""},null,8,["prop","label","width"]))),128)),a.value?(o.openBlock(),o.createBlock(o.unref(ut.ElTableColumn),{key:0,label:"操作","min-width":80,align:"center",fixed:"right"},{default:o.withCtx(({row:E})=>[o.createVNode(I,{size:"small",type:"primary",plain:"",onClick:y=>C(E)},{default:o.withCtx(()=>[...w[0]||(w[0]=[o.createTextVNode(" 选择 ",-1)])]),_:1},8,["onClick"])]),_:1})):o.createCommentVNode("",!0)]),_:1},8,["data"])])):r.value==="card"?(o.openBlock(),o.createElementBlock("div",kl,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(c.value,(E,y)=>(o.openBlock(),o.createElementBlock("div",{key:y,class:"card-item"},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s(E),b=>(o.openBlock(),o.createElementBlock("div",{key:b,class:"card-field"},[o.createElementVNode("span",yl,o.toDisplayString(b)+":",1),o.createElementVNode("span",El,o.toDisplayString(E[b]),1)]))),128))]))),128))])):r.value==="list"?(o.openBlock(),o.createElementBlock("div",Il,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(c.value,(E,y)=>(o.openBlock(),o.createElementBlock("div",{key:y,class:"list-item"},o.toDisplayString(p(E)),1))),128))])):o.createCommentVNode("",!0)])):o.createCommentVNode("",!0)}}}),It=(e,t)=>{const n=e.__vccOpts||e;for(const[i,r]of t)n[i]=r;return n},$r=It(Bl,[["__scopeId","data-v-d7f1b4ad"]]),vl={key:0,class:"suggested-next"},Fl={class:"suggested-next__text"},xl=o.defineComponent({__name:"SuggestedNext",props:{text:{}},emits:["execute"],setup(e,{emit:t}){const n=e,i=t;function r(){i("execute",n.text)}return(s,l)=>{const a=o.resolveComponent("el-button");return e.text?(o.openBlock(),o.createElementBlock("div",vl,[l[1]||(l[1]=o.createElementVNode("span",{class:"suggested-next__icon"},"💡",-1)),o.createElementVNode("span",Fl,o.toDisplayString(e.text),1),o.createVNode(a,{size:"small",type:"primary",plain:"",onClick:r},{default:o.withCtx(()=>[...l[0]||(l[0]=[o.createTextVNode("去执行",-1)])]),_:1})])):o.createCommentVNode("",!0)}}}),qr=It(xl,[["__scopeId","data-v-0e0e9b65"]]),Mo={};function Sl(e){let t=Mo[e];if(t)return t;t=Mo[e]=[];for(let n=0;n<128;n++){const i=String.fromCharCode(n);t.push(i)}for(let n=0;n<e.length;n++){const i=e.charCodeAt(n);t[i]="%"+("0"+i.toString(16).toUpperCase()).slice(-2)}return t}function Jt(e,t){typeof t!="string"&&(t=Jt.defaultChars);const n=Sl(t);return e.replace(/(%[a-f0-9]{2})+/gi,function(i){let r="";for(let s=0,l=i.length;s<l;s+=3){const a=parseInt(i.slice(s+1,s+3),16);if(a<128){r+=n[a];continue}if((a&224)===192&&s+3<l){const c=parseInt(i.slice(s+4,s+6),16);if((c&192)===128){const A=a<<6&1984|c&63;A<128?r+="��":r+=String.fromCharCode(A),s+=3;continue}}if((a&240)===224&&s+6<l){const c=parseInt(i.slice(s+4,s+6),16),A=parseInt(i.slice(s+7,s+9),16);if((c&192)===128&&(A&192)===128){const f=a<<12&61440|c<<6&4032|A&63;f<2048||f>=55296&&f<=57343?r+="���":r+=String.fromCharCode(f),s+=6;continue}}if((a&248)===240&&s+9<l){const c=parseInt(i.slice(s+4,s+6),16),A=parseInt(i.slice(s+7,s+9),16),f=parseInt(i.slice(s+10,s+12),16);if((c&192)===128&&(A&192)===128&&(f&192)===128){let h=a<<18&1835008|c<<12&258048|A<<6&4032|f&63;h<65536||h>1114111?r+="����":(h-=65536,r+=String.fromCharCode(55296+(h>>10),56320+(h&1023))),s+=9;continue}}r+="�"}return r})}Jt.defaultChars=";/?:@&=+$,#";Jt.componentChars="";const Qo={};function Nl(e){let t=Qo[e];if(t)return t;t=Qo[e]=[];for(let n=0;n<128;n++){const i=String.fromCharCode(n);/^[0-9a-z]$/i.test(i)?t.push(i):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n<e.length;n++)t[e.charCodeAt(n)]=e[n];return t}function gn(e,t,n){typeof t!="string"&&(n=t,t=gn.defaultChars),typeof n>"u"&&(n=!0);const i=Nl(t);let r="";for(let s=0,l=e.length;s<l;s++){const a=e.charCodeAt(s);if(n&&a===37&&s+2<l&&/^[0-9a-f]{2}$/i.test(e.slice(s+1,s+3))){r+=e.slice(s,s+3),s+=2;continue}if(a<128){r+=i[a];continue}if(a>=55296&&a<=57343){if(a>=55296&&a<=56319&&s+1<l){const c=e.charCodeAt(s+1);if(c>=56320&&c<=57343){r+=encodeURIComponent(e[s]+e[s+1]),s++;continue}}r+="%EF%BF%BD";continue}r+=encodeURIComponent(e[s])}return r}gn.defaultChars=";/?:@&=+$,-_.!~*'()#";gn.componentChars="-_.!~*'()";function oo(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function Sn(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const Rl=/^([a-z0-9.+-]+:)/i,Tl=/:[0-9]*$/,Ml=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Ql=["<",">",'"',"`"," ","\r",`
49
+ `," "],Kl=["{","}","|","\\","^","`"].concat(Ql),Gl=["'"].concat(Kl),Ko=["%","/","?",";","#"].concat(Gl),Go=["/","?","#"],Wl=255,Wo=/^[+a-z0-9A-Z_-]{0,63}$/,Vl=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Vo={javascript:!0,"javascript:":!0},Oo={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function ro(e,t){if(e&&e instanceof Sn)return e;const n=new Sn;return n.parse(e,t),n}Sn.prototype.parse=function(e,t){let n,i,r,s=e;if(s=s.trim(),!t&&e.split("#").length===1){const A=Ml.exec(s);if(A)return this.pathname=A[1],A[2]&&(this.search=A[2]),this}let l=Rl.exec(s);if(l&&(l=l[0],n=l.toLowerCase(),this.protocol=l,s=s.substr(l.length)),(t||l||s.match(/^\/\/[^@\/]+@[^@\/]+/))&&(r=s.substr(0,2)==="//",r&&!(l&&Vo[l])&&(s=s.substr(2),this.slashes=!0)),!Vo[l]&&(r||l&&!Oo[l])){let A=-1;for(let d=0;d<Go.length;d++)i=s.indexOf(Go[d]),i!==-1&&(A===-1||i<A)&&(A=i);let f,h;A===-1?h=s.lastIndexOf("@"):h=s.lastIndexOf("@",A),h!==-1&&(f=s.slice(0,h),s=s.slice(h+1),this.auth=f),A=-1;for(let d=0;d<Ko.length;d++)i=s.indexOf(Ko[d]),i!==-1&&(A===-1||i<A)&&(A=i);A===-1&&(A=s.length),s[A-1]===":"&&A--;const p=s.slice(0,A);s=s.slice(A),this.parseHost(p),this.hostname=this.hostname||"";const C=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!C){const d=this.hostname.split(/\./);for(let w=0,I=d.length;w<I;w++){const E=d[w];if(E&&!E.match(Wo)){let y="";for(let b=0,_=E.length;b<_;b++)E.charCodeAt(b)>127?y+="x":y+=E[b];if(!y.match(Wo)){const b=d.slice(0,w),_=d.slice(w+1),k=E.match(Vl);k&&(b.push(k[1]),_.unshift(k[2])),_.length&&(s=_.join(".")+s),this.hostname=b.join(".");break}}}}this.hostname.length>Wl&&(this.hostname=""),C&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const a=s.indexOf("#");a!==-1&&(this.hash=s.substr(a),s=s.slice(0,a));const c=s.indexOf("?");return c!==-1&&(this.search=s.substr(c),s=s.slice(0,c)),s&&(this.pathname=s),Oo[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};Sn.prototype.parseHost=function(e){let t=Tl.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};const Ol=Object.freeze(Object.defineProperty({__proto__:null,decode:Jt,encode:gn,format:oo,parse:ro},Symbol.toStringTag,{value:"Module"})),ei=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,ti=/[\0-\x1F\x7F-\x9F]/,Yl=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,po=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,ni=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C1\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2429\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E5\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD803[\uDD8E\uDD8F\uDED1-\uDED8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDC00-\uDCEF\uDCFA-\uDCFC\uDD00-\uDEB3\uDEBA-\uDED0\uDEE0-\uDEF0\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED8\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0-\uDCBB\uDCC0\uDCC1\uDCD0-\uDCD8\uDD00-\uDE57\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF-\uDEF8\uDF00-\uDF92\uDF94-\uDFEF\uDFFA]/,oi=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,Ul=Object.freeze(Object.defineProperty({__proto__:null,Any:ei,Cc:ti,Cf:Yl,P:po,S:ni,Z:oi},Symbol.toStringTag,{value:"Module"})),Hl=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function Ll(e){return e>=55296&&e<=57343||e>1114111?65533:Hl.get(e)??e}function Jl(e){const t=atob(e),n=t.length&-2,i=new Uint16Array(n/2);for(let r=0,s=0;r<n;r+=2){const l=t.charCodeAt(r),a=t.charCodeAt(r+1);i[s++]=l|a<<8}return i}const Zl=Jl("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWlsN2E6ZHIAAOA12CjdciJlZW4AOGFjAHkARWRjAHkAXGRwAGYAAOA12FzdYwByAADgNdjA3IALQUJFSGFiY2RlZmdoamxtbm9wcnN0dXYAXhxtHHEcdRx5HN8cBx0dHTwd3B3tHfEdAR4EHh0eLB5FHrwewx7hHgkfPR9LH4ABYXJ0AGQcZxxpHHIA8gBvB/IAxQLhIWlsAKAbKeEhcnIAoA4pZ6BmIgCgiyphAHIAAKBiKWMJjRwAAJAcAACVHAAAAAAAAAAAAACZHJwcAACmHKgcrRwAANIc9SF0ZTph7SJwdHl2AKC0KXIAYQDuAFoG4iFkYbtjZwAAoegnZGyhHKMcAKCRKeUAiwYAoIUqdQBvADuAqwCrQHIAgKOQIWJmaGxwc3QAuhy/HMIcxBzHHMoczhxmoOQhcwAAoB8pcwAAoB0p6wCyGnAAAKCrIWwAAKA5KWkAbQAAoHMpbAAAoKIhAKGrKmFl1hzaHGkAbAAAoBkpc6CtKgDgrSoA/oABYWJyAOUc6RztHHIAcgAAoAwpcgBrAACgcicAAWFr8Rz4HGMAAAFla/Yc9xx7YFtgAAFlc/wc/hwAoIspbAAAAWR1Ax0FHQCgjykAoI0pAAJhZXV5Dh0RHRodHB3yIW9uPmEAAWRpFR0YHWkAbAA8YewAowbiAPccO2QAAmNxcnMkHScdLB05HWEAAKA2KXUAbwDyoBwgqhEAAWR1MB00HeghYXIAoGcpcyJoYXIAAKBLKWgAAKCyIQCiZCJmZ3FzRB1FB5Qdnh10AIACYWhscnQATh1WHWUdbB2NHXIicm93AHSgkCFhAOkAzxxhI3Jwb29uAAABZHVeHWId7yF3bgCgvSFwAACgvCHlJGZ0YXJyb3dzAKDHIWkiZ2h0AIABYWhzAHUdex2DHXIicm93APOglCGdBmEAcgBwAG8AbwBuAPMAzgtxAHUAaQBnAGEAcgByAG8A9wBlGugkcmVldGltZXMAoMsi8aFkIk0HAACaHWwAYQBuAPQAXgcAon0qY2Rnc6YdqR2xHbcdYwAAoKgqbwB0AG+gfypyoIEqAKCDKmXg2iIA/nMAAKCTKoACYWRlZ3MAwB3GHcod1h3ZHXAAcAByAG8A+ACmHG8AdAAAoNYicQAAAWdxzx3SHXQA8gBGB2cAdADyAHQcdADyAFMHaQDtAGMHgAFpbHIA4h3mHeod8yFodACgfClvAG8A8gDKBgDgNdgp3UWgdiIAoJEqYQH1Hf4dcgAAAWR1YB35HWygvCEAoGopbABrAACghCVjAHkAWWQAomoiYWNodAweDx4VHhkecgDyAGsdbwByAG4AZQDyAGAW4SFyZACgaylyAGkAAKD6JQABaW8hHiQe5CFvdEBh9SFzdGGgsCPjIWhlAKCwIwACRWFlczMeNR48HkEeAKBoInAAcKCJKvIhb3gAoIkqcaCHKvGghyo0HmkAbQAAoOYiAARhYm5vcHR3elIeXB5fHoUelh6mHqsetB4AAW5yVh5ZHmcAAKDsJ3IAAKD9IXIA6wCwBmcAgAFsbXIAZh52Hnse5SFmdAABYXKIB2weaQBnAGgAdABhAHIAcgBvAPcAkwfhInBzdG8AoPwnaQBnAGgAdABhAHIAcgBvAPcAmgdwI2Fycm93AAABbHKNHpEeZQBmAPQAxhxpImdodAAAoKwhgAFhZmwAnB6fHqIecgAAoIUpAOA12F3ddQBzAACgLSppIm1lcwAAoDQqYQGvHrMecwB0AACgFyLhAIoOZaHKJbkeRhLuIWdlAKDKJWEAcgBsoCgAdAAAoJMpgAJhY2htdADMHs8e1R7bHt0ecgDyAJ0GbwByAG4AZQDyANYWYQByAGSgyyEAoG0pAKAOIHIAaQAAoL8iAANhY2hpcXTrHu8e1QfzHv0eBh/xIXVvAKA5IHIAAOA12MHcbQDloXIi+h4AAPweAKCNKgCgjyoAAWJ19xwBH28AcqAYIACgGiDyIW9rQmEAhDwAO2NkaGlscXJCBhcfxh0gHyQfKB8sHzEfAAFjaRsfHR8AoKYqcgAAoHkqcgBlAOUAkx3tIWVzAKDJIuEhcnIAoHYpdSJlc3QAAKB7KgABUGk1HzkfYQByAACglillocMlAgdfEnIAAAFkdUIfRx9zImhhcgAAoEop6CFhcgCgZikAAWVuTx9WH3IjdG5lcXEAAOBoIgD+xQBUHwAHRGFjZGVmaGlsbm9wc3VuH3Ifoh+rH68ftx+7H74f5h/uH/MfBwj/HwsgxCFvdACgOiIAAmNscHJ5H30fiR+eH3IAO4CvAK9AAAFldIEfgx8AoEImZaAgJ3MAZQAAoCAnc6CmIXQAbwCAoaYhZGx1AJQfmB+cH28AdwDuAHkDZQBmAPQA6gbwAOkO6yFlcgCgriUAAW95ph+qH+0hbWEAoCkqPGThIXNoAKAUIOElc3VyZWRhbmdsZQCgISJyAADgNdgq3W8AAKAnIYABY2RuAMQfyR/bH3IAbwA7gLUAtUBhoiMi0B8AANMf1x9zAPQAKxFpAHIAAKDwKm8AdAA7gLcAt0B1AHMA4qESIh4TAADjH3WgOCIAoCoqYwHqH+0fcAAAoNsq8gB+GnAAbAB1APMACAgAAWRw9x/7H+UhbHMAoKciZgAA4DXYXt0AAWN0AyAHIHIAAOA12MLc8CFvcwCgPiJsobwDECAVIPQiaW1hcACguCJhAPAAEyAADEdMUlZhYmNkZWZnaGlqbG1vcHJzdHV2dzwgRyBmIG0geSCqILgg2iDeIBEhFSEyIUMhTSFQIZwhnyHSIQAiIyKLIrEivyIUIwABZ3RAIEMgAODZIjgD9uBrItIgBwmAAWVsdABNIF8gYiBmAHQAAAFhclMgWCByInJvdwAAoM0h6SRnaHRhcnJvdwCgziEA4NgiOAP24Goi0iBfCekkZ2h0YXJyb3cAoM8hAAFEZHEgdSDhIXNoAKCvIuEhc2gAoK4igAJiY25wdACCIIYgiSCNIKIgbABhAACgByL1IXRlRGFnAADgICLSIACiSSJFaW9wlSCYIJwgniAA4HAqOANkAADgSyI4A3MASWFyAG8A+AAyCnUAcgBhoG4mbADzoG4mmwjzAa8gAACzIHAAO4CgAKBAbQBwAOXgTiI4AyoJgAJhZW91eQDBIMogzSDWINkg8AHGIAAAyCAAoEMqbwBuAEhh5CFpbEZhbgBnAGSgRyJvAHQAAOBtKjgDcAAAoEIqPWThIXNoAKATIACjYCJBYWRxc3jpIO0g+SD+IAIhDCFyAHIAAKDXIXIAAAFocvIg9SBrAACgJClvoJch9wAGD28AdAAA4FAiOAN1AGkA9gC7CAABZWkGIQohYQByAACgKCntAN8I6SFzdPOgBCLlCHIAAOA12CvdAAJFZXN0/wgcISshLiHxoXEiIiEAABMJ8aFxIgAJAAAnIWwAYQBuAPQAEwlpAO0AGQlyoG8iAKBvIoABQWFwADghOyE/IXIA8gBeIHIAcgAAoK4hYQByAACg8ipzogsiSiEAAAAAxwtkoPwiAKD6ImMAeQBaZIADQUVhZGVzdABcIV8hYiFmIWkhkyGWIXIA8gBXIADgZiI4A3IAcgAAoJohcgAAoCUggKFwImZxcwBwIYQhjiF0AAABYXJ1IXohcgByAG8A9wBlIWkAZwBoAHQAYQByAHIAbwD3AD4h8aFwImAhAACKIWwAYQBuAPQAZwlz4H0qOAMAoG4iaQDtAG0JcqBuImkA5aDqIkUJaQDkADoKAAFwdKMhpyFmAADgNdhf3YCBrAA7aW4AriGvIcchrEBuAIChCSJFZHYAtyG6Ib8hAOD5IjgDbwB0AADg9SI4A+EB1gjEIcYhAKD3IgCg9iJpAHagDCLhAagJzyHRIQCg/iIAoP0igAFhb3IA2CHsIfEhcgCAoSYiYXN0AOAh5SHpIWwAbABlAOwAywhsAADg/SrlIADgAiI4A2wiaW50AACgFCrjoYAi9yEAAPohdQDlAJsJY+CvKjgDZaCAIvEAkwkAAkFhaXQHIgoiFyIeInIA8gBsIHIAcgAAoZshY3cRIhQiAOAzKTgDAOCdITgDZyRodGFycm93AACgmyFyAGkA5aDrIr4JgANjaGltcHF1AC8iPCJHIpwhTSJQIloigKGBImNlcgA2Iv0JOSJ1AOUABgoA4DXYw9zvIXJ0bQKdIQAAAABEImEAcgDhAOEhbQBloEEi8aBEIiYKYQDyAMsIcwB1AAABYnBWIlgi5QDUCeUA3wmAAWJjcABgInMieCKAoYQiRWVzAGci7glqIgDgxSo4A2UAdABl4IIi0iBxAPGgiCJoImMAZaCBIvEA/gmAoYUiRWVzAH8iFgqCIgDgxio4A2UAdABl4IMi0iBxAPGgiSKAIgACZ2lscpIilCKaIpwi7AAMCWwAZABlADuA8QDxQOcAWwlpI2FuZ2xlAAABbHKkIqoi5SFmdGWg6iLxAEUJaSJnaHQAZaDrIvEAvgltoL0DAKEjAGVzuCK8InIAbwAAoBYhcAAAoAcggARESGFkZ2lscnMAziLSItYi2iLeIugi7SICIw8j4SFzaACgrSLhIXJyAKAEKXAAAOBNItIg4SFzaACgrCIAAWV04iLlIgDgZSLSIADgPgDSIG4iZmluAACg3imAAUFldADzIvci+iJyAHIAAKACKQDgZCLSIHLgPADSIGkAZQAA4LQi0iAAAUF0BiMKI3IAcgAAoAMp8iFpZQDgtSLSIGkAbQAA4Dwi0iCAAUFhbgAaIx4jKiNyAHIAAKDWIXIAAAFociMjJiNrAACgIylvoJYh9wD/DuUhYXIAoCcpUxJqFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVCMAAF4jaSN/I4IjjSOeI8AUAAAAAKYjwCMAANoj3yMAAO8jHiQvJD8kRCQAAWNzVyNsFHUAdABlADuA8wDzQAABaXlhI2cjcgBjoJoiO4D0APRAPmSAAmFiaW9zAHEjdCN3I3EBeiNzAOgAdhTsIWFjUWF2AACgOCrvIWxkAKC8KewhaWdTYQABY3KFI4kjaQByAACgvykA4DXYLN1vA5QjAAAAAJYjAACcI24A22JhAHYAZQA7gPIA8kAAoMEpAAFibaEjjAphAHIAAKC1KQACYWNpdKwjryO6I70jcgDyAFkUAAFpcrMjtiNyAACgvinvIXNzAKC7KW4A5QDZCgCgwCmAAWFlaQDFI8gjyyNjAHIATWFnAGEAyWOAAWNkbgDRI9Qj1iPyIW9uv2MAoLYpdQDzAHgBcABmAADgNdhg3YABYWVsAOQj5yPrI3IAAKC3KXIAcAAAoLkpdQDzAHwBAKMoImFkaW9zdvkj/CMPJBMkFiQbJHIA8gBeFIChXSplZm0AAyQJJAwkcgBvoDQhZgAAoDQhO4CqAKpAO4C6ALpA5yFvZgCgtiJyAACgVipsIm9wZQAAoFcqAKBbKoABY2xvACMkJSQrJPIACCRhAHMAaAA7gPgA+EBsAACgmCJpAGwBMyQ4JGQAZQA7gPUA9UBlAHMAYaCXInMAAKA2Km0AbAA7gPYA9kDiIWFyAKA9I+EKXiQAAHokAAB8JJQkAACYJKkkAAAAALUkEQsAAPAkAAAAAAQleiUAAIMlcgCAoSUiYXN0AGUkbyQBCwCBtgA7bGokayS2QGwAZQDsABgDaQJ1JAAAAAB4JG0AAKDzKgCg/Sp5AD9kcgCAAmNpbXB0AIUkiCSLJJkSjyRuAHQAJWBvAGQALmBpAGwAAKAwIOUhbmsAoDEgcgAA4DXYLd2AAWltbwCdJKAkpCR2oMYD1WNtAGEA9AD+B24AZQAAoA4m9KHAA64kAAC0JGMjaGZvcmsAAKDUItZjAAFhdbgkxCRuAAABY2u9JMIkawBooA8hAKAOIfYAaRpzAACkKwBhYmNkZW1zdNMkIRPXJNsk4STjJOck6yTjIWlyAKAjKmkAcgAAoCIqAAFvdYsW3yQAoCUqAKByKm4AO4CxALFAaQBtAACgJip3AG8AAKAnKoABaXB1APUk+iT+JO4idGludACgFSpmAADgNdhh3W4AZAA7gKMAo0CApHoiRWFjZWlub3N1ABMlFSUYJRslTCVRJVklSSV1JQCgsypwAACgtyp1AOUAPwtjoK8qgKJ6ImFjZW5zACclLSU0JTYlSSVwAHAAcgBvAPgAFyV1AHIAbAB5AGUA8QA/C/EAOAuAAWFlcwA8JUElRSXwInByb3gAoLkqcQBxAACgtSppAG0AAKDoImkA7QBEC20AZQDzoDIgIguAAUVhcwBDJVclRSXwAEAlgAFkZnAATwtfJXElgAFhbHMAZSVpJW0l7CFhcgCgLiPpIW5lAKASI/UhcmYAoBMjdKAdIu8AWQvyIWVsAKCwIgABY2l9JYElcgAA4DXYxdzIY24iY3NwAACgCCAAA2Zpb3BzdZElKxuVJZolnyWkJXIAAOA12C7dcABmAADgNdhi3XIiaW1lAACgVyBjAHIAAOA12MbcgAFhZW8AqiW6JcAldAAAAWVpryW2JXIAbgBpAG8AbgDzABkFbgB0AACgFipzAHQAZaA/APEACRj0AG0LgApBQkhhYmNkZWZoaWxtbm9wcnN0dXgA4yXyJfYl+iVpJpAmpia9JtUm5ib4JlonaCdxJ3UnnietJ7EnyCfiJ+cngAFhcnQA6SXsJe4lcgDyAJkM8gD6AuEhaWwAoBwpYQByAPIA3BVhAHIAAKBkKYADY2RlbnFydAAGJhAmEyYYJiYmKyZaJgABZXUKJg0mAOA9IjEDdABlAFVhaQDjACAN7SJwdHl2AKCzKWcAgKHpJ2RlbAAgJiImJCYAoJIpAKClKeUA9wt1AG8AO4C7ALtAcgAApZIhYWJjZmhscHN0dz0mQCZFJkcmSiZMJk4mUSZVJlgmcAAAoHUpZqDlIXMAAKAgKQCgMylzAACgHinrALka8ACVHmwAAKBFKWkAbQAAoHQpbAAAoKMhAKCdIQABYWleJmImaQBsAACgGilvAG6gNiJhAGwA8wB2C4ABYWJyAG8mciZ2JnIA8gAvEnIAawAAoHMnAAFha3omgSZjAAABZWt/JoAmfWBdYAABZXOFJocmAKCMKWwAAAFkdYwmjiYAoI4pAKCQKQACYWV1eZcmmiajJqUm8iFvbllhAAFkaZ4moSZpAGwAV2HsAA8M4gCAJkBkAAJjbHFzrSawJrUmuiZhAACgNylkImhhcgAAoGkpdQBvAPKgHSCjAWgAAKCzIYABYWNnAMMm0iaUC2wAgKEcIWlwcwDLJs4migxuAOUAoAxhAHIA9ADaC3QAAKCtJYABaWxyANsm3ybjJvMhaHQAoH0pbwBvAPIANgwA4DXYL90AAWFv6ib1JnIAAAFkde8m8SYAoMEhbKDAIQCgbCl2oMED8WOAAWducwD+Jk4nUCdoAHQAAANhaGxyc3QKJxInISc1Jz0nRydyInJvdwB0oJIhYQDpAFYmYSNycG9vbgAAAWR1GiceJ28AdwDuAPAmcAAAoMAh5SFmdAABYWgnJy0ncgByAG8AdwDzAAkMYQByAHAAbwBvAG4A8wATBGklZ2h0YXJyb3dzAACgySFxAHUAaQBnAGEAcgByAG8A9wBZJugkcmVldGltZXMAoMwiZwDaYmkAbgBnAGQAbwB0AHMAZQDxABwYgAFhaG0AYCdjJ2YncgDyAAkMYQDyABMEAKAPIG8idXN0AGGgsSPjIWhlAKCxI+0haWQAoO4qAAJhYnB0fCeGJ4knmScAAW5ygCeDJ2cAAKDtJ3IAAKD+IXIA6wAcDIABYWZsAI8nkieVJ3IAAKCGKQDgNdhj3XUAcwAAoC4qaSJtZXMAAKA1KgABYXCiJ6gncgBnoCkAdAAAoJQp7yJsaW50AKASKmEAcgDyADwnAAJhY2hxuCe8J6EMwCfxIXVvAKA6IHIAAOA12MfcAAFidYAmxCdvAPKgGSCoAYABaGlyAM4n0ifWJ3IAZQDlAE0n7SFlcwCgyiJpAIChuSVlZmwAXAxjEt4n9CFyaQCgzinsInVoYXIAoGgpAKAeIWENBSgJKA0oSyhVKIYoAACLKLAoAAAAAOMo5ygAABApJCkxKW0pcSmHKaYpAACYKgAAAACxKmMidXRlAFthcQB1AO8ABR+ApHsiRWFjZWlucHN5ABwoHignKCooLygyKEEoRihJKACgtCrwASMoAAAlKACguCpvAG4AYWF1AOUAgw1koLAqaQBsAF9hcgBjAF1hgAFFYXMAOCg6KD0oAKC2KnAAAKC6KmkAbQAAoOki7yJsaW50AKATKmkA7QCIDUFkbwB0AGKixSKRFgAAAABTKACgZiqAA0FhY21zdHgAYChkKG8ocyh1KHkogihyAHIAAKDYIXIAAAFocmkoayjrAJAab6CYIfcAzAd0ADuApwCnQGkAO2D3IWFyAKApKW0AAAFpbn4ozQBuAHUA8wDOAHQAAKA2J3IA7+A12DDdIxkAAmFjb3mRKJUonSisKHIAcAAAoG8mAAFoeZkonChjAHkASWRIZHIAdABtAqUoAAAAAKgoaQDkAFsPYQByAGEA7ABsJDuArQCtQAABZ22zKLsobQBhAAChwwNmdroouijCY4CjPCJkZWdsbnByAMgozCjPKNMo1yjaKN4obwB0AACgairxoEMiCw5FoJ4qAKCgKkWgnSoAoJ8qZQAAoEYi7CF1cwCgJCrhIXJyAKByKWEAcgDyAPwMAAJhZWl07Sj8KAEpCCkAAWxz8Sj4KGwAcwBlAHQAbQDpAH8oaABwAACgMyrwImFyc2wAoOQpAAFkbFoPBSllAACgIyNloKoqc6CsKgDgrCoA/oABZmxwABUpGCkfKfQhY3lMZGKgLwBhoMQpcgAAoD8jZgAA4DXYZN1hAAABZHIoKRcDZQBzAHWgYCZpAHQAAKBgJoABY3N1ADYpRilhKQABYXU6KUApcABzoJMiAOCTIgD+cABzoJQiAOCUIgD+dQAAAWJwSylWKQChjyJlcz4NUCllAHQAZaCPIvEAPw0AoZAiZXNIDVspZQB0AGWgkCLxAEkNAKGhJWFmZilbBHIAZQFrKVwEAKChJWEAcgDyAAMNAAJjZW10dyl7KX8pgilyAADgNdjI3HQAbQDuAM4AaQDsAAYpYQByAOYAVw0AAWFyiimOKXIA5qAGJhESAAFhbpIpoylpImdodAAAAWVwmSmgKXAAcwBpAGwAbwDuANkXaADpAKAkcwCvYIACYmNtbnAArin8KY4NJSooKgCkgiJFZGVtbnByc7wpvinCKcgpzCnUKdgp3CkAoMUqbwB0AACgvSpkoIYibwB0AACgwyr1IWx0AKDBKgABRWXQKdIpAKDLKgCgiiLsIXVzAKC/KuEhcnIAoHkpgAFlaXUA4inxKfQpdAAAoYIiZW7oKewpcQDxoIYivSllAHEA8aCKItEpbQAAoMcqAAFicPgp+ikAoNUqAKDTKmMAgKJ7ImFjZW5zAAcqDSoUKhYqRihwAHAAcgBvAPgAIyh1AHIAbAB5AGUA8QCDDfEAfA2AAWFlcwAcKiIqPShwAHAAcgBvAPgAPChxAPEAOShnAACgaiYApoMiMTIzRWRlaGxtbnBzPCo/KkIqRSpHKlIqWCpjKmcqaypzKncqO4C5ALlAO4CyALJAO4CzALNAAKDGKgABb3NLKk4qdAAAoL4qdQBiAACg2CpkoIcibwB0AACgxCpzAAABb3VdKmAqbAAAoMknYgAAoNcq4SFycgCgeyn1IWx0AKDCKgABRWVvKnEqAKDMKgCgiyLsIXVzAKDAKoABZWl1AH0qjCqPKnQAAKGDImVugyqHKnEA8aCHIkYqZQBxAPGgiyJwKm0AAKDIKgABYnCTKpUqAKDUKgCg1iqAAUFhbgCdKqEqrCpyAHIAAKDZIXIAAAFocqYqqCrrAJUab6CZIfcAxQf3IWFyAKAqKWwAaQBnADuA3wDfQOELzyrZKtwq6SrsKvEqAAD1KjQrAAAAAAAAAAAAAEwrbCsAAHErvSsAAAAAAADRK3IC1CoAAAAA2CrnIWV0AKAWI8RjcgDrAOUKgAFhZXkA4SrkKucq8iFvbmVh5CFpbGNhQmRvAPQAIg5sInJlYwAAoBUjcgAA4DXYMd0AAmVpa2/7KhIrKCsuK/IBACsAAAkrZQAAATRm6g0EK28AcgDlAOsNYQBzorgDECsAAAAAEit5AG0A0WMAAWNuFislK2sAAAFhcxsrIStwAHAAcgBvAPgAFw5pAG0AAKA8InMA8AD9DQABYXMsKyEr8AAXDnIAbgA7gP4A/kDsATgrOyswG2QA5QBnAmUAcwCAgdcAO2JkAEMrRCtJK9dAYaCgInIAAKAxKgCgMCqAAWVwcwBRK1MraSvhAAkh4qKkIlsrXysAAAAAYytvAHQAAKA2I2kAcgAAoPEqb+A12GXdcgBrAACg2irhAHgociJpbWUAAKA0IIABYWlwAHYreSu3K2QA5QC+DYADYWRlbXBzdACFK6MrmiunK6wrsCuzK24iZ2xlAACitSVkbHFykCuUK5ornCvvIXduAKC/JeUhZnRloMMl8QACBwCgXCJpImdodABloLkl8QBdDG8AdAAAoOwlaSJudXMAAKA6KuwhdXMAoDkqYgAAoM0p6SFtZQCgOyrlInppdW0AoOIjgAFjaHQAwivKK80rAAFyecYrySsA4DXYydxGZGMAeQBbZPIhb2tnYQABaW/UK9creAD0ANERaCJlYWQAAAFsct4r5ytlAGYAdABhAHIAcgBvAPcAXQbpJGdodGFycm93AKCgIQAJQUhhYmNkZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");var Ke;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(Ke||(Ke={}));var fe;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(fe||(fe={}));const Yo=32;function io(e){return e>=fe.ZERO&&e<=fe.NINE}function Pl(e){return e>=fe.UPPER_A&&e<=fe.UPPER_F||e>=fe.LOWER_A&&e<=fe.LOWER_F}function zl(e){return e>=fe.UPPER_A&&e<=fe.UPPER_Z||e>=fe.LOWER_A&&e<=fe.LOWER_Z||io(e)}function jl(e){return e===fe.EQUALS||zl(e)}var Ee;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(Ee||(Ee={}));var _t;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(_t||(_t={}));class Xl{constructor(t,n,i){Z(this,"decodeTree");Z(this,"emitCodePoint");Z(this,"errors");Z(this,"state",Ee.EntityStart);Z(this,"consumed",1);Z(this,"result",0);Z(this,"treeIndex",0);Z(this,"excess",1);Z(this,"decodeMode",_t.Strict);Z(this,"runConsumed",0);this.decodeTree=t,this.emitCodePoint=n,this.errors=i}startEntity(t){this.decodeMode=t,this.state=Ee.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(t,n){switch(this.state){case Ee.EntityStart:return t.charCodeAt(n)===fe.NUM?(this.state=Ee.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=Ee.NamedEntity,this.stateNamedEntity(t,n));case Ee.NumericStart:return this.stateNumericStart(t,n);case Ee.NumericDecimal:return this.stateNumericDecimal(t,n);case Ee.NumericHex:return this.stateNumericHex(t,n);case Ee.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|Yo)===fe.LOWER_X?(this.state=Ee.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=Ee.NumericDecimal,this.stateNumericDecimal(t,n))}stateNumericHex(t,n){for(;n<t.length;){const i=t.charCodeAt(n);if(io(i)||Pl(i)){const r=i<=fe.NINE?i-fe.ZERO:(i|Yo)-fe.LOWER_A+10;this.result=this.result*16+r,this.consumed++,n++}else return this.emitNumericEntity(i,3)}return-1}stateNumericDecimal(t,n){for(;n<t.length;){const i=t.charCodeAt(n);if(io(i))this.result=this.result*10+(i-fe.ZERO),this.consumed++,n++;else return this.emitNumericEntity(i,2)}return-1}emitNumericEntity(t,n){var i;if(this.consumed<=n)return(i=this.errors)==null||i.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(t===fe.SEMI)this.consumed+=1;else if(this.decodeMode===_t.Strict)return 0;return this.emitCodePoint(Ll(this.result),this.consumed),this.errors&&(t!==fe.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(t,n){const{decodeTree:i}=this;let r=i[this.treeIndex],s=(r&Ke.VALUE_LENGTH)>>14;for(;n<t.length;){if(s===0&&(r&Ke.FLAG13)!==0){const a=(r&Ke.BRANCH_LENGTH)>>7;if(this.runConsumed===0){const c=r&Ke.JUMP_TABLE;if(t.charCodeAt(n)!==c)return this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}for(;this.runConsumed<a;){if(n>=t.length)return-1;const c=this.runConsumed-1,A=i[this.treeIndex+1+(c>>1)],f=c%2===0?A&255:A>>8&255;if(t.charCodeAt(n)!==f)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(a>>1),r=i[this.treeIndex],s=(r&Ke.VALUE_LENGTH)>>14}if(n>=t.length)break;const l=t.charCodeAt(n);if(l===fe.SEMI&&s!==0&&(r&Ke.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);if(this.treeIndex=ql(i,r,this.treeIndex+Math.max(1,s),l),this.treeIndex<0)return this.result===0||this.decodeMode===_t.Attribute&&(s===0||jl(l))?0:this.emitNotTerminatedNamedEntity();if(r=i[this.treeIndex],s=(r&Ke.VALUE_LENGTH)>>14,s!==0){if(l===fe.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==_t.Strict&&(r&Ke.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}n++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var r;const{result:t,decodeTree:n}=this,i=(n[t]&Ke.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,i,this.consumed),(r=this.errors)==null||r.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,i){const{decodeTree:r}=this;return this.emitCodePoint(n===1?r[t]&~(Ke.VALUE_LENGTH|Ke.FLAG13):r[t+1],i),n===3&&this.emitCodePoint(r[t+2],i),i}end(){var t;switch(this.state){case Ee.NamedEntity:return this.result!==0&&(this.decodeMode!==_t.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Ee.NumericDecimal:return this.emitNumericEntity(0,2);case Ee.NumericHex:return this.emitNumericEntity(0,3);case Ee.NumericStart:return(t=this.errors)==null||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Ee.EntityStart:return 0}}}function $l(e){let t="";const n=new Xl(e,i=>t+=String.fromCodePoint(i));return function(r,s){let l=0,a=0;for(;(a=r.indexOf("&",a))>=0;){t+=r.slice(l,a),n.startEntity(s);const A=n.write(r,a+1);if(A<0){l=a+n.end();break}l=a+A,a=A===0?l+1:l}const c=t+r.slice(l);return t="",c}}function ql(e,t,n,i){const r=(t&Ke.BRANCH_LENGTH)>>7,s=t&Ke.JUMP_TABLE;if(r===0)return s!==0&&i===s?n:-1;if(s){const A=i-s;return A<0||A>=r?-1:e[n+A]-1}const l=r+1>>1;let a=0,c=r-1;for(;a<=c;){const A=a+c>>>1,f=A>>1,p=e[n+f]>>(A&1)*8&255;if(p<i)a=A+1;else if(p>i)c=A-1;else return e[n+l+A]}return-1}const ea=$l(Zl);function ri(e){return ea(e,_t.Strict)}var ta=class{constructor(e={}){Z(this,"src_Any",ei.source);Z(this,"src_Cc",ti.source);Z(this,"src_Z",oi.source);Z(this,"src_P",po.source);Z(this,"src_ZPCc",[this.src_Z,this.src_P,this.src_Cc].join("|"));Z(this,"src_ZCc",[this.src_Z,this.src_Cc].join("|"));Z(this,"cache",{});Z(this,"opts",{maxLength:1e4,urlAuth:!1,schema_names:[]});this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,t,n=4){const i=this.escapeRE(e),r=this.escapeRE(t),s=`(?:(?!${this.src_ZCc}|${i}|${r}).)`;let l=`${i}${s}{0,1000}${r}`;for(let a=2;a<=n;a++)l=`${i}(?:${s}|${l}){0,1000}${r}`;return l}get_text_separators(){var e;return(e=this.cache).text_separators??(e.text_separators=/[><\uff5c]/)}get_pseudo_letter(){var e;return(e=this.cache).src_pseudo_letter??(e.src_pseudo_letter=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`))}get_ipv4_addr(){var e;return(e=this.cache).src_ip4??(e.src_ip4=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])"))}get_ipv6_addr(){var n;const e="[0-9A-Fa-f]{1,4}",t=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return(n=this.cache).src_ip6_addr??(n.src_ip6_addr=new RegExp(`(?:(?:${e}:){6}${t}|::(?:${e}:){5}${t}|(?:${e})?::(?:${e}:){4}${t}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${t}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${t}|(?:(?:${e}:){0,3}${e})?::${e}:${t}|(?:(?:${e}:){0,4}${e})?::${t}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`))}get_ipv6_url_host(){var e;return(e=this.cache).src_ip6_host??(e.src_ip6_host=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`))}get_ipv6_mail_host(){var e;return(e=this.cache).src_ipv6_mail_host??(e.src_ipv6_mail_host=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`))}get_auth(){var e;return(e=this.cache).src_auth??(e.src_auth=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`))}get_port(){var e;return(e=this.cache).src_port??(e.src_port=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?"))}get_host_terminator(){var e;return(e=this.cache).src_host_terminator??(e.src_host_terminator=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`))}get_path_terminator(){var e;return(e=this.cache).src_path_terminator??(e.src_path_terminator=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`))}get_path(){var e;return(e=this.cache).src_path??(e.src_path=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`))}get_mail_name(){var e;return(e=this.cache).src_mail_name??(e.src_mail_name=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}"))}get_xn(){var e;return(e=this.cache).src_xn??(e.src_xn=new RegExp("xn--[a-z0-9\\-]{1,59}"))}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){var e;return(e=this.cache).src_domain_root??(e.src_domain_root=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`))}get_domain(){var e;return(e=this.cache).src_domain??(e.src_domain=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`))}get_url_host_port(){var e;return(e=this.cache).url_host_port??(e.url_host_port=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source))}get_fuzzy_url_host_port(){var e;return(e=this.cache).fuzzy_url_host_port??(e.fuzzy_url_host_port=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source))}get_mail_host(){var e;return(e=this.cache).src_mail_host??(e.src_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source))}get_fuzzy_mail_host(){var e;return(e=this.cache).src_fuzzy_mail_host??(e.src_fuzzy_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source))}get_path_extra(){var e;return(e=this.cache).src_path_extra??(e.src_path_extra=new RegExp(""))}get_fuzzy_mail_host_search(){var e;return(e=this.cache).mail_fuzzy_host_search??(e.mail_fuzzy_host_search=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig"))}get_fuzzy_link_search(){var e;return(e=this.cache).link_fuzzy_search??(e.link_fuzzy_search=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig"))}get_http_validator(){var e;return(e=this.cache).http_validator??(e.http_validator=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy"))}get_relative_proto_validator(){var e;return(e=this.cache).relative_proto_validator??(e.relative_proto_validator=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy"))}get_mail_name_validator(){var e;return(e=this.cache).mail_name_validator??(e.mail_name_validator=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`))}get_mailto_validator(){var e;return(e=this.cache).mailto_validator??(e.mailto_validator=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy"))}get_schema_names(){var e;return(e=this.cache).schema_names??(e.schema_names=new RegExp((this.opts.schema_names||[]).map(t=>this.escapeRE(t)).join("|")))}get_schema_search(){var e;return(e=this.cache).schema_search??(e.schema_search=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig"))}get_schema_at_start(){var e;return(e=this.cache).schema_at_start??(e.schema_at_start=new RegExp(`^${this.get_schema_search().source}`,"i"))}},Yn={validate:(e,t,n)=>{const i=n.re.get_http_validator();i.lastIndex=t;const r=i.exec(e);return r?r[0].length:0},normalize:(e,t)=>t.normalize(e)},na={"http:":Yn,"https:":Yn,"ftp:":Yn,"//":{validate:function(e,t,n){const i=n.re.get_relative_proto_validator();i.lastIndex=t;const r=i.exec(e);return r?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:r[0].length:0},normalize:(e,t)=>t.normalize(e)},"mailto:":{validate:function(e,t,n){const i=n.re.get_mailto_validator();i.lastIndex=t;const r=i.exec(e);return r?r[0].length:0},normalize:(e,t)=>t.normalize(e)}},oa="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",ra="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function ia(){const e=ra.split("|");return oa.split("|").forEach(t=>{const n=t.indexOf(":"),i=t.slice(0,n);for(const r of t.slice(n+1))e.push(i+r)}),e}var sa={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:ia(),urlAuth:!1,maxLength:1e4},Uo=class{constructor(e,t,n,i){Z(this,"schema");Z(this,"index");Z(this,"lastIndex");Z(this,"raw");Z(this,"text");Z(this,"url");const r=e.slice(n,i);this.schema=t.toLowerCase(),this.index=n,this.lastIndex=i,this.raw=r,this.text=r,this.url=r}},la=class{constructor(e={}){Z(this,"__opts__");Z(this,"__schemas__");Z(this,"re");const{rebuilder:t,...n}=e;this.__opts__={...sa,...n},this.__schemas__={...na},this.re=t||new ta,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,t=null){if(!t)delete this.__schemas__[e];else{const n={normalize:(i,r)=>r.normalize(i),...t};this.__schemas__[e]=n}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let t,n;for(n=this.re.get_schema_search(),n.lastIndex=0;(t=n.exec(e))!==null;)if(this.testSchemaAt(e,t[2],n.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(n=this.re.get_fuzzy_link_search(),n.lastIndex=0,n.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const i=this.re.get_fuzzy_mail_host_search(),r=this.re.get_mail_name_validator();for(i.lastIndex=0;(t=i.exec(e))!==null;){const s=e.slice(Math.max(0,t.index-65),t.index);if(r.test(s))return!0}}return!1}testSchemaAt(e,t,n){return this.__schemas__[t.toLowerCase()]?this.__schemas__[t.toLowerCase()].validate(e.slice(0,n+this.__opts__.maxLength),n,this):0}match(e){const t=[],n=this.re.get_schema_search();let i,r,s,l,a,c,A=!1,f=!1,h=!1,p=0;if(!e.length)return null;for(n.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(i=this.re.get_fuzzy_link_search(),i.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(r=this.re.get_fuzzy_mail_host_search(),r.lastIndex=0,s=this.re.get_mail_name_validator());;){const C=Math.max(p-1,0);if(r&&s&&!h&&(!a||a.index<p))for(r.lastIndex<C&&(r.lastIndex=C);;){const y=r.exec(e);if(!y){h=!0,a=void 0;break}const b=s.exec(e.slice(Math.max(0,y.index-65),y.index));if(b){if(a={schema:"mailto:",index:y.index-b[1].length,lastIndex:y.index+y[0].length},a.index>=p)break;r.lastIndex<C&&(r.lastIndex=C)}}if(i&&!f&&(!l||l.index<p))for(i.lastIndex<C&&(i.lastIndex=C);;){const y=i.exec(e);if(!y){f=!0,l=void 0;break}if(l={schema:"",index:y.index+y[1].length,lastIndex:y.index+y[0].length},l.index>=p)break;i.lastIndex<C&&(i.lastIndex=C)}let d=a;(!d||l&&(l.index<d.index||l.index===d.index&&l.lastIndex>d.lastIndex))&&(d=l);let w;if(!A)for(;;){if(!c){n.lastIndex<C&&(n.lastIndex=C);const _=n.exec(e);if(!_){A=!0;break}c={schema:_[2],index:_.index+_[1].length,lastIndex:_.index+_[0].length}}if(c.index<p){c=void 0;continue}if(d&&c.index>d.index)break;const y=c;c=void 0;const b=this.testSchemaAt(e,y.schema,y.lastIndex);if(b){w={schema:y.schema,index:y.index,lastIndex:y.lastIndex+b};break}}let I=w;if((!I||a&&(a.index<I.index||a.index===I.index&&a.lastIndex>I.lastIndex))&&(I=a),(!I||l&&(l.index<I.index||l.index===I.index&&l.lastIndex>I.lastIndex))&&(I=l),!I)break;I===a?a=void 0:I===l&&(l=void 0);const E=new Uo(e,I.schema,I.index,I.lastIndex);E.schema?this.__schemas__[E.schema].normalize(E,this):this.normalize(E),t.push(E),p=I.lastIndex}return t.length?t:null}matchAtStart(e){if(!e.length)return null;const t=this.re.get_schema_at_start().exec(e);if(!t)return null;const n=this.testSchemaAt(e,t[2],t[0].length);if(!n)return null;const i=new Uo(e,t[2],t.index+t[1].length,t.index+t[0].length+n);return this.__schemas__[i.schema].normalize(i,this),i}tlds(e,t=!1){return e=Array.isArray(e)?e:[e],t?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const Ht=2147483647,ot=36,mo=1,an=26,aa=38,ca=700,ii=72,si=128,li="-",Aa=/^xn--/,ua=/[^\0-\x7F]/,da=/[\x2E\u3002\uFF0E\uFF61]/g,fa={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Un=ot-mo,rt=Math.floor,Hn=String.fromCharCode;function Ct(e){throw new RangeError(fa[e])}function ha(e,t){const n=[];let i=e.length;for(;i--;)n[i]=t(e[i]);return n}function ai(e,t){const n=e.split("@");let i="";n.length>1&&(i=n[0]+"@",e=n[1]),e=e.replace(da,".");const r=e.split("."),s=ha(r,t).join(".");return i+s}function ci(e){const t=[];let n=0;const i=e.length;for(;n<i;){const r=e.charCodeAt(n++);if(r>=55296&&r<=56319&&n<i){const s=e.charCodeAt(n++);(s&64512)==56320?t.push(((r&1023)<<10)+(s&1023)+65536):(t.push(r),n--)}else t.push(r)}return t}const pa=e=>String.fromCodePoint(...e),ma=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:ot},Ho=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},Ai=function(e,t,n){let i=0;for(e=n?rt(e/ca):e>>1,e+=rt(e/t);e>Un*an>>1;i+=ot)e=rt(e/Un);return rt(i+(Un+1)*e/(e+aa))},ui=function(e){const t=[],n=e.length;let i=0,r=si,s=ii,l=e.lastIndexOf(li);l<0&&(l=0);for(let a=0;a<l;++a)e.charCodeAt(a)>=128&&Ct("not-basic"),t.push(e.charCodeAt(a));for(let a=l>0?l+1:0;a<n;){const c=i;for(let f=1,h=ot;;h+=ot){a>=n&&Ct("invalid-input");const p=ma(e.charCodeAt(a++));p>=ot&&Ct("invalid-input"),p>rt((Ht-i)/f)&&Ct("overflow"),i+=p*f;const C=h<=s?mo:h>=s+an?an:h-s;if(p<C)break;const d=ot-C;f>rt(Ht/d)&&Ct("overflow"),f*=d}const A=t.length+1;s=Ai(i-c,A,c==0),rt(i/A)>Ht-r&&Ct("overflow"),r+=rt(i/A),i%=A,t.splice(i++,0,r)}return String.fromCodePoint(...t)},di=function(e){const t=[];e=ci(e);const n=e.length;let i=si,r=0,s=ii;for(const c of e)c<128&&t.push(Hn(c));const l=t.length;let a=l;for(l&&t.push(li);a<n;){let c=Ht;for(const f of e)f>=i&&f<c&&(c=f);const A=a+1;c-i>rt((Ht-r)/A)&&Ct("overflow"),r+=(c-i)*A,i=c;for(const f of e)if(f<i&&++r>Ht&&Ct("overflow"),f===i){let h=r;for(let p=ot;;p+=ot){const C=p<=s?mo:p>=s+an?an:p-s;if(h<C)break;const d=h-C,w=ot-C;t.push(Hn(Ho(C+d%w,0))),h=rt(d/w)}t.push(Hn(Ho(h,0))),s=Ai(r,A,a===l),r=0,++a}++r,++i}return t.join("")},ga=function(e){return ai(e,function(t){return Aa.test(t)?ui(t.slice(4).toLowerCase()):t})},Ca=function(e){return ai(e,function(t){return ua.test(t)?"xn--"+di(t):t})},Lo={version:"2.3.1",ucs2:{decode:ci,encode:pa},decode:ui,encode:di,toASCII:Ca,toUnicode:ga};/*! markdown-it 15.0.0 https://github.com/markdown-it/markdown-it @license MIT */var Jo=Object.defineProperty,fi=(e,t)=>{let n={};for(var i in e)Jo(n,i,{get:e[i],enumerable:!0});return Jo(n,Symbol.toStringTag,{value:"Module"}),n},_a=fi({arrayReplaceAt:()=>pi,asciiTrim:()=>Mn,callable:()=>hi,escapeHtml:()=>Et,escapeRE:()=>Fa,fromCodePoint:()=>cn,isMdAsciiPunct:()=>dn,isPunctChar:()=>gi,isPunctCharCode:()=>un,isSpace:()=>Ae,isValidEntityCode:()=>go,isWhiteSpace:()=>An,lib:()=>xa,normalizeReference:()=>Tn,unescapeAll:()=>Zt,unescapeMd:()=>Ia});function hi(e){const t=function(...n){return Reflect.construct(e,n,new.target&&new.target!==t?new.target:e)};return Object.defineProperty(t,"name",{value:e.name}),Object.setPrototypeOf(t,e),t.prototype=e.prototype,t}function pi(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function go(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function cn(e){if(e>65535){e-=65536;const t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var mi=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,ka=new RegExp(`${mi.source}|${/&([a-z#][a-z0-9]{1,31});/gi.source}`,"gi"),ya=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function Ea(e,t){if(t.charCodeAt(0)===35&&ya.test(t)){const i=t[1].toLowerCase()==="x"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return go(i)?cn(i):e}const n=ri(e);return n!==e?n:e}function Ia(e){return e.indexOf("\\")<0?e:e.replace(mi,"$1")}function Zt(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(ka,function(t,n,i){return n||Ea(t,i)})}var ba=/[&<>"]/,Da=/[&<>"]/g,wa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};function Ba(e){return wa[e]}function Et(e){return ba.test(e)?e.replace(Da,Ba):e}var va=/[.?*+^$[\]\\(){}|-]/g;function Fa(e){return e.replace(va,"\\$&")}function Ae(e){switch(e){case 9:case 32:return!0}return!1}function An(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function gi(e){return po.test(e)||ni.test(e)}function un(e){return gi(cn(e))}function dn(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function Tn(e){return e=e.trim().replace(/\s+/g," "),e.toLowerCase().toUpperCase()}function Zo(e){return e===32||e===9||e===10||e===13}function Mn(e){let t=0;for(;t<e.length&&Zo(e.charCodeAt(t));t++);let n=e.length-1;for(;n>=t&&Zo(e.charCodeAt(n));n--);return e.slice(t,n+1)}var xa={mdurl:Ol,ucmicro:Ul};function Sa(e,t,n){let i,r,s,l;const a=e.posMax,c=e.pos;for(e.pos=t+1,i=1;e.pos<a;){if(s=e.src.charCodeAt(e.pos),s===93&&(i--,i===0)){r=!0;break}if(l=e.pos,e.md.inline.skipToken(e),s===91){if(l===e.pos-1)i++;else if(n)return e.pos=c,-1}}let A=-1;return r&&(A=e.pos),e.pos=c,A}function Na(e,t,n){let i,r=t;const s={ok:!1,pos:0,str:""};if(e.charCodeAt(r)===60){for(r++;r<n;){if(i=e.charCodeAt(r),i===10||i===60)return s;if(i===62)return s.pos=r+1,s.str=Zt(e.slice(t+1,r)),s.ok=!0,s;if(i===92&&r+1<n){r+=2;continue}r++}return s}let l=0;for(;r<n&&(i=e.charCodeAt(r),!(i===32||i<32||i===127));){if(i===92&&r+1<n){if(e.charCodeAt(r+1)===32){r++;continue}r+=2;continue}if(i===40&&(l++,l>32))return s;if(i===41){if(l===0)break;l--}r++}return t===r||l!==0||(s.str=Zt(e.slice(t,r)),s.pos=r,s.ok=!0),s}function Ra(e,t,n,i){let r,s=t;const l={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(i)l.str=i.str,l.marker=i.marker;else{if(s>=n)return l;let a=e.charCodeAt(s);if(a!==34&&a!==39&&a!==40)return l;t++,s++,a===40&&(a=41),l.marker=a}for(;s<n;){if(r=e.charCodeAt(s),r===l.marker)return l.pos=s+1,l.str+=Zt(e.slice(t,s)),l.ok=!0,l;if(r===40&&l.marker===41)return l;r===92&&s+1<n&&s++,s++}return l.can_continue=!0,l.str+=Zt(e.slice(t,s)),l}var Ta=fi({parseLinkDestination:()=>Na,parseLinkLabel:()=>Sa,parseLinkTitle:()=>Ra});function fn(e){"@babel/helpers - typeof";return fn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fn(e)}function Ma(e,t){if(fn(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var i=n.call(e,t);if(fn(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Qa(e){var t=Ma(e,"string");return fn(t)=="symbol"?t:t+""}function V(e,t,n){return(t=Qa(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var xt=class{constructor(e,t,n){V(this,"map",null),V(this,"level",0),V(this,"children",null),V(this,"content",""),V(this,"markup",""),V(this,"info",""),V(this,"block",!1),V(this,"hidden",!1),this.type=e,this.tag=t,this.attrs=null,this.nesting=n,this.meta=null}attrIndex(e){if(!this.attrs)return-1;const t=this.attrs;for(let n=0,i=t.length;n<i;n++)if(t[n][0]===e)return n;return-1}attrPush(e){this.attrs?this.attrs.push(e):this.attrs=[e]}attrSet(e,t){const n=this.attrIndex(e),i=[e,t];n<0?this.attrPush(i):this.attrs[n]=i}attrGet(e){const t=this.attrIndex(e);let n=null;return t>=0&&(n=this.attrs[t][1]),n}attrJoin(e,t){const n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=`${this.attrs[n][1]} ${t}`}},hn=class{constructor(){V(this,"__rules__",[]),V(this,"__cache__",null)}__find__(e){for(let t=0;t<this.__rules__.length;t++)if(this.__rules__[t].name===e)return t;return-1}__compile__(){const e=new Set;this.__rules__.forEach(t=>{t.enabled&&t.alt.forEach(n=>{n&&e.add(n)})}),this.__cache__=Object.create(null),this.__cache__[""]=[],this.__rules__.forEach(t=>{t.enabled&&this.__cache__[""].push(t.fn)}),e.forEach(t=>{this.__cache__[t]=[],this.__rules__.forEach(n=>{n.enabled&&n.alt.indexOf(t)>=0&&this.__cache__[t].push(n.fn)})})}at(e,t,n={}){const i=this.__find__(e);if(i===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__[i].fn=t,this.__rules__[i].alt=n.alt||[],this.__cache__=null}before(e,t,n,i={}){const r=this.__find__(e);if(r===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(r,0,{name:t,enabled:!0,fn:n,alt:i.alt||[]}),this.__cache__=null}after(e,t,n,i={}){const r=this.__find__(e);if(r===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(r+1,0,{name:t,enabled:!0,fn:n,alt:i.alt||[]}),this.__cache__=null}push(e,t,n={}){this.__rules__.push({name:e,enabled:!0,fn:t,alt:n.alt||[]}),this.__cache__=null}enable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(i=>{const r=this.__find__(i);if(r<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${i}`)}this.__rules__[r].enabled=!0,n.push(i)}),this.__cache__=null,n}enableOnly(e,t=!1){Array.isArray(e)||(e=[e]),this.__rules__.forEach(n=>{n.enabled=!1}),this.enable(e,t)}disable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(i=>{const r=this.__find__(i);if(r<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${i}`)}this.__rules__[r].enabled=!1,n.push(i)}),this.__cache__=null,n}getRules(e){return this.__cache__||this.__compile__(),this.__cache__[e]||[]}},st={};st.code_inline=function(e,t,n,i,r){const s=e[t];return`<code${r.renderAttrs(s)}>${Et(s.content)}</code>`};st.code_block=function(e,t,n,i,r){const s=e[t];return`<pre${r.renderAttrs(s)}><code>${Et(e[t].content)}</code></pre>
50
+ `};st.fence=function(e,t,n,i,r){const s=e[t],l=s.info?Zt(s.info).trim():"";let a="",c="";if(l){const f=l.split(/(\s+)/g);a=f[0],c=f.slice(2).join("")}let A;if(n.highlight?A=n.highlight(s.content,a,c)||Et(s.content):A=Et(s.content),A.indexOf("<pre")===0)return A+`
51
+ `;if(l){const f=s.attrIndex("class"),h=s.attrs?s.attrs.slice():[];f<0?h.push(["class",`${n.langPrefix}${a}`]):(h[f]=[h[f][0],h[f][1]],h[f][1]+=` ${n.langPrefix}${a}`);const p={attrs:h};return`<pre><code${r.renderAttrs(p)}>${A}</code></pre>
52
+ `}return`<pre><code${r.renderAttrs(s)}>${A}</code></pre>
53
+ `};st.image=function(e,t,n,i,r){const s=e[t];return s.attrs[s.attrIndex("alt")][1]=r.renderInlineAsText(s.children,n,i),r.renderToken(e,t,n)};st.hardbreak=function(e,t,n){return n.xhtmlOut?`<br />
45
54
  `:`<br>
46
- `};Ge.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`<br />
55
+ `};st.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`<br />
47
56
  `:`<br>
48
57
  `:`
49
- `};Ge.text=function(e,t){return Ze(e[t].content)};Ge.html_block=function(e,t){return e[t].content};Ge.html_inline=function(e,t){return e[t].content};var Fr=class{constructor(){Q(this,"rules",Object.assign({},Ge))}renderAttrs(e){let t,n,i;if(!e.attrs)return"";for(i="",t=0,n=e.attrs.length;t<n;t++)i+=` ${Ze(e.attrs[t][0])}="${Ze(String(e.attrs[t][1]))}"`;return i}renderToken(e,t,n){const i=e[t];let o="";if(i.hidden)return"";let s=t-1;for(;s>=0&&e[s].hidden&&e[s].nesting===0;)s--;i.block&&i.nesting!==-1&&s>=0&&e[s].hidden&&e[s].nesting===-1&&(o+=`
50
- `),o+=(i.nesting===-1?"</":"<")+i.tag,o+=this.renderAttrs(i),i.nesting===0&&n.xhtmlOut&&(o+=" /");let l=!1;if(i.block&&(l=!0,i.nesting===1)){let A=t+1;for(;A<e.length&&e[A].hidden&&e[A].nesting===0;)A++;if(A<e.length){const a=e[A];(a.type==="inline"||a.hidden||a.nesting===-1&&a.tag===i.tag)&&(l=!1)}}return o+=l?`>
51
- `:">",o}renderInline(e,t,n){let i="";const o=this.rules;for(let s=0,l=e.length;s<l;s++){const A=e[s].type;typeof o[A]<"u"?i+=o[A](e,s,t,n,this):i+=this.renderToken(e,s,t)}return i}renderInlineAsText(e,t,n){let i="";for(let o=0,s=e.length;o<s;o++)switch(e[o].type){case"text":case"code_inline":i+=e[o].content;break;case"image":i+=this.renderInlineAsText(e[o].children,t,n);break;case"html_inline":case"html_block":i+=e[o].content;break;case"softbreak":case"hardbreak":i+=`
52
- `}return i}render(e,t,n){let i="";const o=this.rules;for(let s=0,l=e.length;s<l;s++){const A=e[s].type;A==="inline"?i+=this.renderInline(e[s].children,t,n):typeof o[A]<"u"?i+=o[A](e,s,t,n,this):i+=this.renderToken(e,s,t)}return i}},xr=class{constructor(e,t,n){Q(this,"tokens",[]),Q(this,"inlineMode",!1),Q(this,"Token",tt),this.src=e,this.env=n,this.md=t}},Tl=/\r\n?|\n/g,Ql=/\0/g;function Ml(e){let t;t=e.src.replace(Tl,`
53
- `),t=t.replace(Ql,"�"),e.src=t}function Kl(e){let t;e.inlineMode?(t=new e.Token("inline","",0),t.content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}function Gl(e){const t=e.tokens;let n=0;for(let i=0;i<t.length;i++)t[i].type!=="reference_definition"&&(i!==n&&(t[n]=t[i]),n++);t.length!==n&&(t.length=n)}function Wl(e){const t=e.tokens;for(let n=0,i=t.length;n<i;n++){const o=t[n];o.type==="inline"&&e.md.inline.parse(o.content,e.md,e.env,o.children)}}function Yl(e){return/^<a[>\s]/i.test(e)}function Ol(e){return/^<\/a\s*>/i.test(e)}function Hl(e){const t=e.tokens;if(e.md.options.linkify)for(let n=0,i=t.length;n<i;n++){if(t[n].type!=="inline"||!e.md.linkify.test(t[n].content))continue;let o=t[n].children,s=0;for(let l=o.length-1;l>=0;l--){const A=o[l];if(A.type==="link_close"){for(l--;o[l].level!==A.level&&o[l].type!=="link_open";)l--;continue}if(A.type==="html_inline"&&(Yl(A.content)&&s>0&&s--,Ol(A.content)&&s++),!(s>0)&&A.type==="text"&&e.md.linkify.test(A.content)){const a=A.content;let u=e.md.linkify.match(a);const d=[];let f=A.level,_=0;u.length>0&&u[0].index===0&&l>0&&o[l-1].type==="text_special"&&(u=u.slice(1));for(let m=0;m<u.length;m++){const h=u[m].url,k=e.md.normalizeLink(h);if(!e.md.validateLink(k))continue;let D=u[m].text;u[m].schema?u[m].schema==="mailto:"&&!/^mailto:/i.test(D)?D=e.md.normalizeLinkText(`mailto:${D}`).replace(/^mailto:/,""):D=e.md.normalizeLinkText(D):D=e.md.normalizeLinkText(`http://${D}`).replace(/^http:\/\//,"");const g=u[m].index;if(g>_){const y=new e.Token("text","",0);y.content=a.slice(_,g),y.level=f,d.push(y)}const B=new e.Token("link_open","a",1);B.attrs=[["href",k]],B.level=f++,B.markup="linkify",B.info="auto",d.push(B);const x=new e.Token("text","",0);x.content=D,x.level=f,d.push(x);const C=new e.Token("link_close","a",-1);C.level=--f,C.markup="linkify",C.info="auto",d.push(C),_=u[m].lastIndex}if(_<a.length){const m=new e.Token("text","",0);m.content=a.slice(_),m.level=f,d.push(m)}t[n].children=o=Ir(o,l,d)}}}}var vr=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,Vl=/\((c|tm|r)\)/i,Ul=/\((c|tm|r)\)/gi,Ll={c:"©",r:"®",tm:"™"};function Jl(e,t){return Ll[t.toLowerCase()]}function Zl(e){let t=0;for(let n=e.length-1;n>=0;n--){const i=e[n];i.type==="text"&&!t&&(i.content=i.content.replace(Ul,Jl)),i.type==="link_open"&&i.info==="auto"&&t--,i.type==="link_close"&&i.info==="auto"&&t++}}function Pl(e){let t=0;for(let n=e.length-1;n>=0;n--){const i=e[n];i.type==="text"&&!t&&vr.test(i.content)&&(i.content=i.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")),i.type==="link_open"&&i.info==="auto"&&t--,i.type==="link_close"&&i.info==="auto"&&t++}}function zl(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(Vl.test(e.tokens[t].content)&&Zl(e.tokens[t].children),vr.test(e.tokens[t].content)&&Pl(e.tokens[t].children))}var jl=/['"]/,bo=/['"]/g,Do="’";function Jt(e,t,n,i){e[t]||(e[t]=[]),e[t].push({pos:n,ch:i})}function Xl(e,t){let n="",i=0;t.sort((o,s)=>o.pos-s.pos);for(let o=0;o<t.length;o++){const s=t[o];n+=e.slice(i,s.pos)+s.ch,i=s.pos+1}return n+e.slice(i)}function $l(e,t){let n;const i=[],o={};for(let s=0;s<e.length;s++){const l=e[s],A=e[s].level;for(n=i.length-1;n>=0&&!(i[n].level<=A);n--);if(i.length=n+1,l.type!=="text")continue;const a=l.content;let u=0;const d=a.length;e:for(;u<d;){bo.lastIndex=u;const f=bo.exec(a);if(!f)break;let _=!0,m=!0;u=f.index+1;const h=f[0]==="'";let k=32;if(f.index-1>=0)k=a.charCodeAt(f.index-1);else for(n=s-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){k=e[n].content.charCodeAt(e[n].content.length-1);break}let D=32;if(u<d)D=a.charCodeAt(u);else for(n=s+1;n<e.length&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n++)if(e[n].content){D=e[n].content.charCodeAt(0);break}const g=Rt(k)||Nt(k),B=Rt(D)||Nt(D),x=St(k),C=St(D);if(C?_=!1:B&&(x||g||(_=!1)),x?m=!1:g&&(C||B||(m=!1)),D===34&&f[0]==='"'&&k>=48&&k<=57&&(m=_=!1),_&&m&&(_=g,m=B),!_&&!m){h&&Jt(o,s,f.index,Do);continue}if(m)for(n=i.length-1;n>=0;n--){let y=i[n];if(i[n].level<A)break;if(y.single===h&&i[n].level===A){y=i[n];let K,H;h?(K=t.md.options.quotes[2],H=t.md.options.quotes[3]):(K=t.md.options.quotes[0],H=t.md.options.quotes[1]),Jt(o,s,f.index,H),Jt(o,y.token,y.pos,K),i.length=n;continue e}}_?i.push({token:s,pos:f.index,single:h,level:A}):m&&h&&Jt(o,s,f.index,Do)}}Object.keys(o).forEach(function(s){const l=Number(s);e[l].content=Xl(e[l].content,o[s])})}function ql(e){if(e.md.options.typographer)for(let t=e.tokens.length-1;t>=0;t--)e.tokens[t].type!=="inline"||!jl.test(e.tokens[t].content)||$l(e.tokens[t].children,e)}function eA(e){let t,n;const i=e.length;for(t=0;t<i;t++)e[t].type==="text_special"&&(e[t].type="text");for(t=n=0;t<i;t++)e[t].type==="text"&&t+1<i&&e[t+1].type==="text"?e[t+1].content=e[t].content+e[t+1].content:(t!==n&&(e[n]=e[t]),n++);t!==n&&(e.length=n)}function tA(e){let t,n;const i=e.tokens,o=i.length;for(let s=0;s<o;s++){if(i[s].type!=="inline")continue;const l=i[s].children,A=l.length;for(t=0;t<A;t++)l[t].type==="text_special"&&(l[t].type="text"),l[t].children&&eA(l[t].children);for(t=n=0;t<A;t++)l[t].type==="text"&&t+1<A&&l[t+1].type==="text"?l[t+1].content=l[t].content+l[t+1].content:(t!==n&&(l[n]=l[t]),n++);t!==n&&(l.length=n)}}var En=[["normalize",Ml],["block",Kl],["strip_references",Gl],["inline",Wl],["linkify",Hl],["replacements",zl],["smartquotes",ql],["text_join",tA]],Sr=class{constructor(){Q(this,"ruler",new Qt),Q(this,"State",xr);for(let e=0;e<En.length;e++)this.ruler.push(En[e][0],En[e][1])}process(e){const t=this.ruler.getRules("");for(let n=0,i=t.length;n<i;n++)t[n](e)}},Nr=class{constructor(e,t,n,i){Q(this,"bMarks",[]),Q(this,"eMarks",[]),Q(this,"tShift",[]),Q(this,"sCount",[]),Q(this,"bsCount",[]),Q(this,"blkIndent",0),Q(this,"line",0),Q(this,"lineMax",0),Q(this,"tight",!1),Q(this,"listIndent",-1),Q(this,"parentType","root"),Q(this,"level",0),Q(this,"Token",tt),this.src=e,this.md=t,this.env=n,this.tokens=i;const o=this.src;for(let s=0,l=0,A=0,a=0,u=o.length,d=!1;l<u;l++){const f=o.charCodeAt(l);if(!d)if(oe(f)){A++,f===9?a+=4-a%4:a++;continue}else d=!0;(f===10||l===u-1)&&(f!==10&&l++,this.bMarks.push(s),this.eMarks.push(l),this.tShift.push(A),this.sCount.push(a),this.bsCount.push(0),d=!1,A=0,a=0,s=l+1)}this.bMarks.push(o.length),this.eMarks.push(o.length),this.tShift.push(0),this.sCount.push(0),this.bsCount.push(0),this.lineMax=this.bMarks.length-1}push(e,t,n){const i=new tt(e,t,n);return i.block=!0,n<0&&this.level--,i.level=this.level,n>0&&this.level++,this.tokens.push(i),i}isEmpty(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]}skipEmptyLines(e){for(let t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e}skipSpaces(e){for(let t=this.src.length;e<t&&oe(this.src.charCodeAt(e));e++);return e}skipSpacesBack(e,t){if(e<=t)return e;for(;e>t;)if(!oe(this.src.charCodeAt(--e)))return e+1;return e}skipChars(e,t){for(let n=this.src.length;e<n&&this.src.charCodeAt(e)===t;e++);return e}skipCharsBack(e,t,n){if(e<=n)return e;for(;e>n;)if(t!==this.src.charCodeAt(--e))return e+1;return e}getLines(e,t,n,i){if(e>=t)return"";const o=new Array(t-e);for(let s=0,l=e;l<t;l++,s++){let A=0;const a=this.bMarks[l];let u=a,d;for(l+1<t||i?d=this.eMarks[l]+1:d=this.eMarks[l];u<d&&A<n;){const f=this.src.charCodeAt(u);if(oe(f))f===9?A+=4-(A+this.bsCount[l])%4:A++;else if(u-a<this.tShift[l])A++;else break;u++}A>n?o[s]=new Array(A-n+1).join(" ")+this.src.slice(u,d):o[s]=this.src.slice(u,d)}return o.join("")}},nA=65536;function bn(e,t){const n=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];return e.src.slice(n,i)}function Io(e){const t=[],n=e.length;let i=0,o=e.charCodeAt(i),s=!1,l=0,A="";for(;i<n;)o===124&&(s?(A+=e.substring(l,i-1),l=i):(t.push(A+e.substring(l,i)),A="",l=i+1)),s=o===92,i++,o=e.charCodeAt(i);return t.push(A+e.substring(l)),t}function oA(e,t,n,i){if(t+2>n)return!1;let o=t+1;if(e.sCount[o]<e.blkIndent||e.sCount[o]-e.blkIndent>=4)return!1;let s=e.bMarks[o]+e.tShift[o];if(s>=e.eMarks[o])return!1;const l=e.src.charCodeAt(s++);if(l!==124&&l!==45&&l!==58||s>=e.eMarks[o])return!1;const A=e.src.charCodeAt(s++);if(A!==124&&A!==45&&A!==58&&!oe(A)||l===45&&oe(A))return!1;for(;s<e.eMarks[o];){const C=e.src.charCodeAt(s);if(C!==124&&C!==45&&C!==58&&!oe(C))return!1;s++}let a=bn(e,t+1),u=a.split("|");const d=[];for(let C=0;C<u.length;C++){const y=u[C].trim();if(!y){if(C===0||C===u.length-1)continue;return!1}if(!/^:?-+:?$/.test(y))return!1;y.charCodeAt(y.length-1)===58?d.push(y.charCodeAt(0)===58?"center":"right"):y.charCodeAt(0)===58?d.push("left"):d.push("")}if(a=bn(e,t).trim(),a.indexOf("|")===-1||e.sCount[t]-e.blkIndent>=4)return!1;u=Io(a),u.length&&u[0]===""&&u.shift(),u.length&&u[u.length-1]===""&&u.pop();const f=u.length;if(f===0||f!==d.length)return!1;if(i)return!0;const _=e.parentType;e.parentType="table";const m=e.md.block.ruler.getRules("blockquote"),h=e.push("table_open","table",1),k=[t,0];h.map=k;const D=e.push("thead_open","thead",1);D.map=[t,t+1];const g=e.push("tr_open","tr",1);g.map=[t,t+1];for(let C=0;C<u.length;C++){const y=e.push("th_open","th",1);d[C]&&(y.attrs=[["style",`text-align:${d[C]}`]]);const K=e.push("inline","",0);K.content=u[C].trim(),K.children=[],e.push("th_close","th",-1)}e.push("tr_close","tr",-1),e.push("thead_close","thead",-1);let B,x=0;for(o=t+2;o<n&&!(e.sCount[o]<e.blkIndent);o++){let C=!1;for(let K=0,H=m.length;K<H;K++)if(m[K](e,o,n,!0)){C=!0;break}if(C||(a=bn(e,o).trim(),!a)||e.sCount[o]-e.blkIndent>=4||(u=Io(a),u.length&&u[0]===""&&u.shift(),u.length&&u[u.length-1]===""&&u.pop(),x+=f-u.length,x>nA))break;if(o===t+2){const K=e.push("tbody_open","tbody",1);K.map=B=[t+2,0]}const y=e.push("tr_open","tr",1);y.map=[o,o+1];for(let K=0;K<f;K++){const H=e.push("td_open","td",1);d[K]&&(H.attrs=[["style",`text-align:${d[K]}`]]);const w=e.push("inline","",0);w.content=u[K]?u[K].trim():"",w.children=[],e.push("td_close","td",-1)}e.push("tr_close","tr",-1)}return B&&(e.push("tbody_close","tbody",-1),B[1]=o),e.push("table_close","table",-1),k[1]=o,e.parentType=_,e.line=o,!0}function rA(e,t,n){if(e.sCount[t]-e.blkIndent<4)return!1;let i=t+1,o=i;for(;i<n;){if(e.isEmpty(i)){i++;continue}if(e.sCount[i]-e.blkIndent>=4){i++,o=i;continue}break}e.line=o;const s=e.push("code_block","code",0);return s.content=e.getLines(t,o,4+e.blkIndent,!1)+`
54
- `,s.map=[t,e.line],!0}function iA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||o+3>s)return!1;const l=e.src.charCodeAt(o);if(l!==126&&l!==96)return!1;let A=o;o=e.skipChars(o,l);let a=o-A;if(a<3)return!1;const u=e.src.slice(A,o),d=e.src.slice(o,s);if(l===96&&d.indexOf(String.fromCharCode(l))>=0)return!1;if(i)return!0;let f=t,_=!1;for(;f++,!(f>=n||(o=A=e.bMarks[f]+e.tShift[f],s=e.eMarks[f],o<s&&e.sCount[f]<e.blkIndent));)if(e.src.charCodeAt(o)===l&&!(e.sCount[f]-e.blkIndent>=4)&&(o=e.skipChars(o,l),!(o-A<a)&&(o=e.skipSpaces(o),!(o<s)))){_=!0;break}a=e.sCount[t],e.line=f+(_?1:0);const m=e.push("fence","code",0);return m.info=d,m.content=e.getLines(t+1,f,a,!0),m.markup=u,m.map=[t,e.line],!0}function sA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];const l=e.lineMax;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(o)!==62)return!1;if(i)return!0;const A=[],a=[],u=[],d=[],f=e.md.block.ruler.getRules("blockquote"),_=e.parentType;e.parentType="blockquote";let m=!1,h;for(h=t;h<n;h++){const x=e.sCount[h]<e.blkIndent;if(o=e.bMarks[h]+e.tShift[h],s=e.eMarks[h],o>=s)break;if(e.src.charCodeAt(o++)===62&&!x){let y=e.sCount[h]+1,K,H;e.src.charCodeAt(o)===32?(o++,y++,H=!1,K=!0):e.src.charCodeAt(o)===9?(K=!0,(e.bsCount[h]+y)%4===3?(o++,y++,H=!1):H=!0):K=!1;let w=y;for(A.push(e.bMarks[h]),e.bMarks[h]=o;o<s;){const b=e.src.charCodeAt(o);if(oe(b))b===9?w+=4-(w+e.bsCount[h]+(H?1:0))%4:w++;else break;o++}m=o>=s,a.push(e.bsCount[h]),e.bsCount[h]=e.sCount[h]+1+(K?1:0),u.push(e.sCount[h]),e.sCount[h]=w-y,d.push(e.tShift[h]),e.tShift[h]=o-e.bMarks[h];continue}if(m)break;let C=!1;for(let y=0,K=f.length;y<K;y++)if(f[y](e,h,n,!0)){C=!0;break}if(C){e.lineMax=h,e.blkIndent!==0&&(A.push(e.bMarks[h]),a.push(e.bsCount[h]),d.push(e.tShift[h]),u.push(e.sCount[h]),e.sCount[h]-=e.blkIndent);break}A.push(e.bMarks[h]),a.push(e.bsCount[h]),d.push(e.tShift[h]),u.push(e.sCount[h]),e.sCount[h]=-1}const k=e.blkIndent;e.blkIndent=0;const D=e.push("blockquote_open","blockquote",1);D.markup=">";const g=[t,0];D.map=g,e.md.block.tokenize(e,t,h);const B=e.push("blockquote_close","blockquote",-1);B.markup=">",e.lineMax=l,e.parentType=_,g[1]=e.line;for(let x=0;x<d.length;x++)e.bMarks[x+t]=A[x],e.tShift[x+t]=d[x],e.sCount[x+t]=u[x],e.bsCount[x+t]=a[x];return e.blkIndent=k,!0}function lA(e,t,n,i){const o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let s=e.bMarks[t]+e.tShift[t];const l=e.src.charCodeAt(s++);if(l!==42&&l!==45&&l!==95)return!1;let A=1;for(;s<o;){const u=e.src.charCodeAt(s++);if(u!==l&&!oe(u))return!1;u===l&&A++}if(A<3)return!1;if(i)return!0;e.line=t+1;const a=e.push("hr","hr",0);return a.map=[t,e.line],a.markup=Array(A+1).join(String.fromCharCode(l)),!0}function Bo(e,t){const n=e.eMarks[t];let i=e.bMarks[t]+e.tShift[t];const o=e.src.charCodeAt(i++);return o!==42&&o!==45&&o!==43||i<n&&!oe(e.src.charCodeAt(i))?-1:i}function wo(e,t){const n=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];let o=n;if(o+1>=i)return-1;let s=e.src.charCodeAt(o++);if(s<48||s>57)return-1;for(;;){if(o>=i)return-1;if(s=e.src.charCodeAt(o++),s>=48&&s<=57){if(o-n>=10)return-1;continue}if(s===41||s===46)break;return-1}return o<i&&(s=e.src.charCodeAt(o),!oe(s))?-1:o}function AA(e,t){const n=e.level+2;for(let i=t+2,o=e.tokens.length-2;i<o;i++)e.tokens[i].level===n&&e.tokens[i].type==="paragraph_open"&&(e.tokens[i+2].hidden=!0,e.tokens[i].hidden=!0,i+=2)}function aA(e,t,n,i){let o,s,l,A,a=t,u=!0;if(e.sCount[a]-e.blkIndent>=4||e.listIndent>=0&&e.sCount[a]-e.listIndent>=4&&e.sCount[a]<e.blkIndent)return!1;let d=!1;i&&e.parentType==="paragraph"&&e.sCount[a]>=e.blkIndent&&(d=!0);let f,_,m;if((m=wo(e,a))>=0){if(f=!0,l=e.bMarks[a]+e.tShift[a],_=Number(e.src.slice(l,m-1)),d&&_!==1)return!1}else if((m=Bo(e,a))>=0)f=!1;else return!1;if(d&&e.skipSpaces(m)>=e.eMarks[a])return!1;if(i)return!0;const h=e.src.charCodeAt(m-1),k=e.tokens.length;f?(A=e.push("ordered_list_open","ol",1),_!==1&&(A.attrs=[["start",_]])):A=e.push("bullet_list_open","ul",1);const D=[a,0];A.map=D,A.markup=String.fromCharCode(h);let g=!1;const B=e.md.block.ruler.getRules("list"),x=e.parentType;for(e.parentType="list";a<n;){s=m,o=e.eMarks[a];const C=e.sCount[a]+m-(e.bMarks[a]+e.tShift[a]);let y=C;for(;s<o;){const ue=e.src.charCodeAt(s);if(ue===9)y+=4-(y+e.bsCount[a])%4;else if(ue===32)y++;else break;s++}const K=s;let H;K>=o?H=1:H=y-C,H>4&&(H=1);const w=C+H;A=e.push("list_item_open","li",1),A.markup=String.fromCharCode(h);const b=[a,0];A.map=b,f&&(A.info=e.src.slice(l,m-1));const v=e.tight,N=e.tShift[a],J=e.sCount[a],z=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=w,e.tight=!0,e.tShift[a]=K-e.bMarks[a],e.sCount[a]=y,K>=o&&e.isEmpty(a+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,a,n),(!e.tight||g)&&(u=!1),g=e.line-a>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=z,e.tShift[a]=N,e.sCount[a]=J,e.tight=v,A=e.push("list_item_close","li",-1),A.markup=String.fromCharCode(h),a=e.line,b[1]=a,a>=n||e.sCount[a]<e.blkIndent||e.sCount[a]-e.blkIndent>=4)break;let $=!1;for(let ue=0,de=B.length;ue<de;ue++)if(B[ue](e,a,n,!0)){$=!0;break}if($)break;if(f){if(m=wo(e,a),m<0)break;l=e.bMarks[a]+e.tShift[a]}else if(m=Bo(e,a),m<0)break;if(h!==e.src.charCodeAt(m-1))break}return f?A=e.push("ordered_list_close","ol",-1):A=e.push("bullet_list_close","ul",-1),A.markup=String.fromCharCode(h),D[1]=a,e.line=a,e.parentType=x,u&&AA(e,k),!0}function cA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t],l=t+1;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(o)!==91)return!1;function A(C){const y=e.lineMax;if(C>=y||e.isEmpty(C))return null;let K=!1;if(e.sCount[C]-e.blkIndent>3&&(K=!0),e.sCount[C]<0&&(K=!0),!K){const b=e.md.block.ruler.getRules("reference"),v=e.parentType;e.parentType="reference";let N=!1;for(let J=0,z=b.length;J<z;J++)if(b[J](e,C,y,!0)){N=!0;break}if(e.parentType=v,N)return null}const H=e.bMarks[C]+e.tShift[C],w=e.eMarks[C];return e.src.slice(H,w+1)}let a=e.src.slice(o,s+1);s=a.length;let u=-1;for(o=1;o<s;o++){const C=a.charCodeAt(o);if(C===91)return!1;if(C===93){u=o;break}else if(C===10){const y=A(l);y!==null&&(a+=y,s=a.length,l++)}else if(C===92&&(o++,o<s&&a.charCodeAt(o)===10)){const y=A(l);y!==null&&(a+=y,s=a.length,l++)}}if(u<0||a.charCodeAt(u+1)!==58)return!1;for(o=u+2;o<s;o++){const C=a.charCodeAt(o);if(C===10){const y=A(l);y!==null&&(a+=y,s=a.length,l++)}else if(!oe(C))break}const d=e.md.helpers.parseLinkDestination(a,o,s);if(!d.ok)return!1;const f=e.md.normalizeLink(d.str);if(!e.md.validateLink(f))return!1;o=d.pos;const _=o,m=l,h=o;for(;o<s;o++){const C=a.charCodeAt(o);if(C===10){const y=A(l);y!==null&&(a+=y,s=a.length,l++)}else if(!oe(C))break}let k=e.md.helpers.parseLinkTitle(a,o,s);for(;k.can_continue;){const C=A(l);if(C===null)break;a+=C,o=s,s=a.length,l++,k=e.md.helpers.parseLinkTitle(a,o,s,k)}let D;for(o<s&&h!==o&&k.ok?(D=k.str,o=k.pos):(D="",o=_,l=m);o<s&&oe(a.charCodeAt(o));)o++;if(o<s&&a.charCodeAt(o)!==10&&D)for(D="",o=_,l=m;o<s&&oe(a.charCodeAt(o));)o++;if(o<s&&a.charCodeAt(o)!==10)return!1;const g=qt(a.slice(1,u));if(!g)return!1;if(i)return!0;typeof e.env.references>"u"&&(e.env.references={}),typeof e.env.references[g]>"u"&&(e.env.references[g]={title:D,href:f});const B=e.push("reference_definition","",0);B.map=[t,l],B.hidden=!0;const x=Object.create(null);return x.label=g,B.meta=x,e.line=l,!0}var uA=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Rr=`<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>`,Tr="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",hA=new RegExp(`^(?:${Rr}|${Tr}|<!---?>|<!--(?:[^-]|-[^-]|--[^>])*-->|<[?][\\s\\S]*?[?]>|<![A-Za-z][^>]*>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>)`),dA=new RegExp(`^(?:${Rr}|${Tr})`),qe=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Za-z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp(`^</?(${uA.join("|")})(?=(\\s|/?>|$))`,"i"),/^$/,!0],[new RegExp(`${dA.source}\\s*$`),/^$/,!1]];function fA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(o)!==60)return!1;let l=e.src.slice(o,s),A=0;for(;A<qe.length&&!qe[A][0].test(l);A++);if(A===qe.length)return!1;if(i)return qe[A][2];let a=t+1;const u=qe[A][1].test("");if(!qe[A][1].test(l)){for(;a<n&&!(e.sCount[a]<e.blkIndent&&(u||!e.isEmpty(a)));a++)if(o=e.bMarks[a]+e.tShift[a],s=e.eMarks[a],l=e.src.slice(o,s),qe[A][1].test(l)){l.length!==0&&a++;break}}e.line=a;const d=e.push("html_block","",0);return d.map=[t,a],d.content=e.getLines(t,a,e.blkIndent,!0),!0}function pA(e,t,n,i){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let l=e.src.charCodeAt(o);if(l!==35||o>=s)return!1;let A=1;for(l=e.src.charCodeAt(++o);l===35&&o<s&&A<=6;)A++,l=e.src.charCodeAt(++o);if(A>6||o<s&&!oe(l))return!1;if(i)return!0;s=e.skipSpacesBack(s,o);const a=e.skipCharsBack(s,35,o);a>o&&oe(e.src.charCodeAt(a-1))&&(s=a),e.line=t+1;const u=e.push("heading_open",`h${A}`,1);u.markup="########".slice(0,A),u.map=[t,e.line];const d=e.push("inline","",0);d.content=en(e.src.slice(o,s)),d.map=[t,e.line],d.children=[];const f=e.push("heading_close",`h${A}`,-1);return f.markup="########".slice(0,A),!0}function mA(e,t,n){const i=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const o=e.parentType;e.parentType="paragraph";let s=0,l,A=t+1;for(;A<n&&!e.isEmpty(A);A++){if(e.sCount[A]-e.blkIndent>3)continue;if(e.sCount[A]>=e.blkIndent){let m=e.bMarks[A]+e.tShift[A];const h=e.eMarks[A];if(m<h&&(l=e.src.charCodeAt(m),(l===45||l===61)&&(m=e.skipChars(m,l),m=e.skipSpaces(m),m>=h))){s=l===61?1:2;break}}if(e.sCount[A]<0)continue;let _=!1;for(let m=0,h=i.length;m<h;m++)if(i[m](e,A,n,!0)){_=!0;break}if(_)break}if(!s)return e.parentType=o,!1;const a=en(e.getLines(t,A,e.blkIndent,!1));e.line=A+1;const u=e.push("heading_open",`h${s}`,1);u.markup=String.fromCharCode(l),u.map=[t,e.line];const d=e.push("inline","",0);d.content=a,d.map=[t,e.line-1],d.children=[];const f=e.push("heading_close",`h${s}`,-1);return f.markup=String.fromCharCode(l),e.parentType=o,!0}function gA(e,t,n){const i=e.md.block.ruler.getRules("paragraph"),o=e.parentType;let s=t+1;for(e.parentType="paragraph";s<n&&!e.isEmpty(s);s++){if(e.sCount[s]-e.blkIndent>3||e.sCount[s]<0)continue;let u=!1;for(let d=0,f=i.length;d<f;d++)if(i[d](e,s,n,!0)){u=!0;break}if(u)break}const l=en(e.getLines(t,s,e.blkIndent,!1));e.line=s;const A=e.push("paragraph_open","p",1);A.map=[t,e.line];const a=e.push("inline","",0);return a.content=l,a.map=[t,e.line],a.children=[],e.push("paragraph_close","p",-1),e.parentType=o,!0}var Zt=[["table",oA,["paragraph","reference"]],["code",rA],["fence",iA,["paragraph","reference","blockquote","list"]],["blockquote",sA,["paragraph","reference","blockquote","list"]],["hr",lA,["paragraph","reference","blockquote","list"]],["list",aA,["paragraph","reference","blockquote"]],["reference",cA],["html_block",fA,["paragraph","reference","blockquote"]],["heading",pA,["paragraph","reference","blockquote"]],["lheading",mA],["paragraph",gA]],Qr=class{constructor(){Q(this,"ruler",new Qt),Q(this,"State",Nr);for(let e=0;e<Zt.length;e++)this.ruler.push(Zt[e][0],Zt[e][1],{alt:(Zt[e][2]||[]).slice()})}tokenize(e,t,n){const i=this.ruler.getRules(""),o=i.length,s=e.md.options.maxNesting;let l=t,A=!1;for(;l<n&&(e.line=l=e.skipEmptyLines(l),!(l>=n||e.sCount[l]<e.blkIndent));){if(e.level>=s){e.line=n;break}const a=e.line;let u=!1;for(let d=0;d<o;d++)if(u=i[d](e,l,n,!1),u){if(a>=e.line)throw new Error("block rule didn't increment state.line");break}if(!u)throw new Error("none of the block rules matched");e.tight=!A,e.isEmpty(e.line-1)&&(A=!0),l=e.line,l<n&&e.isEmpty(l)&&(A=!0,l++,e.line=l)}}parse(e,t,n,i){if(!e)return;const o=new this.State(e,t,n,i);this.tokenize(o,o.line,o.lineMax)}},Mr=class{constructor(e,t,n,i){Q(this,"pos",0),Q(this,"level",0),Q(this,"pending",""),Q(this,"pendingLevel",0),Q(this,"cache",{}),Q(this,"backticks",{}),Q(this,"backticksScanned",!1),Q(this,"linkLevel",0),Q(this,"delimiters",[]),Q(this,"_prev_delimiters",[]),Q(this,"Token",tt),this.src=e,this.env=n,this.md=t,this.tokens=i,this.tokens_meta=Array(i.length),this.posMax=this.src.length}pushPending(){const e=new tt("text","",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending="",e}push(e,t,n){this.pending&&this.pushPending();const i=new tt(e,t,n);let o;return n<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),i.level=this.level,n>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],o={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(i),this.tokens_meta.push(o),i}scanDelims(e,t){const n=this.posMax,i=this.src.charCodeAt(e);let o;if(e===0)o=32;else if(e===1)o=this.src.charCodeAt(0),(o&63488)===55296&&(o=65533);else if(o=this.src.charCodeAt(e-1),(o&64512)===56320){const h=this.src.charCodeAt(e-2);o=(h&64512)===55296?65536+(h-55296<<10)+(o-56320):65533}else(o&64512)===55296&&(o=65533);let s=e;for(;s<n&&this.src.charCodeAt(s)===i;)s++;const l=s-e;let A=s<n?this.src.charCodeAt(s):32;if((A&64512)===55296){const h=this.src.charCodeAt(s+1);A=(h&64512)===56320?65536+(A-55296<<10)+(h-56320):65533}else(A&64512)===56320&&(A=65533);const a=Rt(o)||Nt(o),u=Rt(A)||Nt(A),d=St(o),f=St(A),_=!f&&(!u||d||a),m=!d&&(!a||f||u);return{can_open:_&&(t||!m||a),can_close:m&&(t||!_||u),length:l}}};function CA(e){switch(e){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return!0;default:return!1}}function _A(e,t){let n=e.pos;for(;n<e.posMax&&!CA(e.src.charCodeAt(n));)n++;return n===e.pos?!1:(t||(e.pending+=e.src.slice(e.pos,n)),e.pos=n,!0)}var kA=/(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;function yA(e,t){if(!e.md.options.linkify||e.linkLevel>0)return!1;const n=e.pos,i=e.posMax;if(n+3>i||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const o=e.pending.match(kA);if(!o)return!1;const s=o[1],l=e.md.linkify.matchAtStart(e.src.slice(n-s.length));if(!l)return!1;let A=l.url;if(A.length<=s.length)return!1;let a=A.length;for(;a>0&&A.charCodeAt(a-1)===42;)a--;a!==A.length&&(A=A.slice(0,a));const u=e.md.normalizeLink(A);if(!e.md.validateLink(u))return!1;if(!t){e.pending=e.pending.slice(0,-s.length);const d=e.push("link_open","a",1);d.attrs=[["href",u]],d.markup="linkify",d.info="auto";const f=e.push("text","",0);f.content=e.md.normalizeLinkText(A);const _=e.push("link_close","a",-1);_.markup="linkify",_.info="auto"}return e.pos+=A.length-s.length,!0}function EA(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const i=e.pending.length-1,o=e.posMax;if(!t)if(i>=0&&e.pending.charCodeAt(i)===32)if(i>=1&&e.pending.charCodeAt(i-1)===32){let s=i-1;for(;s>=1&&e.pending.charCodeAt(s-1)===32;)s--;e.pending=e.pending.slice(0,s),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n<o&&oe(e.src.charCodeAt(n));)n++;return e.pos=n,!0}var Hn=[];for(let e=0;e<256;e++)Hn.push(0);"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(e){Hn[e.charCodeAt(0)]=1});function bA(e,t){let n=e.pos;const i=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=i))return!1;let o=e.src.charCodeAt(n);if(o===10){for(t||e.push("hardbreak","br",0),n++;n<i&&(o=e.src.charCodeAt(n),!!oe(o));)n++;return e.pos=n,!0}if(o===32){if(!t){const A=e.push("text_special","",0);A.content="\\",A.markup="\\",A.info="escape"}return e.pos=n,!0}let s=e.src[n];if(o>=55296&&o<=56319&&n+1<i){const A=e.src.charCodeAt(n+1);A>=56320&&A<=57343&&(s+=e.src[n+1],n++)}const l="\\"+s;if(!t){const A=e.push("text_special","",0);o<256&&Hn[o]!==0?A.content=s:A.content=l,A.markup=l,A.info="escape"}return e.pos=n+1,!0}function DA(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;const i=n;n++;const o=e.posMax;for(;n<o&&e.src.charCodeAt(n)===96;)n++;const s=e.src.slice(i,n),l=s.length;if(e.backticksScanned&&(e.backticks[l]||0)<=i)return t||(e.pending+=s),e.pos+=l,!0;let A=n,a;for(;(a=e.src.indexOf("`",A))!==-1;){for(A=a+1;A<o&&e.src.charCodeAt(A)===96;)A++;const u=A-a;if(u===l){if(!t){const d=e.push("code_inline","code",0);d.markup=s,d.content=e.src.slice(n,a).replace(/\n/g," ").replace(/^ (.+) $/,"$1")}return e.pos=A,!0}e.backticks[u]=a}return e.backticksScanned=!0,t||(e.pending+=s),e.pos+=l,!0}function IA(e,t){const n=e.pos,i=e.src.charCodeAt(n);if(t||i!==126)return!1;const o=e.scanDelims(e.pos,!0);let s=o.length;const l=String.fromCharCode(i);if(s<2)return!1;let A;s%2&&(A=e.push("text","",0),A.content=l,s--);for(let a=0;a<s;a+=2)A=e.push("text","",0),A.content=l+l,e.delimiters.push({marker:i,length:0,token:e.tokens.length-1,end:-1,open:o.can_open,close:o.can_close});return e.pos+=o.length,!0}function Fo(e,t){let n;const i=[],o=t.length;for(let s=0;s<o;s++){const l=t[s];if(l.marker!==126||l.end===-1)continue;const A=t[l.end];n=e.tokens[l.token],n.type="s_open",n.tag="s",n.nesting=1,n.markup="~~",n.content="",n=e.tokens[A.token],n.type="s_close",n.tag="s",n.nesting=-1,n.markup="~~",n.content="",e.tokens[A.token-1].type==="text"&&e.tokens[A.token-1].content==="~"&&i.push(A.token-1)}for(;i.length;){const s=i.pop();let l=s+1;for(;l<e.tokens.length&&e.tokens[l].type==="s_close";)l++;l--,s!==l&&(n=e.tokens[l],e.tokens[l]=e.tokens[s],e.tokens[s]=n)}}function BA(e){const t=e.tokens_meta,n=e.tokens_meta.length;Fo(e,e.delimiters);for(let o=0;o<n;o++){var i;const s=(i=t[o])===null||i===void 0?void 0:i.delimiters;s&&Fo(e,s)}}var Kr={tokenize:IA,postProcess:BA};function wA(e,t){const n=e.pos,i=e.src.charCodeAt(n);if(t||i!==95&&i!==42)return!1;const o=e.scanDelims(e.pos,i===42);for(let s=0;s<o.length;s++){const l=e.push("text","",0);l.content=String.fromCharCode(i),e.delimiters.push({marker:i,length:o.length,token:e.tokens.length-1,end:-1,open:o.can_open,close:o.can_close})}return e.pos+=o.length,!0}function xo(e,t){const n=t.length;for(let i=n-1;i>=0;i--){const o=t[i];if(o.marker!==95&&o.marker!==42||o.end===-1)continue;const s=t[o.end],l=i>0&&t[i-1].end===o.end+1&&t[i-1].marker===o.marker&&t[i-1].token===o.token-1&&t[o.end+1].token===s.token+1,A=String.fromCharCode(o.marker),a=e.tokens[o.token];a.type=l?"strong_open":"em_open",a.tag=l?"strong":"em",a.nesting=1,a.markup=l?A+A:A,a.content="";const u=e.tokens[s.token];u.type=l?"strong_close":"em_close",u.tag=l?"strong":"em",u.nesting=-1,u.markup=l?A+A:A,u.content="",l&&(e.tokens[t[i-1].token].content="",e.tokens[t[o.end+1].token].content="",i--)}}function FA(e){const t=e.tokens_meta,n=e.tokens_meta.length;xo(e,e.delimiters);for(let o=0;o<n;o++){var i;const s=(i=t[o])===null||i===void 0?void 0:i.delimiters;s&&xo(e,s)}}var Gr={tokenize:wA,postProcess:FA};function xA(e,t){let n,i,o,s,l="",A="",a=e.pos,u=!0;if(e.src.charCodeAt(e.pos)!==91)return!1;const d=e.pos,f=e.posMax,_=e.pos+1,m=e.md.helpers.parseLinkLabel(e,e.pos,!0);if(m<0)return!1;let h=m+1;if(h<f&&e.src.charCodeAt(h)===40){for(u=!1,h++;h<f&&(n=e.src.charCodeAt(h),!(!oe(n)&&n!==10));h++);if(h>=f)return!1;if(a=h,o=e.md.helpers.parseLinkDestination(e.src,h,e.posMax),o.ok){for(l=e.md.normalizeLink(o.str),e.md.validateLink(l)?h=o.pos:l="",a=h;h<f&&(n=e.src.charCodeAt(h),!(!oe(n)&&n!==10));h++);if(o=e.md.helpers.parseLinkTitle(e.src,h,e.posMax),h<f&&a!==h&&o.ok)for(A=o.str,h=o.pos;h<f&&(n=e.src.charCodeAt(h),!(!oe(n)&&n!==10));h++);}(h>=f||e.src.charCodeAt(h)!==41)&&(u=!0),h++}if(u){if(typeof e.env.references>"u")return!1;if(h<f&&e.src.charCodeAt(h)===91?(a=h+1,h=e.md.helpers.parseLinkLabel(e,h),h>=0?i=e.src.slice(a,h++):h=m+1):h=m+1,i||(i=e.src.slice(_,m)),i=qt(i),s=e.env.references[i],!s)return e.pos=d,!1;l=s.href,A=s.title}if(!t){e.pos=_,e.posMax=m;const k=e.push("link_open","a",1),D=[["href",l]];if(k.attrs=D,A&&D.push(["title",A]),i){const g=Object.create(null);g.label=i,k.meta=g}e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=h,e.posMax=f,!0}function vA(e,t){let n,i,o,s,l,A,a,u,d="";const f=e.pos,_=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const m=e.pos+2,h=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(h<0)return!1;if(s=h+1,s<_&&e.src.charCodeAt(s)===40){for(s++;s<_&&(n=e.src.charCodeAt(s),!(!oe(n)&&n!==10));s++);if(s>=_)return!1;for(u=s,A=e.md.helpers.parseLinkDestination(e.src,s,e.posMax),A.ok&&(d=e.md.normalizeLink(A.str),e.md.validateLink(d)?s=A.pos:d=""),u=s;s<_&&(n=e.src.charCodeAt(s),!(!oe(n)&&n!==10));s++);if(A=e.md.helpers.parseLinkTitle(e.src,s,e.posMax),s<_&&u!==s&&A.ok)for(a=A.str,s=A.pos;s<_&&(n=e.src.charCodeAt(s),!(!oe(n)&&n!==10));s++);else a="";if(s>=_||e.src.charCodeAt(s)!==41)return e.pos=f,!1;s++}else{if(typeof e.env.references>"u")return!1;if(s<_&&e.src.charCodeAt(s)===91?(u=s+1,s=e.md.helpers.parseLinkLabel(e,s),s>=0?o=e.src.slice(u,s++):s=h+1):s=h+1,o||(o=e.src.slice(m,h)),o=qt(o),l=e.env.references[o],!l)return e.pos=f,!1;d=l.href,a=l.title}if(!t){i=e.src.slice(m,h);const k=[];e.md.inline.parse(i,e.md,e.env,k);const D=e.push("image","img",0),g=[["src",d],["alt",""]];if(D.attrs=g,D.children=k,D.content=i,a&&g.push(["title",a]),o){const B=Object.create(null);B.label=o,D.meta=B}}return e.pos=s,e.posMax=_,!0}var SA=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,NA=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function RA(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const i=e.pos,o=e.posMax;for(;;){if(++n>=o)return!1;const l=e.src.charCodeAt(n);if(l===60)return!1;if(l===62)break}const s=e.src.slice(i+1,n);if(NA.test(s)){const l=e.md.normalizeLink(s);if(!e.md.validateLink(l))return!1;if(!t){const A=e.push("link_open","a",1);A.attrs=[["href",l]],A.markup="autolink",A.info="auto";const a=e.push("text","",0);a.content=e.md.normalizeLinkText(s);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=s.length+2,!0}if(SA.test(s)){const l=e.md.normalizeLink(`mailto:${s}`);if(!e.md.validateLink(l))return!1;if(!t){const A=e.push("link_open","a",1);A.attrs=[["href",l]],A.markup="autolink",A.info="auto";const a=e.push("text","",0);a.content=e.md.normalizeLinkText(s);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=s.length+2,!0}return!1}function TA(e){return/^<a[>\s]/i.test(e)}function QA(e){return/^<\/a\s*>/i.test(e)}function MA(e){const t=e|32;return t>=97&&t<=122}function KA(e,t){if(!e.md.options.html)return!1;const n=e.posMax,i=e.pos;if(e.src.charCodeAt(i)!==60||i+2>=n)return!1;const o=e.src.charCodeAt(i+1);if(o!==33&&o!==63&&o!==47&&!MA(o))return!1;const s=e.src.slice(i).match(hA);if(!s)return!1;if(!t){const l=e.push("html_inline","",0);l.content=s[0],TA(l.content)&&e.linkLevel++,QA(l.content)&&e.linkLevel--}return e.pos+=s[0].length,!0}var GA=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,WA=/^&([a-z][a-z0-9]{1,31});/i;function YA(e,t){const n=e.pos,i=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=i)return!1;if(e.src.charCodeAt(n+1)===35){const o=e.src.slice(n).match(GA);if(o){if(!t){const s=o[1][0].toLowerCase()==="x"?parseInt(o[1].slice(1),16):parseInt(o[1],10),l=e.push("text_special","",0);l.content=On(s)?vt(s):vt(65533),l.markup=o[0],l.info="entity"}return e.pos+=o[0].length,!0}}else{const o=e.src.slice(n).match(WA);if(o){const s=fr(o[0]);if(s!==o[0]){if(!t){const l=e.push("text_special","",0);l.content=s,l.markup=o[0],l.info="entity"}return e.pos+=o[0].length,!0}}}return!1}function vo(e){const t={},n=e.length;if(!n)return;let i=0,o=-2;const s=[];for(let l=0;l<n;l++){const A=e[l];if(s.push(0),(e[i].marker!==A.marker||o!==A.token-1)&&(i=l),o=A.token,A.length=A.length||0,!A.close)continue;t.hasOwnProperty(A.marker)||(t[A.marker]=[-1,-1,-1,-1,-1,-1]);const a=t[A.marker][(A.open?3:0)+A.length%3];let u=i-s[i]-1,d=u;for(;u>a;u-=s[u]+1){const f=e[u];if(f.marker===A.marker&&f.open&&f.end<0){let _=!1;if((f.close||A.open)&&(f.length+A.length)%3===0&&(f.length%3!==0||A.length%3!==0)&&(_=!0),!_){const m=u>0&&!e[u-1].open?s[u-1]+1:0;s[l]=l-u+m,s[u]=m,A.open=!1,f.end=l,f.close=!1,d=-1,o=-2;break}}}d!==-1&&(t[A.marker][(A.open?3:0)+(A.length||0)%3]=d)}}function OA(e){const t=e.tokens_meta,n=e.tokens_meta.length;vo(e.delimiters);for(let o=0;o<n;o++){var i;const s=(i=t[o])===null||i===void 0?void 0:i.delimiters;s&&vo(s)}}function HA(e){let t,n,i=0;const o=e.tokens,s=e.tokens.length;for(t=n=0;t<s;t++)o[t].nesting<0&&i--,o[t].level=i,o[t].nesting>0&&i++,o[t].type==="text"&&t+1<s&&o[t+1].type==="text"?o[t+1].content=o[t].content+o[t+1].content:(t!==n&&(o[n]=o[t]),n++);t!==n&&(o.length=n)}var Dn=[["text",_A],["linkify",yA],["newline",EA],["escape",bA],["backticks",DA],["strikethrough",Kr.tokenize],["emphasis",Gr.tokenize],["link",xA],["image",vA],["autolink",RA],["html_inline",KA],["entity",YA]],In=[["balance_pairs",OA],["strikethrough",Kr.postProcess],["emphasis",Gr.postProcess],["fragments_join",HA]],Wr=class{constructor(){Q(this,"ruler",new Qt),Q(this,"ruler2",new Qt),Q(this,"State",Mr);for(let e=0;e<Dn.length;e++)this.ruler.push(Dn[e][0],Dn[e][1]);for(let e=0;e<In.length;e++)this.ruler2.push(In[e][0],In[e][1])}skipToken(e){const t=e.pos,n=this.ruler.getRules(""),i=n.length,o=e.md.options.maxNesting,s=e.cache;if(typeof s[t]<"u"){e.pos=s[t];return}let l=!1;if(e.level<o){for(let A=0;A<i;A++)if(e.level++,l=n[A](e,!0),e.level--,l){if(t>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;l||e.pos++,s[t]=e.pos}tokenize(e){const t=this.ruler.getRules(""),n=t.length,i=e.posMax,o=e.md.options.maxNesting;for(;e.pos<i;){const s=e.pos;let l=!1;if(e.level<o){for(let A=0;A<n;A++)if(l=t[A](e,!1),l){if(s>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(l){if(e.pos>=i)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()}parse(e,t,n,i){const o=new this.State(e,t,n,i);this.tokenize(o);const s=this.ruler2.getRules(""),l=s.length;for(let A=0;A<l;A++)s[A](o)}},VA={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}},zero:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","strip_references","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","strip_references","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}}},UA=/^(vbscript|javascript|file|data):/,LA=/^data:image\/(gif|png|jpeg|webp);/,So=["http:","https:","mailto:"],We=class{validateLink(e){const t=e.trim().toLowerCase();return UA.test(t)?LA.test(t):!0}normalizeLink(e){const t=Nn(e,!0);if(t.hostname&&(!t.protocol||So.indexOf(t.protocol)>=0))try{t.hostname=ko.toASCII(t.hostname)}catch{}return Kt(Sn(t))}normalizeLinkText(e){const t=Nn(e,!0);if(t.hostname&&(!t.protocol||So.indexOf(t.protocol)>=0))try{t.hostname=ko.toUnicode(t.hostname)}catch{}return mt(Sn(t),mt.defaultChars+"%")}constructor(...e){Q(this,"inline",new Wr),Q(this,"block",new Qr),Q(this,"core",new Sr),Q(this,"renderer",new Fr),Q(this,"linkify",new rl),Q(this,"utils",ml),Q(this,"helpers",Object.assign({},Sl));const[t,n]=e;typeof t=="string"?(this.configure(t),n&&this.set(n)):(this.configure("default"),this.set(t||{}))}set(e){return Object.assign(this.options,e),this}configure(e){let t;if(typeof e=="string"){const o=e;if(t=VA[o],!t)throw new Error(`Wrong 'markdown-it' preset "${o}", check name`)}else t=e;if(!t)throw new Error("Wrong `markdown-it` preset, can't be empty");t.options&&(this.options={...t.options});const n=t.components;if(n){var i;["core","block","inline"].forEach(s=>{var l;const A=(l=n[s])===null||l===void 0?void 0:l.rules;A&&this[s].ruler.enableOnly(A)});const o=(i=n.inline)===null||i===void 0?void 0:i.rules2;o&&this.inline.ruler2.enableOnly(o)}return this}enable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(o=>{n=n.concat(this[o].ruler.enable(e,!0))}),n=n.concat(this.inline.ruler2.enable(e,!0));const i=e.filter(o=>n.indexOf(o)<0);if(i.length&&!t)throw new Error(`MarkdownIt. Failed to enable unknown rule(s): ${i}`);return this}disable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(o=>{n=n.concat(this[o].ruler.disable(e,!0))}),n=n.concat(this.inline.ruler2.disable(e,!0));const i=e.filter(o=>n.indexOf(o)<0);if(i.length&&!t)throw new Error(`MarkdownIt. Failed to disable unknown rule(s): ${i}`);return this}use(e,...t){return e.apply(e,[this,...t]),this}parse(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens}render(e,t={}){return this.renderer.render(this.parse(e,t),this.options,t)}parseInline(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens}renderInline(e,t={}){return this.renderer.render(this.parseInline(e,t),this.options,t)}};Q(We,"Token",tt);Q(We,"Ruler",Qt);Q(We,"Renderer",Fr);Q(We,"ParserCore",Sr);Q(We,"StateCore",xr);Q(We,"ParserBlock",Qr);Q(We,"StateBlock",Nr);Q(We,"ParserInline",Wr);Q(We,"StateInline",Mr);var JA=Dr(We);/*! @license DOMPurify 3.4.13 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.13/LICENSE */function No(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function ZA(e){if(Array.isArray(e))return e}function PA(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var i,o,s,l,A=[],a=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(a=(i=s.call(n)).done)&&(A.push(i.value),A.length!==t);a=!0);}catch(d){u=!0,o=d}finally{try{if(!a&&n.return!=null&&(l=n.return(),Object(l)!==l))return}finally{if(u)throw o}}return A}}function zA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
55
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jA(e,t){return ZA(e)||PA(e,t)||XA(e,t)||zA()}function XA(e,t){if(e){if(typeof e=="string")return No(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?No(e,t):void 0}}const Yr=Object.entries,Ro=Object.setPrototypeOf,$A=Object.isFrozen,qA=Object.getPrototypeOf,ea=Object.getOwnPropertyDescriptor;let _e=Object.freeze,ke=Object.seal,dt=Object.create,Or=typeof Reflect<"u"&&Reflect,Tn=Or.apply,Qn=Or.construct;_e||(_e=function(t){return t});ke||(ke=function(t){return t});Tn||(Tn=function(t,n){for(var i=arguments.length,o=new Array(i>2?i-2:0),s=2;s<i;s++)o[s-2]=arguments[s];return t.apply(n,o)});Qn||(Qn=function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return new t(...i)});const ut=ce(Array.prototype.forEach),ta=ce(Array.prototype.lastIndexOf),To=ce(Array.prototype.pop),ht=ce(Array.prototype.push),na=ce(Array.prototype.splice),Je=Array.isArray,Bt=ce(String.prototype.toLowerCase),Bn=ce(String.prototype.toString),Qo=ce(String.prototype.match),Dt=ce(String.prototype.replace),Mo=ce(String.prototype.indexOf),oa=ce(String.prototype.trim),ra=ce(Number.prototype.toString),ia=ce(Boolean.prototype.toString),Ko=typeof BigInt>"u"?null:ce(BigInt.prototype.toString),Go=typeof Symbol>"u"?null:ce(Symbol.prototype.toString),ge=ce(Object.prototype.hasOwnProperty),It=ce(Object.prototype.toString),pe=ce(RegExp.prototype.test),et=sa(TypeError);function ce(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return Tn(e,t,i)}}function sa(e){return function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return Qn(e,n)}}function P(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Bt;if(Ro&&Ro(e,null),!Je(t))return e;let i=t.length;for(;i--;){let o=t[i];if(typeof o=="string"){const s=n(o);s!==o&&($A(t)||(t[i]=s),o=s)}e[o]=!0}return e}function la(e){for(let t=0;t<e.length;t++)ge(e,t)||(e[t]=null);return e}function ye(e){const t=dt(null);for(const i of Yr(e)){var n=jA(i,2);const o=n[0],s=n[1];ge(e,o)&&(Je(s)?t[o]=la(s):s&&typeof s=="object"&&s.constructor===Object?t[o]=ye(s):t[o]=s)}return t}function Aa(e){switch(typeof e){case"string":return e;case"number":return ra(e);case"boolean":return ia(e);case"bigint":return Ko?Ko(e):"0";case"symbol":return Go?Go(e):"Symbol()";case"undefined":return It(e);case"function":case"object":{if(e===null)return It(e);const t=e,n=ve(t,"toString");if(typeof n=="function"){const i=n(t);return typeof i=="string"?i:It(i)}return It(e)}default:return It(e)}}function ve(e,t){for(;e!==null;){const i=ea(e,t);if(i){if(i.get)return ce(i.get);if(typeof i.value=="function")return ce(i.value)}e=qA(e)}function n(){return null}return n}function aa(e){try{return pe(e,""),!0}catch{return!1}}const Wo=_e(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),wn=_e(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Fn=_e(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),ca=_e(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),xn=_e(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),ua=_e(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Yo=_e(["#text"]),Oo=_e(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),vn=_e(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Ho=_e(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Pt=_e(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),ha=ke(/{{[\w\W]*|^[\w\W]*}}/g),da=ke(/<%[\w\W]*|^[\w\W]*%>/g),fa=ke(/\${[\w\W]*/g),pa=ke(/^data-[\-\w.\u00B7-\uFFFF]+$/),ma=ke(/^aria-[\-\w]+$/),Vo=ke(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ga=ke(/^(?:\w+script|data):/i),Ca=ke(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),_a=ke(/^html$/i),ka=ke(/^[a-z][.\w]*(-[.\w]+)+$/i),Uo=ke(/<[/\w!]/g),Lo=ke(/<[/\w]/g),ya=ke(/<\/no(script|embed|frames)/i),Ea=ke(/\/>/i),we={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},ba=function(){return typeof window>"u"?null:window},Da=function(t,n){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null;const o="data-tt-policy-suffix";n&&n.hasAttribute(o)&&(i=n.getAttribute(o));const s="dompurify"+(i?"#"+i:"");try{return t.createPolicy(s,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},Jo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Ve=function(t,n,i,o){return ge(t,n)&&Je(t[n])?P(o.base?ye(o.base):{},t[n],o.transform):i};function Hr(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ba();const t=S=>Hr(S);if(t.version="3.4.13",t.removed=[],!e||!e.document||e.document.nodeType!==we.document||!e.Element)return t.isSupported=!1,t;let n=e.document;const i=n,o=i.currentScript;e.DocumentFragment;const s=e.HTMLTemplateElement,l=e.Node,A=e.Element,a=e.NodeFilter,u=e.NamedNodeMap;u===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const d=e.DOMParser,f=e.trustedTypes,_=A.prototype,m=ve(_,"cloneNode"),h=ve(_,"remove"),k=ve(_,"nextSibling"),D=ve(_,"childNodes"),g=ve(_,"parentNode"),B=ve(_,"shadowRoot"),x=ve(_,"attributes"),C=l&&l.prototype?ve(l.prototype,"nodeType"):null,y=l&&l.prototype?ve(l.prototype,"nodeName"):null,K=l&&l.prototype?ve(l.prototype,"ownerDocument"):null;if(typeof s=="function"){const S=n.createElement("template");S.content&&S.content.ownerDocument&&(n=S.content.ownerDocument)}let H,w="",b,v=!1,N=0;const J=function(){if(N>0)throw et('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},z=function(c){J(),N++;try{return H.createHTML(c)}finally{N--}},$=function(c){J(),N++;try{return H.createScriptURL(c)}finally{N--}},ue=function(){return v||(b=Da(f,o),v=!0),b},de=n,Se=de.implementation,Pe=de.createNodeIterator,_t=de.createDocumentFragment,kt=de.getElementsByTagName,nt=i.importNode;let j=Jo();t.isSupported=typeof Yr=="function"&&typeof g=="function"&&Se&&Se.createHTMLDocument!==void 0;const le=ha,Be=da,Fe=fa,ze=pa,ot=ma,Ye=ga,rt=Ca,it=ka;let je=Vo,X=null;const Oe=P({},[...Wo,...wn,...Fn,...xn,...Yo]);let Z=null;const Xe=P({},[...Oo,...vn,...Ho,...Pt]);let ne=Object.seal(dt(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),xe=null,Y=null;const T=Object.seal(dt(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let E=!0,R=!0,G=!1,F=!0,O=!1,V=!0,fe=!1,te=!1,Ae=null,q=null,Ce=!1,ae=!1,st=!1,Ne=!1,he=!0,tn=!1;const Vn="user-content-";let nn=!0,Gt=!1,lt={},Re=null;const on=P({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let Un=null;const Ln=P({},["audio","video","img","source","image","track"]);let rn=null;const Jn=P({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Wt="http://www.w3.org/1998/Math/MathML",Yt="http://www.w3.org/2000/svg",Te="http://www.w3.org/1999/xhtml";let At=Te,sn=!1,ln=null;const Pr=P({},[Wt,Yt,Te],Bn),Zn=_e(["mi","mo","mn","ms","mtext"]);let An=P({},Zn);const Pn=_e(["annotation-xml"]);let an=P({},Pn);const zr=P({},["title","style","font","a","script"]);let yt=null;const jr=["application/xhtml+xml","text/html"],Xr="text/html";let re=null,at=null;const $r=n.createElement("form"),zn=function(c){return c instanceof RegExp||c instanceof Function},cn=function(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(at&&at===c)return;(!c||typeof c!="object")&&(c={}),c=ye(c),yt=jr.indexOf(c.PARSER_MEDIA_TYPE)===-1?Xr:c.PARSER_MEDIA_TYPE,re=yt==="application/xhtml+xml"?Bn:Bt,X=Ve(c,"ALLOWED_TAGS",Oe,{transform:re}),Z=Ve(c,"ALLOWED_ATTR",Xe,{transform:re}),ln=Ve(c,"ALLOWED_NAMESPACES",Pr,{transform:Bn}),rn=Ve(c,"ADD_URI_SAFE_ATTR",Jn,{transform:re,base:Jn}),Un=Ve(c,"ADD_DATA_URI_TAGS",Ln,{transform:re,base:Ln}),Re=Ve(c,"FORBID_CONTENTS",on,{transform:re}),xe=Ve(c,"FORBID_TAGS",ye({}),{transform:re}),Y=Ve(c,"FORBID_ATTR",ye({}),{transform:re}),lt=ge(c,"USE_PROFILES")?c.USE_PROFILES&&typeof c.USE_PROFILES=="object"?ye(c.USE_PROFILES):c.USE_PROFILES:!1,E=c.ALLOW_ARIA_ATTR!==!1,R=c.ALLOW_DATA_ATTR!==!1,G=c.ALLOW_UNKNOWN_PROTOCOLS||!1,F=c.ALLOW_SELF_CLOSE_IN_ATTR!==!1,O=c.SAFE_FOR_TEMPLATES||!1,V=c.SAFE_FOR_XML!==!1,fe=c.WHOLE_DOCUMENT||!1,ae=c.RETURN_DOM||!1,st=c.RETURN_DOM_FRAGMENT||!1,Ne=c.RETURN_TRUSTED_TYPE||!1,Ce=c.FORCE_BODY||!1,he=c.SANITIZE_DOM!==!1,tn=c.SANITIZE_NAMED_PROPS||!1,nn=c.KEEP_CONTENT!==!1,Gt=c.IN_PLACE||!1,je=aa(c.ALLOWED_URI_REGEXP)?c.ALLOWED_URI_REGEXP:Vo,At=typeof c.NAMESPACE=="string"?c.NAMESPACE:Te,An=ge(c,"MATHML_TEXT_INTEGRATION_POINTS")&&c.MATHML_TEXT_INTEGRATION_POINTS&&typeof c.MATHML_TEXT_INTEGRATION_POINTS=="object"?ye(c.MATHML_TEXT_INTEGRATION_POINTS):P({},Zn),an=ge(c,"HTML_INTEGRATION_POINTS")&&c.HTML_INTEGRATION_POINTS&&typeof c.HTML_INTEGRATION_POINTS=="object"?ye(c.HTML_INTEGRATION_POINTS):P({},Pn);const p=ge(c,"CUSTOM_ELEMENT_HANDLING")&&c.CUSTOM_ELEMENT_HANDLING&&typeof c.CUSTOM_ELEMENT_HANDLING=="object"?ye(c.CUSTOM_ELEMENT_HANDLING):dt(null);if(ne=dt(null),ge(p,"tagNameCheck")&&zn(p.tagNameCheck)&&(ne.tagNameCheck=p.tagNameCheck),ge(p,"attributeNameCheck")&&zn(p.attributeNameCheck)&&(ne.attributeNameCheck=p.attributeNameCheck),ge(p,"allowCustomizedBuiltInElements")&&typeof p.allowCustomizedBuiltInElements=="boolean"&&(ne.allowCustomizedBuiltInElements=p.allowCustomizedBuiltInElements),ke(ne),O&&(R=!1),st&&(ae=!0),lt&&(X=P({},Yo),Z=dt(null),lt.html===!0&&(P(X,Wo),P(Z,Oo)),lt.svg===!0&&(P(X,wn),P(Z,vn),P(Z,Pt)),lt.svgFilters===!0&&(P(X,Fn),P(Z,vn),P(Z,Pt)),lt.mathMl===!0&&(P(X,xn),P(Z,Ho),P(Z,Pt))),T.tagCheck=null,T.attributeCheck=null,ge(c,"ADD_TAGS")&&(typeof c.ADD_TAGS=="function"?T.tagCheck=c.ADD_TAGS:Je(c.ADD_TAGS)&&(X===Oe&&(X=ye(X)),P(X,c.ADD_TAGS,re))),ge(c,"ADD_ATTR")&&(typeof c.ADD_ATTR=="function"?T.attributeCheck=c.ADD_ATTR:Je(c.ADD_ATTR)&&(Z===Xe&&(Z=ye(Z)),P(Z,c.ADD_ATTR,re))),ge(c,"ADD_URI_SAFE_ATTR")&&Je(c.ADD_URI_SAFE_ATTR)&&P(rn,c.ADD_URI_SAFE_ATTR,re),ge(c,"FORBID_CONTENTS")&&Je(c.FORBID_CONTENTS)&&(Re===on&&(Re=ye(Re)),P(Re,c.FORBID_CONTENTS,re)),ge(c,"ADD_FORBID_CONTENTS")&&Je(c.ADD_FORBID_CONTENTS)&&(Re===on&&(Re=ye(Re)),P(Re,c.ADD_FORBID_CONTENTS,re)),nn&&(X["#text"]=!0),fe&&P(X,["html","head","body"]),X.table&&(P(X,["tbody"]),delete xe.tbody),c.TRUSTED_TYPES_POLICY){if(typeof c.TRUSTED_TYPES_POLICY.createHTML!="function")throw et('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof c.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw et('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const I=H;H=c.TRUSTED_TYPES_POLICY;try{w=z("")}catch(M){throw H=I,M}}else c.TRUSTED_TYPES_POLICY===null?(H=void 0,w=""):(H===void 0&&(H=ue()),H&&typeof w=="string"&&(w=z("")));_e&&_e(c),at=c},jn=P({},[...wn,...Fn,...ca]),Xn=P({},[...xn,...ua]),qr=function(c,p,I){return p.namespaceURI===Te?c==="svg":p.namespaceURI===Wt?c==="svg"&&(I==="annotation-xml"||An[I]):!!jn[c]},ei=function(c,p,I){return p.namespaceURI===Te?c==="math":p.namespaceURI===Yt?c==="math"&&an[I]:!!Xn[c]},ti=function(c,p,I){return p.namespaceURI===Yt&&!an[I]||p.namespaceURI===Wt&&!An[I]?!1:!Xn[c]&&(zr[c]||!jn[c])},ni=function(c){let p=g(c);(!p||!p.tagName)&&(p={namespaceURI:At,tagName:"template"});const I=Bt(c.tagName),M=Bt(p.tagName);return ln[c.namespaceURI]?c.namespaceURI===Yt?qr(I,p,M):c.namespaceURI===Wt?ei(I,p,M):c.namespaceURI===Te?ti(I,p,M):!!(yt==="application/xhtml+xml"&&ln[c.namespaceURI]):!1},He=function(c){ht(t.removed,{element:c});try{g(c).removeChild(c)}catch{if(h(c),!g(c))throw et("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Ot=function(c){Et(c);const p=D(c);if(p){const M=[];ut(p,W=>{ht(M,W)}),ut(M,W=>{try{h(W)}catch{}})}const I=x(c);if(I)for(let M=I.length-1;M>=0;--M){const W=I[M],U=W&&W.name;if(typeof U=="string")try{c.removeAttribute(U)}catch{}}},$e=function(c,p){try{ht(t.removed,{attribute:p.getAttributeNode(c),from:p})}catch{ht(t.removed,{attribute:null,from:p})}if(p.removeAttribute(c),c==="is")if(ae||st)try{He(p)}catch{}else try{p.setAttribute(c,"")}catch{}},oi=function(c){const p=x(c);if(p)for(let I=p.length-1;I>=0;--I){const M=p[I],W=M&&M.name;if(!(typeof W!="string"||Z[re(W)]))try{c.removeAttribute(W)}catch{}}},Et=function(c){const p=[c];for(;p.length>0;){const I=p.pop();(C?C(I):I.nodeType)===we.element&&oi(I);const W=D(I);if(W)for(let U=W.length-1;U>=0;--U)p.push(W[U])}},ri=function(c){if(!V)return;const p=[c];for(;p.length>0;){const I=p.pop(),M=C?C(I):I.nodeType;if(M===we.processingInstruction||M===we.comment&&pe(Lo,I.data)){try{h(I)}catch{}continue}if(M===we.element){const U=I,ee=re(y?y(I):I.nodeName);try{U.hasAttribute&&U.hasAttribute("patchsrc")&&U.removeAttribute("patchsrc"),U.hasAttribute&&U.hasAttribute("for")&&ee!=="label"&&ee!=="output"&&U.removeAttribute("for")}catch{}}const W=D(I);if(W)for(let U=W.length-1;U>=0;--U)p.push(W[U])}},$n=function(c){let p=null,I=null;if(Ce)c="<remove></remove>"+c;else{const U=Qo(c,/^[\r\n\t ]+/);I=U&&U[0]}yt==="application/xhtml+xml"&&At===Te&&(c='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+c+"</body></html>");const M=H?z(c):c;if(At===Te)try{p=new d().parseFromString(M,yt)}catch{}if(!p||!p.documentElement){p=Se.createDocument(At,"template",null);try{p.documentElement.innerHTML=sn?w:M}catch{}}const W=p.body||p.documentElement;return c&&I&&W.insertBefore(n.createTextNode(I),W.childNodes[0]||null),At===Te?kt.call(p,fe?"html":"body")[0]:fe?p.documentElement:W},qn=function(c){const p=K?K(c):c.ownerDocument;return Pe.call(p||c,c,a.SHOW_ELEMENT|a.SHOW_COMMENT|a.SHOW_TEXT|a.SHOW_PROCESSING_INSTRUCTION|a.SHOW_CDATA_SECTION,null)},Ht=function(c){return c=Dt(c,le," "),c=Dt(c,Be," "),c=Dt(c,Fe," "),c},un=function(c){var p;c.normalize();const I=K?K(c):c.ownerDocument,M=Pe.call(I||c,c,a.SHOW_TEXT|a.SHOW_COMMENT|a.SHOW_CDATA_SECTION|a.SHOW_PROCESSING_INSTRUCTION,null);let W=M.nextNode();for(;W;)W.data=Ht(W.data),W=M.nextNode();const U=(p=c.querySelectorAll)===null||p===void 0?void 0:p.call(c,"template");U&&ut(U,ee=>{ct(ee.content)&&un(ee.content)})},Vt=function(c){const p=y?y(c):null;return typeof p!="string"||re(p)!=="form"?!1:typeof c.nodeName!="string"||typeof c.textContent!="string"||typeof c.removeChild!="function"||c.attributes!==x(c)||typeof c.removeAttribute!="function"||typeof c.setAttribute!="function"||typeof c.namespaceURI!="string"||typeof c.insertBefore!="function"||typeof c.hasChildNodes!="function"||c.nodeType!==C(c)||c.childNodes!==D(c)},ct=function(c){if(!C||typeof c!="object"||c===null)return!1;try{return C(c)===we.documentFragment}catch{return!1}},bt=function(c){if(!C||typeof c!="object"||c===null)return!1;try{return typeof C(c)=="number"}catch{return!1}};function Qe(S,c,p){S.length!==0&&ut(S,I=>{I.call(t,c,p,at)})}const ii=function(c,p){return!!(V&&c.hasChildNodes()&&!bt(c.firstElementChild)&&pe(Uo,c.textContent)&&pe(Uo,c.innerHTML)||V&&c.namespaceURI===Te&&p==="style"&&bt(c.firstElementChild)||c.nodeType===we.processingInstruction||V&&c.nodeType===we.comment&&pe(Lo,c.data))},si=function(c,p,I){if(!xe[p]&&oo(p)&&(ne.tagNameCheck instanceof RegExp&&pe(ne.tagNameCheck,p)||ne.tagNameCheck instanceof Function&&ne.tagNameCheck(p)))return!1;if(nn&&!Re[p]){const M=g(c),W=D(c);if(W&&M){const U=W.length;for(let ee=U-1;ee>=0;--ee){const ie=c===I?m(W[ee],!0):W[ee];M.insertBefore(ie,k(c))}}}return He(c),!0},eo=function(c,p,I,M){return c.length===0?p:p===I||p===M?ye(p):p},to=function(c,p){if(Qe(j.beforeSanitizeElements,c,null),c!==p&&g(c)===null)return Gt&&Et(c),!0;if(Vt(c))return He(c),!0;const I=re(y?y(c):c.nodeName);if(X=eo(j.uponSanitizeElement,X,Oe,Ae),Qe(j.uponSanitizeElement,c,{tagName:I,allowedTags:X}),c!==p&&g(c)===null)return Gt&&Et(c),!0;if(ii(c,I))return He(c),!0;if(xe[I]||!(T.tagCheck instanceof Function&&T.tagCheck(I))&&!X[I]){const W=si(c,I,p);return W===!1&&Qe(j.afterSanitizeElements,c,null),W}if((C?C(c):c.nodeType)===we.element&&!ni(c)||(I==="noscript"||I==="noembed"||I==="noframes")&&pe(ya,c.innerHTML))return He(c),!0;if(O&&c.nodeType===we.text){const W=Ht(c.textContent);c.textContent!==W&&(ht(t.removed,{element:c.cloneNode()}),c.textContent=W)}return Qe(j.afterSanitizeElements,c,null),!1},no=function(c,p,I){if(Y[p]||V&&p==="patchsrc"||V&&p==="for"&&c!=="label"&&c!=="output"||he&&(p==="id"||p==="name")&&(I in n||I in $r))return!1;const M=Z[p]||T.attributeCheck instanceof Function&&T.attributeCheck(p,c);if(!(R&&pe(ze,p))){if(!(E&&pe(ot,p))){if(M){if(!rn[p]){if(!pe(je,Dt(I,rt,""))){if(!((p==="src"||p==="xlink:href"||p==="href")&&c!=="script"&&Mo(I,"data:")===0&&Un[c])){if(!(G&&!pe(Ye,Dt(I,rt,"")))){if(I)return!1}}}}}else if(!(oo(c)&&(ne.tagNameCheck instanceof RegExp&&pe(ne.tagNameCheck,c)||ne.tagNameCheck instanceof Function&&ne.tagNameCheck(c))&&(ne.attributeNameCheck instanceof RegExp&&pe(ne.attributeNameCheck,p)||ne.attributeNameCheck instanceof Function&&ne.attributeNameCheck(p,c))||p==="is"&&ne.allowCustomizedBuiltInElements&&(ne.tagNameCheck instanceof RegExp&&pe(ne.tagNameCheck,I)||ne.tagNameCheck instanceof Function&&ne.tagNameCheck(I))))return!1}}return!0},li=P({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),oo=function(c){return!li[Bt(c)]&&pe(it,c)},Ai=function(c,p,I,M){if(H&&typeof f=="object"&&typeof f.getAttributeType=="function"&&!I)switch(f.getAttributeType(c,p)){case"TrustedHTML":return z(M);case"TrustedScriptURL":return $(M)}return M},ai=function(c,p,I,M){try{I?c.setAttributeNS(I,p,M):c.setAttribute(p,M),Vt(c)?He(c):To(t.removed)}catch{$e(p,c)}},ro=function(c){Qe(j.beforeSanitizeAttributes,c,null);const p=c.attributes;if(!p||Vt(c))return;Z=eo(j.uponSanitizeAttribute,Z,Xe,q);const I={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Z,forceKeepAttr:void 0};let M=p.length;const W=re(c.nodeName);for(;M--;){const U=p[M],ee=U.name,ie=U.namespaceURI,De=U.value,Ie=re(ee),dn=De;let Ee=ee==="value"?dn:oa(dn);if(I.attrName=Ie,I.attrValue=Ee,I.keepAttr=!0,I.forceKeepAttr=void 0,Qe(j.uponSanitizeAttribute,c,I),Ee=I.attrValue,tn&&(Ie==="id"||Ie==="name")&&Mo(Ee,Vn)!==0&&($e(ee,c),Ee=Vn+Ee),V&&pe(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ee)){$e(ee,c);continue}if(Ie==="attributename"&&Qo(Ee,"href")){$e(ee,c);continue}if(!I.forceKeepAttr){if(!I.keepAttr){$e(ee,c);continue}if(!F&&pe(Ea,Ee)){$e(ee,c);continue}if(O&&(Ee=Ht(Ee)),!no(W,Ie,Ee)){$e(ee,c);continue}Ee=Ai(W,Ie,ie,Ee),Ee!==dn&&ai(c,ee,ie,Ee)}}Qe(j.afterSanitizeAttributes,c,null)},Ut=function(c){let p=null;const I=qn(c);for(Qe(j.beforeSanitizeShadowDOM,c,null);p=I.nextNode();)if(Qe(j.uponSanitizeShadowNode,p,null),to(p,c),ro(p),ct(p.content)&&Ut(p.content),(C?C(p):p.nodeType)===we.element){const W=B(p);ct(W)&&(hn(W),Ut(W))}Qe(j.afterSanitizeShadowDOM,c,null)},hn=function(c){const p=[{node:c,shadow:null}];for(;p.length>0;){const I=p.pop();if(I.shadow){Ut(I.shadow);continue}const M=I.node,U=(C?C(M):M.nodeType)===we.element,ee=D(M);if(ee)for(let ie=ee.length-1;ie>=0;--ie)p.push({node:ee[ie],shadow:null});if(U){const ie=y?y(M):null;if(typeof ie=="string"&&re(ie)==="template"){const De=M.content;ct(De)&&p.push({node:De,shadow:null})}}if(U){const ie=B(M);ct(ie)&&p.push({node:null,shadow:ie},{node:ie,shadow:null})}}};return t.sanitize=function(S){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},p=null,I=null,M=null,W=null;if(sn=!S,sn&&(S="<!-->"),typeof S!="string"&&!bt(S)&&(S=Aa(S),typeof S!="string"))throw et("dirty is not a string, aborting");if(!t.isSupported)return S;te?(X=Ae,Z=q):cn(c),(j.uponSanitizeElement.length>0||j.uponSanitizeAttribute.length>0)&&(X=ye(X)),j.uponSanitizeAttribute.length>0&&(Z=ye(Z)),t.removed=[];const U=Gt&&typeof S!="string"&&bt(S);if(U){ri(S);const De=y?y(S):S.nodeName;if(typeof De=="string"){const Ie=re(De);if(!X[Ie]||xe[Ie])throw Ot(S),et("root node is forbidden and cannot be sanitized in-place")}if(Vt(S))throw Ot(S),et("root node is clobbered and cannot be sanitized in-place");try{hn(S)}catch(Ie){throw Ot(S),Ie}}else if(bt(S))p=$n("<!---->"),I=p.ownerDocument.importNode(S,!0),I.nodeType===we.element&&I.nodeName==="BODY"||I.nodeName==="HTML"?p=I:p.appendChild(I),hn(I);else{if(!ae&&!O&&!fe&&S.indexOf("<")===-1)return H&&Ne?z(S):S;if(p=$n(S),!p)return ae?null:Ne?w:""}p&&Ce&&He(p.firstChild);const ee=U?S:p;try{const De=qn(ee);for(;M=De.nextNode();)to(M,ee),ro(M),ct(M.content)&&Ut(M.content)}catch(De){throw U&&(Ot(S),ut(t.removed,Ie=>{Ie.element&&Et(Ie.element)})),De}if(U)return ut(t.removed,De=>{De.element&&Et(De.element)}),O&&un(S),S;if(ae){if(O&&un(p),st)for(W=_t.call(p.ownerDocument);p.firstChild;)W.appendChild(p.firstChild);else W=p;return(Z.shadowroot||Z.shadowrootmode)&&(W=nt.call(i,W,!0)),W}let ie=fe?p.outerHTML:p.innerHTML;return fe&&X["!doctype"]&&p.ownerDocument&&p.ownerDocument.doctype&&p.ownerDocument.doctype.name&&pe(_a,p.ownerDocument.doctype.name)&&(ie="<!DOCTYPE "+p.ownerDocument.doctype.name+`>
56
- `+ie),O&&(ie=Ht(ie)),H&&Ne?z(ie):ie},t.setConfig=function(){let S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};cn(S),te=!0,Ae=X,q=Z},t.clearConfig=function(){at=null,te=!1,Ae=null,q=null,H=b,w=""},t.isValidAttribute=function(S,c,p){at||cn({});const I=re(S),M=re(c);return no(I,M,p)},t.addHook=function(S,c){typeof c=="function"&&ge(j,S)&&ht(j[S],c)},t.removeHook=function(S,c){if(ge(j,S)){if(c!==void 0){const p=ta(j[S],c);return p===-1?void 0:na(j[S],p,1)[0]}return To(j[S])}},t.removeHooks=function(S){ge(j,S)&&(j[S]=[])},t.removeAllHooks=function(){j=Jo()},t}var Ia=Hr();const Xt=new JA({html:!1,linkify:!0,breaks:!0}),Ba=Xt.renderer.rules.fence;Xt.renderer.rules.fence=(e,t,n,i,o)=>{var u;const l=((u=e[t].info)==null?void 0:u.trim().split(/\s+/)[0])||"",A=Xt.utils.escapeHtml(l)||"code",a=Ba(e,t,n,i,o);return`<div class="md-code-block"><div class="md-code-block__head"><span class="md-code-block__lang">${A}</span><span class="md-code-block__copy" data-md-copy>复制</span></div>`+a+"</div>"};function wa(e){if(!e)return"";const t=Xt.render(e);return Ia.sanitize(t)}function Vr(e){return/\.tiff?$/i.test(e)}function Fa(e){var t;try{const n=e.slice(0,e.indexOf(",")),i=e.slice(e.indexOf(",")+1),o=((t=n.match(/^data:([^;]+)/))==null?void 0:t[1])||"",s=atob(i),l=new Uint8Array(s.length);for(let A=0;A<s.length;A++)l[A]=s.charCodeAt(A);return new Blob([l],{type:o})}catch{return null}}function Ur(e){var t;return e.blob instanceof Blob?e.blob:(t=e.data)!=null&&t.startsWith("data:")?Fa(e.data):null}const xa={class:"message-avatar"},va={class:"message-body"},Sa={class:"message-time"},Na={key:0,class:"message-files"},Ra=["src","alt","onClick"],Ta={class:"file-info"},Qa={class:"file-name"},Ma={class:"file-size"},Ka={key:1,class:"message-user-text"},Ga={class:"message-actions"},Wa={key:0,class:"message-reasoning"},Ya={key:0,class:"reasoning-content"},Oa=["innerHTML"],Ha={key:3,class:"typing-dots"},Va={key:4,class:"message-error"},Ua=r.defineComponent({__name:"ChatMessage",props:{message:{},toolPackages:{},mdTableClick:{type:Boolean},mdListClick:{type:Boolean}},emits:["execute"],setup(e,{emit:t}){const n=e,i=t,o=r.computed(()=>wa(n.message.content)),s=r.computed(()=>!!n.message.hideMarkdown),l=r.ref(!1),A=r.ref([]),a=r.ref(0),u=[];function d(w){var v;if((v=w.data)!=null&&v.startsWith("data:"))return w.data;const b=Ur(w);if(b){const N=URL.createObjectURL(b);return u.push(N),N}return""}function f(w){var N;const b=(N=n.message.files)==null?void 0:N.filter(J=>J.type.startsWith("image/")).map(d).filter(Boolean);if(!(b!=null&&b.length))return;const v=d(w);a.value=Math.max(0,b.indexOf(v)),A.value=b}function _(){u.forEach(w=>URL.revokeObjectURL(w)),u.length=0,A.value=[]}function m(w){if(!w)return"";const b=new Date(w),v=String(b.getHours()).padStart(2,"0"),N=String(b.getMinutes()).padStart(2,"0");return`${v}:${N}`}function h(w){var v;if(w.type!=="component"||!w.componentName)return null;let b=w.packageId?n.toolPackages.find(N=>N.id===w.packageId):null;return b||(b=n.toolPackages.find(N=>N.components&&w.componentName in N.components)),b||(b=n.toolPackages[n.toolPackages.length-1]),b&&((v=b.components)==null?void 0:v[w.componentName])||null}function k(w){i("execute",w)}function D(){const w=window.getSelection();return!!w&&w.toString().length>0}async function g(w){try{await navigator.clipboard.writeText(w),ft.ElMessage.success("已复制")}catch{ft.ElMessage.error("复制失败,请手动复制")}}async function B(){await g(n.message.content)}async function x(w){var N;const b=w.closest("[data-md-copy]");if(!b)return;const v=(N=b.closest(".md-code-block"))==null?void 0:N.querySelector("pre code");v!=null&&v.textContent&&await g(v.textContent)}function C(w){const b=[];let v=w.nextElementSibling;for(;v&&!/^H[1-6]$/.test(v.tagName);)b.push(v),v=v.nextElementSibling;const N=w.hasAttribute("data-collapsed");w.toggleAttribute("data-collapsed",!N),b.forEach(J=>{J.style.display=N?"":"none"})}async function y(w){var N;const b=w.querySelector("td, th"),v=(N=b==null?void 0:b.textContent)==null?void 0:N.trim();v&&i("execute",`我选择 ${v}`)}function K(w){var v;const b=(v=w.textContent)==null?void 0:v.trim();b&&i("execute",b)}function H(w){if(D())return;const b=w.target;if(b.closest("a"))return;if(b.closest("[data-md-copy]")){x(b);return}const v=b.closest("h1,h2,h3,h4,h5,h6");if(v){C(v);return}if(n.mdTableClick){const N=b.closest("table tr");if(N&&!N.closest("thead")){const J=N.parentElement;J&&/^TBODY$/i.test(J.tagName)&&y(N);return}}if(n.mdListClick){const N=b.closest("li");N&&K(N)}}return(w,b)=>{var z;const v=r.resolveComponent("el-icon"),N=r.resolveComponent("el-tooltip"),J=r.resolveComponent("el-image-viewer");return r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["chat-message",[`role-${e.message.role}`,{"is-streaming":e.message.status==="streaming"}]])},[r.createElementVNode("div",xa,[e.message.role==="user"?(r.openBlock(),r.createBlock(v,{key:0},{default:r.withCtx(()=>[r.createVNode(r.unref(is))]),_:1})):(r.openBlock(),r.createBlock(v,{key:1},{default:r.withCtx(()=>[r.createVNode(r.unref(Qi))]),_:1}))]),r.createElementVNode("div",va,[r.createElementVNode("span",Sa,r.toDisplayString(m(e.message.timestamp)),1),(z=e.message.files)!=null&&z.length?(r.openBlock(),r.createElementBlock("div",Na,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.message.files,($,ue)=>{var de,Se;return r.openBlock(),r.createElementBlock("div",{key:ue,class:r.normalizeClass(["message-file",{"is-image":$.type.startsWith("image/")&&((de=$.data)==null?void 0:de.startsWith("data:"))}])},[$.type.startsWith("image/")&&((Se=$.data)!=null&&Se.startsWith("data:"))?(r.openBlock(),r.createElementBlock("img",{key:0,src:$.data,alt:$.name,class:"file-image",onClick:Pe=>f($)},null,8,Ra)):(r.openBlock(),r.createBlock(v,{key:1},{default:r.withCtx(()=>[r.createVNode(r.unref(lr))]),_:1})),r.createElementVNode("div",Ta,[r.createElementVNode("span",Qa,r.toDisplayString($.name),1),r.createElementVNode("span",Ma,r.toDisplayString(($.size/1024).toFixed(1))+" KB",1)])],2)}),128))])):r.createCommentVNode("",!0),e.message.role==="user"?(r.openBlock(),r.createElementBlock("div",Ka,r.toDisplayString(e.message.content),1)):r.createCommentVNode("",!0),e.message.role==="assistant"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[r.createElementVNode("div",Ga,[r.createVNode(N,{content:"复制完整回复","show-after":300,placement:"top"},{default:r.withCtx(()=>[r.createElementVNode("button",{class:"message-action-btn",type:"button",onClick:B},[r.createVNode(v,null,{default:r.withCtx(()=>[r.createVNode(r.unref(Wi))]),_:1})])]),_:1})]),e.message.reasoning?(r.openBlock(),r.createElementBlock("div",Wa,[r.createElementVNode("button",{class:"reasoning-toggle",onClick:b[0]||(b[0]=$=>l.value=!l.value)},[r.createVNode(v,{style:{"margin-right":"4px"}},{default:r.withCtx(()=>[r.createVNode(r.unref(Oi))]),_:1}),b[1]||(b[1]=r.createTextVNode(" 推理过程 ",-1)),r.createElementVNode("span",{class:r.normalizeClass(["reasoning-toggle__arrow",{open:l.value}])},"▾",2)]),l.value?(r.openBlock(),r.createElementBlock("pre",Ya,r.toDisplayString(e.message.reasoning),1)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),s.value?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("div",{key:1,class:r.normalizeClass(["message-content markdown-body",{"is-table-clickable":e.mdTableClick,"is-list-clickable":e.mdListClick}]),innerHTML:o.value,onClick:H},null,10,Oa)),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.message.renderBlocks,($,ue)=>(r.openBlock(),r.createBlock(Ar,{key:ue,block:$,"resolved-component":h($),onSelect:k},null,8,["block","resolved-component"]))),128)),e.message.suggestedNext?(r.openBlock(),r.createBlock(ar,{key:2,text:e.message.suggestedNext,onExecute:k},null,8,["text"])):r.createCommentVNode("",!0)],64)):r.createCommentVNode("",!0),e.message.status==="streaming"?(r.openBlock(),r.createElementBlock("div",Ha,[...b[2]||(b[2]=[r.createElementVNode("i",null,null,-1),r.createElementVNode("i",null,null,-1),r.createElementVNode("i",null,null,-1)])])):r.createCommentVNode("",!0),e.message.status==="error"?(r.openBlock(),r.createElementBlock("div",Va,r.toDisplayString(e.message.error),1)):r.createCommentVNode("",!0)]),A.value.length?(r.openBlock(),r.createBlock(J,{key:0,"initial-index":a.value,"url-list":A.value,onClose:_},null,8,["initial-index","url-list"])):r.createCommentVNode("",!0)],2)}}}),Lr=Ct(Ua,[["__scopeId","data-v-7317da3a"]]),La={class:"chat-input"},Ja={key:0,class:"chat-input__files"},Za={class:"chat-input__wrap"},Pa={class:"chat-input__actions"},za=r.defineComponent({__name:"ChatInput",props:{loading:{type:Boolean},disabled:{type:Boolean},placeholder:{}},emits:["send"],setup(e,{emit:t}){const n=e,i=t,o=r.ref(""),s=r.ref([]),l=r.ref(null),A=r.computed(()=>(o.value.trim().length>0||s.value.length>0)&&!n.disabled);function a(){var g;(g=l.value)==null||g.click()}const u=new Set(["text/plain","text/html","text/css","text/javascript","text/typescript","text/markdown","text/csv","text/xml","application/json","application/xml","application/javascript","application/typescript","application/yaml","application/x-yaml"]);function d(g){var B;if(g.type.startsWith("text/")||u.has(g.type))return!0;if(g.type===""||g.type.startsWith("application/")){const x=(B=g.name.split(".").pop())==null?void 0:B.toLowerCase();return new Set(["txt","md","json","geojson","xml","yml","yaml","csv","ts","js","tsx","jsx","vue","html","css","scss","less","sh","bat","ps1","py","java","c","cpp","h","hpp","go","rs","rb","php","sql","toml","ini","cfg","conf","log","env","gitignore","dockerfile","wkt","wkb","kml","gpx","geojson","topojson","xlsx","docx"]).has(x??"")}return!1}function f(g){return new Promise(B=>{const x={id:"",name:g.name,size:g.size,type:g.type,blob:g};if(Vr(g.name)){B({...x,data:""});return}const C=new FileReader;C.onload=()=>{B({...x,data:C.result})},d(g)?C.readAsText(g):C.readAsDataURL(g)})}async function _(g){var x;const B=g.target;if((x=B.files)!=null&&x.length){for(const C of Array.from(B.files)){const y=await f(C);s.value.push(y)}B.value=""}}function m(g){s.value.splice(g,1)}function h(g){g.shiftKey||(g.preventDefault(),k())}function k(){if(!A.value||n.loading)return;const g=o.value.trim();i("send",g,s.value),o.value="",s.value=[]}function D(){!s.value.length||n.disabled||n.loading||(i("send","预览",s.value),s.value=[])}return(g,B)=>{const x=r.resolveComponent("el-icon"),C=r.resolveComponent("el-tag"),y=r.resolveComponent("el-button"),K=r.resolveComponent("el-input"),H=r.resolveComponent("el-tooltip");return r.openBlock(),r.createElementBlock("div",La,[s.value.length?(r.openBlock(),r.createElementBlock("div",Ja,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.value,(w,b)=>(r.openBlock(),r.createBlock(C,{key:b,closable:"",size:"small",type:w.type.startsWith("image/")?"success":"info",onClose:v=>m(b)},{default:r.withCtx(()=>[w.type.startsWith("image/")?(r.openBlock(),r.createBlock(x,{key:0,style:{"margin-right":"4px"}},{default:r.withCtx(()=>[r.createVNode(r.unref(ji))]),_:1})):(r.openBlock(),r.createBlock(x,{key:1,style:{"margin-right":"4px"}},{default:r.withCtx(()=>[r.createVNode(r.unref(lr))]),_:1})),r.createTextVNode(" "+r.toDisplayString(w.name),1)]),_:2},1032,["type","onClose"]))),128)),r.createVNode(y,{class:"chat-input__preview",size:"small",plain:"",disabled:e.disabled||e.loading,onClick:D},{default:r.withCtx(()=>[r.createVNode(x,{style:{"margin-right":"2px"}},{default:r.withCtx(()=>[r.createVNode(r.unref(as))]),_:1}),B[1]||(B[1]=r.createTextVNode("预览 ",-1))]),_:1},8,["disabled"])])):r.createCommentVNode("",!0),r.createElementVNode("div",Za,[r.createVNode(K,{modelValue:o.value,"onUpdate:modelValue":B[0]||(B[0]=w=>o.value=w),type:"textarea",autosize:{minRows:1,maxRows:6},resize:"none",placeholder:e.placeholder,onKeydown:r.withKeys(h,["enter"])},null,8,["modelValue","placeholder"]),r.createElementVNode("div",Pa,[r.createVNode(H,{content:"上传文件",placement:"top"},{default:r.withCtx(()=>[r.createVNode(y,{text:"",circle:"",onClick:a},{default:r.withCtx(()=>[r.createVNode(x,null,{default:r.withCtx(()=>[r.createVNode(r.unref(Pi))]),_:1})]),_:1})]),_:1}),r.createElementVNode("input",{ref_key:"fileInputRef",ref:l,type:"file",multiple:"",hidden:"",onChange:_},null,544),r.createVNode(H,{content:"Enter 发送,Shift+Enter 换行",placement:"top"},{default:r.withCtx(()=>[r.createVNode(y,{class:"chat-input__send",type:"primary",icon:r.unref(es),loading:e.loading,disabled:!A.value,circle:"",onClick:k},null,8,["icon","loading","disabled"])]),_:1})])])])}}}),Jr=Ct(za,[["__scopeId","data-v-e7db63f0"]]),ja=[{label:"deepseek-v4-flash",value:"deepseek-v4-flash"},{label:"deepseek-v4-pro",value:"deepseek-v4-pro"}],Xa={class:"form-tip"},$a={class:"temp-row"},qa={class:"temp-val"},ec=r.defineComponent({__name:"ChatSettings",props:{modelValue:{type:Boolean},settings:{},deviceId:{}},emits:["update:modelValue","save"],setup(e,{emit:t}){const n=e,i=t,o=r.ref(n.modelValue);r.watch(()=>n.modelValue,A=>{o.value=A,A&&(s.value={...n.settings})}),r.watch(o,A=>i("update:modelValue",A));const s=r.ref({...n.settings});function l(){i("save",{...s.value}),o.value=!1}return(A,a)=>{const u=r.resolveComponent("el-radio"),d=r.resolveComponent("el-radio-group"),f=r.resolveComponent("el-form-item"),_=r.resolveComponent("el-input"),m=r.resolveComponent("el-link"),h=r.resolveComponent("el-option"),k=r.resolveComponent("el-select"),D=r.resolveComponent("el-slider"),g=r.resolveComponent("el-switch"),B=r.resolveComponent("el-form"),x=r.resolveComponent("el-button"),C=r.resolveComponent("el-dialog");return r.openBlock(),r.createBlock(C,{modelValue:o.value,"onUpdate:modelValue":a[11]||(a[11]=y=>o.value=y),title:"AI 助手设置",width:"520px","append-to-body":""},{footer:r.withCtx(()=>[r.createVNode(x,{onClick:a[10]||(a[10]=y=>o.value=!1)},{default:r.withCtx(()=>[...a[22]||(a[22]=[r.createTextVNode("取消",-1)])]),_:1}),r.createVNode(x,{type:"primary",onClick:l},{default:r.withCtx(()=>[...a[23]||(a[23]=[r.createTextVNode("保存",-1)])]),_:1})]),default:r.withCtx(()=>[r.createVNode(B,{model:s.value,"label-width":"110px","label-position":"right"},{default:r.withCtx(()=>[r.createVNode(f,{label:"调用模式"},{default:r.withCtx(()=>[r.createVNode(d,{modelValue:s.value.providerMode,"onUpdate:modelValue":a[0]||(a[0]=y=>s.value.providerMode=y)},{default:r.withCtx(()=>[r.createVNode(u,{value:"direct"},{default:r.withCtx(()=>[...a[12]||(a[12]=[r.createTextVNode("前端直连",-1)])]),_:1}),r.createVNode(u,{value:"proxy"},{default:r.withCtx(()=>[...a[13]||(a[13]=[r.createTextVNode("后端代理",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),s.value.providerMode==="direct"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createVNode(f,{label:"API Key"},{default:r.withCtx(()=>[r.createVNode(_,{modelValue:s.value.apiKey,"onUpdate:modelValue":a[1]||(a[1]=y=>s.value.apiKey=y),type:"password",placeholder:"sk-xxxxxxxxxxxxxxxx",clearable:""},null,8,["modelValue"]),r.createElementVNode("div",Xa,[a[15]||(a[15]=r.createTextVNode(" 在 ",-1)),r.createVNode(m,{type:"primary",href:"https://platform.deepseek.com/api_keys",target:"_blank"},{default:r.withCtx(()=>[...a[14]||(a[14]=[r.createTextVNode(" DeepSeek 开放平台 ",-1)])]),_:1}),a[16]||(a[16]=r.createTextVNode(" 获取,仅保存在浏览器本地。 ",-1))])]),_:1}),r.createVNode(f,{label:"接口地址"},{default:r.withCtx(()=>[r.createVNode(_,{modelValue:s.value.baseUrl,"onUpdate:modelValue":a[2]||(a[2]=y=>s.value.baseUrl=y),placeholder:"https://api.deepseek.com",clearable:""},null,8,["modelValue"])]),_:1})],64)):(r.openBlock(),r.createBlock(f,{key:1,label:"代理地址"},{default:r.withCtx(()=>[r.createVNode(_,{modelValue:s.value.proxyUrl,"onUpdate:modelValue":a[3]||(a[3]=y=>s.value.proxyUrl=y),placeholder:"http://localhost:3001/api/chat",clearable:"",disabled:""},null,8,["modelValue"]),a[17]||(a[17]=r.createElementVNode("div",{class:"form-tip"},null,-1))]),_:1})),r.createVNode(f,{label:"模型"},{default:r.withCtx(()=>[r.createVNode(k,{modelValue:s.value.model,"onUpdate:modelValue":a[4]||(a[4]=y=>s.value.model=y),style:{width:"100%"}},{default:r.withCtx(()=>[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(ja),y=>(r.openBlock(),r.createBlock(h,{key:y.value,label:y.label,value:y.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),r.createVNode(f,{label:"温度"},{default:r.withCtx(()=>[r.createElementVNode("div",$a,[r.createVNode(D,{modelValue:s.value.temperature,"onUpdate:modelValue":a[5]||(a[5]=y=>s.value.temperature=y),disabled:s.value.thinking,min:0,max:2,step:.1,style:{flex:"1"}},null,8,["modelValue","disabled"]),r.createElementVNode("span",qa,r.toDisplayString(s.value.temperature.toFixed(1)),1)]),a[18]||(a[18]=r.createElementVNode("div",{class:"form-tip"}," 思考模式不起作用 ",-1))]),_:1}),r.createVNode(f,{label:"思考模式"},{default:r.withCtx(()=>[r.createVNode(g,{modelValue:s.value.thinking,"onUpdate:modelValue":a[6]||(a[6]=y=>s.value.thinking=y)},null,8,["modelValue"]),a[19]||(a[19]=r.createElementVNode("span",{class:"form-tip-inline"},"开启后模型进行推理/思维链(reasoning),适合复杂任务",-1))]),_:1}),r.createVNode(f,{label:"思考强度"},{default:r.withCtx(()=>[r.createVNode(k,{modelValue:s.value.thinkingEffort,"onUpdate:modelValue":a[7]||(a[7]=y=>s.value.thinkingEffort=y),disabled:!s.value.thinking,style:{width:"100%"}},{default:r.withCtx(()=>[r.createVNode(h,{label:"低",value:"low"}),r.createVNode(h,{label:"高",value:"high"}),r.createVNode(h,{label:"最高",value:"max"})]),_:1},8,["modelValue","disabled"])]),_:1}),r.createVNode(f,{label:"md表格点击"},{default:r.withCtx(()=>[r.createVNode(g,{modelValue:s.value.mdTableClick,"onUpdate:modelValue":a[8]||(a[8]=y=>s.value.mdTableClick=y)},null,8,["modelValue"]),a[20]||(a[20]=r.createElementVNode("span",{class:"form-tip-inline"},'开启后点击回复中的 md 表格行会向助手发送"我选择 X"',-1))]),_:1}),r.createVNode(f,{label:"md列表点击"},{default:r.withCtx(()=>[r.createVNode(g,{modelValue:s.value.mdListClick,"onUpdate:modelValue":a[9]||(a[9]=y=>s.value.mdListClick=y)},null,8,["modelValue"]),a[21]||(a[21]=r.createElementVNode("span",{class:"form-tip-inline"},"开启后点击回复中的列表项会把该项内容作为指令发送",-1))]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),Zr=Ct(ec,[["__scopeId","data-v-2522ad20"]]),tc={class:"chat-panel-root"},nc={class:"ai-fab__label"},oc={class:"chat-panel__title"},rc={class:"chat-panel__ops"},ic={class:"chat-panel__scroll-wrap"},sc={key:0,class:"chat-empty"},lc={class:"chat-empty__logo"},Ac={key:0,class:"chat-empty__commands"},ac={class:"chat-panel__nav-count"},cc=["disabled"],uc=["disabled"],hc={key:0,class:"chat-panel__error"},dc={class:"chat-panel__footer"},fc={key:0,class:"chat-panel__stop"},pc=r.defineComponent({__name:"ChatPanel",props:{chat:{},options:{},showFab:{type:Boolean,default:!0}},setup(e){const t=e,n={get_current_time:{label:"现在几点",text:"现在几点了?"},calculate_expression:{label:"帮我计算",text:"帮我计算 (1+2)*3"},generate_uuid:{label:"生成 UUID",text:"帮我生成一个 UUID"},get_client_info:{label:"客户端信息",text:"获取我的客户端信息"}};function i(Y){const T=Y??{toolPackages:[]};let E;return T.suggestedCommands!==void 0?E=T.suggestedCommands:T.builtInTools===!1?E=[]:Array.isArray(T.builtInTools)?E=T.builtInTools.map(R=>n[R]).filter(Boolean):E=Object.values(n),{...T,toolPackages:T.toolPackages??[],suggestedCommands:E}}const o=t.chat?null:sr(i(t.options)),s=t.chat??o,{messages:l,settings:A,loading:a,errorMsg:u,hasApiKey:d,visible:f,toolPackages:_,sendMessage:m,stopGeneration:h,clearMessages:k,saveSettings:D,deviceId:g,suggestedCommands:B}=s,x=r.ref(!1),C=r.ref(!1),y=r.ref(null),K=r.ref(null),H=r.ref(null),{pos:w,startDrag:b,consumeMoved:v}=lo({onDragStart:()=>{N.value=!0}}),N=r.ref(!1),{pos:J,startDrag:z}=lo({disabled:()=>C.value}),$=r.computed(()=>w.value?{left:`${w.value.x}px`,top:`${w.value.y}px`,right:"auto",bottom:"auto"}:{}),ue=r.computed(()=>C.value||!J.value?{}:{left:`${J.value.x}px`,top:`${J.value.y}px`,right:"auto",bottom:"auto"});function de(Y){K.value&&b(Y,K.value)}function Se(){v()||_t()}function Pe(Y){Y.target.closest(".chat-panel__ops")||H.value&&z(Y,H.value)}function _t(){f.value=!f.value}function kt(){f.value=!1}function nt(){C.value=!C.value}function j(){r.nextTick(()=>{requestAnimationFrame(()=>{const Y=y.value;Y&&Y.scrollTo({top:Y.scrollHeight,behavior:"smooth"})})})}const le=r.computed(()=>l.value.map((Y,T)=>Y.role==="user"?T:-1).filter(Y=>Y>=0)),Be=r.ref(0),Fe=r.ref(!1);let ze=null,ot=!1,Ye=0;function rt(Y){var E,R,G;const T=(R=y.value)==null?void 0:R.querySelector(`[data-msg-id="${(E=l.value[Y])==null?void 0:E.id}"]`);T&&((G=y.value)==null||G.scrollTo({top:Math.max(0,T.offsetTop-12),behavior:"smooth"}),it(T))}function it(Y){Y.classList.add("is-locate"),ze&&clearTimeout(ze),ze=setTimeout(()=>{Y.classList.remove("is-locate")},1200)}function je(Y){if(!le.value.length)return;const T=Math.min(Math.max(Be.value+Y,0),le.value.length-1);Be.value=T,Fe.value=!0,rt(le.value[T])}function X(){Be.value=le.value.length?le.value.length-1:0,Fe.value=!1,j()}function Oe(Y,T){Fe.value=!1,Be.value=le.value.length?le.value.length-1:0,m(Y,T),j()}function Z(Y){D(Y)}function Xe(){ft.ElMessageBox.confirm("确定要清空所有对话记录吗?","提示",{type:"warning",confirmButtonText:"清空",cancelButtonText:"取消"}).then(()=>{k()}).catch(()=>{})}function ne(Y){if(!le.value.length)return;const T=Y.getBoundingClientRect(),E=T.top+T.height/2;let R=0,G=1/0;le.value.forEach((F,O)=>{var te;const V=Y.querySelector(`[data-msg-id="${(te=l.value[F])==null?void 0:te.id}"]`);if(!V)return;const fe=Math.abs(V.getBoundingClientRect().top-E);fe<G&&(G=fe,R=O)}),Be.value=R}function xe(){const Y=y.value;Y&&(Ye&&cancelAnimationFrame(Ye),Ye=requestAnimationFrame(()=>{ne(Y);const T=Y.scrollHeight-Y.scrollTop-Y.clientHeight<60;Fe.value=!T}))}return r.onMounted(()=>{var Y;(Y=y.value)==null||Y.addEventListener("scroll",xe,{passive:!0})}),r.onBeforeUnmount(()=>{var Y;(Y=y.value)==null||Y.removeEventListener("scroll",xe),Ye&&cancelAnimationFrame(Ye)}),r.watch(f,Y=>{Y&&!ot&&(ot=!0,l.value.length&&X())}),r.watch(()=>l.value.map(Y=>{var T;return Y.content+Y.status+(((T=Y.renderBlocks)==null?void 0:T.length)||0)}).join("|"),()=>{Fe.value||(Be.value=le.value.length?le.value.length-1:0,j())}),(Y,T)=>{const E=r.resolveComponent("ChatDotRound"),R=r.resolveComponent("el-icon"),G=r.resolveComponent("el-tag"),F=r.resolveComponent("el-button"),O=r.resolveComponent("el-tooltip"),V=r.resolveComponent("SemiSelect"),fe=r.resolveComponent("el-alert");return r.openBlock(),r.createElementBlock("div",tc,[e.showFab?(r.openBlock(),r.createElementBlock("div",{key:0,ref_key:"fabRef",ref:K,class:r.normalizeClass(["ai-fab",{"ai-fab--active":r.unref(f),"ai-fab--dragged":N.value}]),style:r.normalizeStyle($.value),onPointerdown:de,onClick:Se},[r.createElementVNode("span",nc,r.toDisplayString(r.unref(f)?"收起":"AI 助手"),1)],38)):r.createCommentVNode("",!0),r.createVNode(r.Transition,{name:"panel"},{default:r.withCtx(()=>{var te;return[r.withDirectives(r.createElementVNode("div",{ref_key:"panelRef",ref:H,class:r.normalizeClass(["chat-panel",{"chat-panel--fullscreen":C.value}]),style:r.normalizeStyle(ue.value)},[r.createElementVNode("div",{class:"chat-panel__header",onPointerdown:Pe},[r.createElementVNode("div",oc,[r.createVNode(R,{class:"title-icon"},{default:r.withCtx(()=>[r.createVNode(E)]),_:1}),T[7]||(T[7]=r.createElementVNode("span",null,"AI 智能助手",-1)),r.unref(d)?(r.openBlock(),r.createBlock(G,{key:0,size:"small",type:"success",effect:"plain"},{default:r.withCtx(()=>[...T[5]||(T[5]=[r.createTextVNode("已配置",-1)])]),_:1})):(r.openBlock(),r.createBlock(G,{key:1,size:"small",type:"warning",effect:"plain"},{default:r.withCtx(()=>[...T[6]||(T[6]=[r.createTextVNode("未配置",-1)])]),_:1}))]),r.createElementVNode("div",rc,[r.createVNode(O,{content:"设置",placement:"bottom"},{default:r.withCtx(()=>[r.createVNode(F,{text:"",circle:"",onClick:T[0]||(T[0]=Ae=>x.value=!0)},{default:r.withCtx(()=>[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(r.unref(Ao))]),_:1})]),_:1})]),_:1}),r.createVNode(O,{content:"清空对话",placement:"bottom"},{default:r.withCtx(()=>[r.createVNode(F,{text:"",circle:"",disabled:!r.unref(l).length,onClick:Xe},{default:r.withCtx(()=>[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(r.unref(Vi))]),_:1})]),_:1},8,["disabled"])]),_:1}),r.createVNode(O,{content:C.value?"退出全屏":"全屏",placement:"bottom"},{default:r.withCtx(()=>[r.createVNode(F,{text:"",circle:"",onClick:nt},{default:r.withCtx(()=>[C.value?(r.openBlock(),r.createBlock(R,{key:1},{default:r.withCtx(()=>[r.createVNode(V)]),_:1})):(r.openBlock(),r.createBlock(R,{key:0},{default:r.withCtx(()=>[r.createVNode(r.unref(Ji))]),_:1}))]),_:1})]),_:1},8,["content"]),r.createVNode(O,{content:"关闭",placement:"bottom"},{default:r.withCtx(()=>[r.createVNode(F,{text:"",circle:"",onClick:kt},{default:r.withCtx(()=>[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(r.unref(Ki))]),_:1})]),_:1})]),_:1})])],32),r.createElementVNode("div",ic,[r.createElementVNode("div",{ref_key:"scrollRef",ref:y,class:"chat-panel__body"},[r.unref(l).length?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:1},r.renderList(r.unref(l),Ae=>(r.openBlock(),r.createBlock(Lr,{key:Ae.id,message:Ae,"tool-packages":r.unref(_),"md-table-click":r.unref(A).mdTableClick,"md-list-click":r.unref(A).mdListClick,"data-msg-id":Ae.id,onExecute:Oe},null,8,["message","tool-packages","md-table-click","md-list-click","data-msg-id"]))),128)):(r.openBlock(),r.createElementBlock("div",sc,[r.createElementVNode("div",lc,[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(E)]),_:1})]),T[9]||(T[9]=r.createElementVNode("h3",null,"你好,我是系统 AI 助手",-1)),T[10]||(T[10]=r.createElementVNode("p",{class:"chat-empty__desc"},[r.createTextVNode(" 我可以帮你"),r.createElementVNode("span",{class:"hl"},"查询数据"),r.createTextVNode("、"),r.createElementVNode("span",{class:"hl"},"执行操作"),r.createTextVNode("。试试输入指令: ")],-1)),(te=r.unref(B))!=null&&te.length?(r.openBlock(),r.createElementBlock("div",Ac,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(B),Ae=>(r.openBlock(),r.createBlock(F,{key:Ae.text,size:"small",type:"primary",round:"",plain:"",onClick:q=>Oe(Ae.text)},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(Ae.label),1)]),_:2},1032,["onClick"]))),128))])):r.createCommentVNode("",!0),r.unref(d)?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(F,{key:1,type:"primary",icon:r.unref(Ao),onClick:T[1]||(T[1]=Ae=>x.value=!0)},{default:r.withCtx(()=>[...T[8]||(T[8]=[r.createTextVNode(" 先配置 API Key ",-1)])]),_:1},8,["icon"]))]))],512),r.createVNode(r.Transition,{name:"fade"},{default:r.withCtx(()=>[le.value.length?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["chat-panel__nav",{"is-suppressed-scroll":Fe.value}])},[r.createElementVNode("div",ac,r.toDisplayString(Be.value+1)+"/"+r.toDisplayString(le.value.length),1),r.createVNode(O,{content:"上一个用户消息",placement:"left","show-after":300},{default:r.withCtx(()=>[r.createElementVNode("button",{class:"chat-panel__nav-btn",disabled:Be.value<=0,type:"button",onClick:T[2]||(T[2]=Ae=>je(-1))},[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(r.unref(os))]),_:1})],8,cc)]),_:1}),r.createVNode(O,{content:"下一个用户消息",placement:"left","show-after":300},{default:r.withCtx(()=>[r.createElementVNode("button",{class:"chat-panel__nav-btn",disabled:Be.value>=le.value.length-1,type:"button",onClick:T[3]||(T[3]=Ae=>je(1))},[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(r.unref(Ri))]),_:1})],8,uc)]),_:1}),r.createVNode(O,{content:"最新消息",placement:"left","show-after":300},{default:r.withCtx(()=>[r.createElementVNode("button",{class:"chat-panel__nav-btn",type:"button",onClick:X},[r.createVNode(R,null,{default:r.withCtx(()=>[r.createVNode(r.unref($i))]),_:1})])]),_:1})],2)):r.createCommentVNode("",!0)]),_:1})]),r.createVNode(r.Transition,{name:"fade"},{default:r.withCtx(()=>[r.unref(u)?(r.openBlock(),r.createElementBlock("div",hc,[r.createVNode(fe,{title:r.unref(u),type:"error","show-icon":"",closable:!1},null,8,["title"])])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",dc,[r.unref(a)?(r.openBlock(),r.createElementBlock("div",fc,[r.createVNode(F,{size:"small",icon:r.unref(ls),onClick:r.unref(h)},{default:r.withCtx(()=>[...T[11]||(T[11]=[r.createTextVNode("停止生成",-1)])]),_:1},8,["icon","onClick"])])):r.createCommentVNode("",!0),r.createVNode(Jr,{loading:r.unref(a),placeholder:r.unref(d)?"输入指令...":"请先配置 API Key",onSend:Oe},null,8,["loading","placeholder"])]),r.createVNode(Zr,{modelValue:x.value,"onUpdate:modelValue":T[4]||(T[4]=Ae=>x.value=Ae),settings:r.unref(A),"device-id":r.unref(g),onSave:Z},null,8,["modelValue","settings","device-id"])],6),[[r.vShow,r.unref(f)]])]}),_:1})])}}}),mc=Ct(pc,[["__scopeId","data-v-5dde3b27"]]);function gc(e){if(typeof e!="string")return e;try{const t=JSON.parse(e);return t!==null&&(typeof t=="object"||Array.isArray(t))?t:e}catch{return e}}const Cc=Object.freeze(Object.defineProperty({__proto__:null,parseStringToObject:gc},Symbol.toStringTag,{value:"Module"}));exports.Agent=Zo;exports.BUILTIN_TOOL_PACKAGE=wt;exports.ChatInput=Jr;exports.ChatMessageComp=Lr;exports.ChatPanel=mc;exports.ChatSettingsComp=Zr;exports.DEFAULT_SETTINGS=zt;exports.EventBus=Kn;exports.ParseUtils=Cc;exports.RenderBlockComp=Ar;exports.SuggestedNext=ar;exports.ToolRegistry=Po;exports.blobFromAttachment=Ur;exports.buildSystemPrompt=$o;exports.createAgentBridge=nr;exports.createDeepSeekProvider=zo;exports.createEventBus=Bi;exports.createProxyProvider=jo;exports.getDefaultBridge=or;exports.getDefaultEventBus=$t;exports.isTifFile=Vr;exports.resolveRenderBlock=yi;exports.runBuiltinToolHandler=qo;exports.setBridgeBus=rr;exports.useAgentChat=sr;exports.usePageAgentBridge=wi;
58
+ `};st.text=function(e,t){return Et(e[t].content)};st.html_block=function(e,t){return e[t].content};st.html_inline=function(e,t){return e[t].content};var Ci=class{constructor(){V(this,"rules",Object.assign({},st))}renderAttrs(e){let t,n,i;if(!e.attrs)return"";for(i="",t=0,n=e.attrs.length;t<n;t++)i+=` ${Et(e.attrs[t][0])}="${Et(String(e.attrs[t][1]))}"`;return i}renderToken(e,t,n){const i=e[t];let r="";if(i.hidden)return"";let s=t-1;for(;s>=0&&e[s].hidden&&e[s].nesting===0;)s--;i.block&&i.nesting!==-1&&s>=0&&e[s].hidden&&e[s].nesting===-1&&(r+=`
59
+ `),r+=(i.nesting===-1?"</":"<")+i.tag,r+=this.renderAttrs(i),i.nesting===0&&n.xhtmlOut&&(r+=" /");let l=!1;if(i.block&&(l=!0,i.nesting===1)){let a=t+1;for(;a<e.length&&e[a].hidden&&e[a].nesting===0;)a++;if(a<e.length){const c=e[a];(c.type==="inline"||c.hidden||c.nesting===-1&&c.tag===i.tag)&&(l=!1)}}return r+=l?`>
60
+ `:">",r}renderInline(e,t,n){let i="";const r=this.rules;for(let s=0,l=e.length;s<l;s++){const a=e[s].type;typeof r[a]<"u"?i+=r[a](e,s,t,n,this):i+=this.renderToken(e,s,t)}return i}renderInlineAsText(e,t,n){let i="";for(let r=0,s=e.length;r<s;r++)switch(e[r].type){case"text":case"code_inline":i+=e[r].content;break;case"image":i+=this.renderInlineAsText(e[r].children,t,n);break;case"html_inline":case"html_block":i+=e[r].content;break;case"softbreak":case"hardbreak":i+=`
61
+ `}return i}render(e,t,n){let i="";const r=this.rules;for(let s=0,l=e.length;s<l;s++){const a=e[s].type;a==="inline"?i+=this.renderInline(e[s].children,t,n):typeof r[a]<"u"?i+=r[a](e,s,t,n,this):i+=this.renderToken(e,s,t)}return i}},_i=class{constructor(e,t,n){V(this,"tokens",[]),V(this,"inlineMode",!1),V(this,"Token",xt),this.src=e,this.env=n,this.md=t}},Ka=/\r\n?|\n/g,Ga=/\0/g;function Wa(e){let t;t=e.src.replace(Ka,`
62
+ `),t=t.replace(Ga,"�"),e.src=t}function Va(e){let t;e.inlineMode?(t=new e.Token("inline","",0),t.content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}function Oa(e){const t=e.tokens;let n=0;for(let i=0;i<t.length;i++)t[i].type!=="reference_definition"&&(i!==n&&(t[n]=t[i]),n++);t.length!==n&&(t.length=n)}function Ya(e){const t=e.tokens;for(let n=0,i=t.length;n<i;n++){const r=t[n];r.type==="inline"&&e.md.inline.parse(r.content,e.md,e.env,r.children)}}function Ua(e){return/^<a[>\s]/i.test(e)}function Ha(e){return/^<\/a\s*>/i.test(e)}function La(e){const t=e.tokens;if(e.md.options.linkify)for(let n=0,i=t.length;n<i;n++){if(t[n].type!=="inline"||!e.md.linkify.test(t[n].content))continue;let r=t[n].children,s=0;for(let l=r.length-1;l>=0;l--){const a=r[l];if(a.type==="link_close"){for(l--;r[l].level!==a.level&&r[l].type!=="link_open";)l--;continue}if(a.type==="html_inline"&&(Ua(a.content)&&s>0&&s--,Ha(a.content)&&s++),!(s>0)&&a.type==="text"&&e.md.linkify.test(a.content)){const c=a.content;let A=e.md.linkify.match(c);const f=[];let h=a.level,p=0;A.length>0&&A[0].index===0&&l>0&&r[l-1].type==="text_special"&&(A=A.slice(1));for(let C=0;C<A.length;C++){const d=A[C].url,w=e.md.normalizeLink(d);if(!e.md.validateLink(w))continue;let I=A[C].text;A[C].schema?A[C].schema==="mailto:"&&!/^mailto:/i.test(I)?I=e.md.normalizeLinkText(`mailto:${I}`).replace(/^mailto:/,""):I=e.md.normalizeLinkText(I):I=e.md.normalizeLinkText(`http://${I}`).replace(/^http:\/\//,"");const E=A[C].index;if(E>p){const k=new e.Token("text","",0);k.content=c.slice(p,E),k.level=h,f.push(k)}const y=new e.Token("link_open","a",1);y.attrs=[["href",w]],y.level=h++,y.markup="linkify",y.info="auto",f.push(y);const b=new e.Token("text","",0);b.content=I,b.level=h,f.push(b);const _=new e.Token("link_close","a",-1);_.level=--h,_.markup="linkify",_.info="auto",f.push(_),p=A[C].lastIndex}if(p<c.length){const C=new e.Token("text","",0);C.content=c.slice(p),C.level=h,f.push(C)}t[n].children=r=pi(r,l,f)}}}}var ki=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,Ja=/\((c|tm|r)\)/i,Za=/\((c|tm|r)\)/gi,Pa={c:"©",r:"®",tm:"™"};function za(e,t){return Pa[t.toLowerCase()]}function ja(e){let t=0;for(let n=e.length-1;n>=0;n--){const i=e[n];i.type==="text"&&!t&&(i.content=i.content.replace(Za,za)),i.type==="link_open"&&i.info==="auto"&&t--,i.type==="link_close"&&i.info==="auto"&&t++}}function Xa(e){let t=0;for(let n=e.length-1;n>=0;n--){const i=e[n];i.type==="text"&&!t&&ki.test(i.content)&&(i.content=i.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")),i.type==="link_open"&&i.info==="auto"&&t--,i.type==="link_close"&&i.info==="auto"&&t++}}function $a(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(Ja.test(e.tokens[t].content)&&ja(e.tokens[t].children),ki.test(e.tokens[t].content)&&Xa(e.tokens[t].children))}var qa=/['"]/,Po=/['"]/g,zo="’";function Bn(e,t,n,i){e[t]||(e[t]=[]),e[t].push({pos:n,ch:i})}function ec(e,t){let n="",i=0;t.sort((r,s)=>r.pos-s.pos);for(let r=0;r<t.length;r++){const s=t[r];n+=e.slice(i,s.pos)+s.ch,i=s.pos+1}return n+e.slice(i)}function tc(e,t){let n;const i=[],r={};for(let s=0;s<e.length;s++){const l=e[s],a=e[s].level;for(n=i.length-1;n>=0&&!(i[n].level<=a);n--);if(i.length=n+1,l.type!=="text")continue;const c=l.content;let A=0;const f=c.length;e:for(;A<f;){Po.lastIndex=A;const h=Po.exec(c);if(!h)break;let p=!0,C=!0;A=h.index+1;const d=h[0]==="'";let w=32;if(h.index-1>=0)w=c.charCodeAt(h.index-1);else for(n=s-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){w=e[n].content.charCodeAt(e[n].content.length-1);break}let I=32;if(A<f)I=c.charCodeAt(A);else for(n=s+1;n<e.length&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n++)if(e[n].content){I=e[n].content.charCodeAt(0);break}const E=dn(w)||un(w),y=dn(I)||un(I),b=An(w),_=An(I);if(_?p=!1:y&&(b||E||(p=!1)),b?C=!1:E&&(_||y||(C=!1)),I===34&&h[0]==='"'&&w>=48&&w<=57&&(C=p=!1),p&&C&&(p=E,C=y),!p&&!C){d&&Bn(r,s,h.index,zo);continue}if(C)for(n=i.length-1;n>=0;n--){let k=i[n];if(i[n].level<a)break;if(k.single===d&&i[n].level===a){k=i[n];let v,Q;d?(v=t.md.options.quotes[2],Q=t.md.options.quotes[3]):(v=t.md.options.quotes[0],Q=t.md.options.quotes[1]),Bn(r,s,h.index,Q),Bn(r,k.token,k.pos,v),i.length=n;continue e}}p?i.push({token:s,pos:h.index,single:d,level:a}):C&&d&&Bn(r,s,h.index,zo)}}Object.keys(r).forEach(function(s){const l=Number(s);e[l].content=ec(e[l].content,r[s])})}function nc(e){if(e.md.options.typographer)for(let t=e.tokens.length-1;t>=0;t--)e.tokens[t].type!=="inline"||!qa.test(e.tokens[t].content)||tc(e.tokens[t].children,e)}function oc(e){let t,n;const i=e.length;for(t=0;t<i;t++)e[t].type==="text_special"&&(e[t].type="text");for(t=n=0;t<i;t++)e[t].type==="text"&&t+1<i&&e[t+1].type==="text"?e[t+1].content=e[t].content+e[t+1].content:(t!==n&&(e[n]=e[t]),n++);t!==n&&(e.length=n)}function rc(e){let t,n;const i=e.tokens,r=i.length;for(let s=0;s<r;s++){if(i[s].type!=="inline")continue;const l=i[s].children,a=l.length;for(t=0;t<a;t++)l[t].type==="text_special"&&(l[t].type="text"),l[t].children&&oc(l[t].children);for(t=n=0;t<a;t++)l[t].type==="text"&&t+1<a&&l[t+1].type==="text"?l[t+1].content=l[t].content+l[t+1].content:(t!==n&&(l[n]=l[t]),n++);t!==n&&(l.length=n)}}var Ln=[["normalize",Wa],["block",Va],["strip_references",Oa],["inline",Ya],["linkify",La],["replacements",$a],["smartquotes",nc],["text_join",rc]],yi=class{constructor(){V(this,"ruler",new hn),V(this,"State",_i);for(let e=0;e<Ln.length;e++)this.ruler.push(Ln[e][0],Ln[e][1])}process(e){const t=this.ruler.getRules("");for(let n=0,i=t.length;n<i;n++)t[n](e)}},Ei=class{constructor(e,t,n,i){V(this,"bMarks",[]),V(this,"eMarks",[]),V(this,"tShift",[]),V(this,"sCount",[]),V(this,"bsCount",[]),V(this,"blkIndent",0),V(this,"line",0),V(this,"lineMax",0),V(this,"tight",!1),V(this,"listIndent",-1),V(this,"parentType","root"),V(this,"level",0),V(this,"Token",xt),this.src=e,this.md=t,this.env=n,this.tokens=i;const r=this.src;for(let s=0,l=0,a=0,c=0,A=r.length,f=!1;l<A;l++){const h=r.charCodeAt(l);if(!f)if(Ae(h)){a++,h===9?c+=4-c%4:c++;continue}else f=!0;(h===10||l===A-1)&&(h!==10&&l++,this.bMarks.push(s),this.eMarks.push(l),this.tShift.push(a),this.sCount.push(c),this.bsCount.push(0),f=!1,a=0,c=0,s=l+1)}this.bMarks.push(r.length),this.eMarks.push(r.length),this.tShift.push(0),this.sCount.push(0),this.bsCount.push(0),this.lineMax=this.bMarks.length-1}push(e,t,n){const i=new xt(e,t,n);return i.block=!0,n<0&&this.level--,i.level=this.level,n>0&&this.level++,this.tokens.push(i),i}isEmpty(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]}skipEmptyLines(e){for(let t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e}skipSpaces(e){for(let t=this.src.length;e<t&&Ae(this.src.charCodeAt(e));e++);return e}skipSpacesBack(e,t){if(e<=t)return e;for(;e>t;)if(!Ae(this.src.charCodeAt(--e)))return e+1;return e}skipChars(e,t){for(let n=this.src.length;e<n&&this.src.charCodeAt(e)===t;e++);return e}skipCharsBack(e,t,n){if(e<=n)return e;for(;e>n;)if(t!==this.src.charCodeAt(--e))return e+1;return e}getLines(e,t,n,i){if(e>=t)return"";const r=new Array(t-e);for(let s=0,l=e;l<t;l++,s++){let a=0;const c=this.bMarks[l];let A=c,f;for(l+1<t||i?f=this.eMarks[l]+1:f=this.eMarks[l];A<f&&a<n;){const h=this.src.charCodeAt(A);if(Ae(h))h===9?a+=4-(a+this.bsCount[l])%4:a++;else if(A-c<this.tShift[l])a++;else break;A++}a>n?r[s]=new Array(a-n+1).join(" ")+this.src.slice(A,f):r[s]=this.src.slice(A,f)}return r.join("")}},ic=65536;function Jn(e,t){const n=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];return e.src.slice(n,i)}function jo(e){const t=[],n=e.length;let i=0,r=e.charCodeAt(i),s=!1,l=0,a="";for(;i<n;)r===124&&(s?(a+=e.substring(l,i-1),l=i):(t.push(a+e.substring(l,i)),a="",l=i+1)),s=r===92,i++,r=e.charCodeAt(i);return t.push(a+e.substring(l)),t}function sc(e,t,n,i){if(t+2>n)return!1;let r=t+1;if(e.sCount[r]<e.blkIndent||e.sCount[r]-e.blkIndent>=4)return!1;let s=e.bMarks[r]+e.tShift[r];if(s>=e.eMarks[r])return!1;const l=e.src.charCodeAt(s++);if(l!==124&&l!==45&&l!==58||s>=e.eMarks[r])return!1;const a=e.src.charCodeAt(s++);if(a!==124&&a!==45&&a!==58&&!Ae(a)||l===45&&Ae(a))return!1;for(;s<e.eMarks[r];){const _=e.src.charCodeAt(s);if(_!==124&&_!==45&&_!==58&&!Ae(_))return!1;s++}let c=Jn(e,t+1),A=c.split("|");const f=[];for(let _=0;_<A.length;_++){const k=A[_].trim();if(!k){if(_===0||_===A.length-1)continue;return!1}if(!/^:?-+:?$/.test(k))return!1;k.charCodeAt(k.length-1)===58?f.push(k.charCodeAt(0)===58?"center":"right"):k.charCodeAt(0)===58?f.push("left"):f.push("")}if(c=Jn(e,t).trim(),c.indexOf("|")===-1||e.sCount[t]-e.blkIndent>=4)return!1;A=jo(c),A.length&&A[0]===""&&A.shift(),A.length&&A[A.length-1]===""&&A.pop();const h=A.length;if(h===0||h!==f.length)return!1;if(i)return!0;const p=e.parentType;e.parentType="table";const C=e.md.block.ruler.getRules("blockquote"),d=e.push("table_open","table",1),w=[t,0];d.map=w;const I=e.push("thead_open","thead",1);I.map=[t,t+1];const E=e.push("tr_open","tr",1);E.map=[t,t+1];for(let _=0;_<A.length;_++){const k=e.push("th_open","th",1);f[_]&&(k.attrs=[["style",`text-align:${f[_]}`]]);const v=e.push("inline","",0);v.content=A[_].trim(),v.children=[],e.push("th_close","th",-1)}e.push("tr_close","tr",-1),e.push("thead_close","thead",-1);let y,b=0;for(r=t+2;r<n&&!(e.sCount[r]<e.blkIndent);r++){let _=!1;for(let v=0,Q=C.length;v<Q;v++)if(C[v](e,r,n,!0)){_=!0;break}if(_||(c=Jn(e,r).trim(),!c)||e.sCount[r]-e.blkIndent>=4||(A=jo(c),A.length&&A[0]===""&&A.shift(),A.length&&A[A.length-1]===""&&A.pop(),b+=h-A.length,b>ic))break;if(r===t+2){const v=e.push("tbody_open","tbody",1);v.map=y=[t+2,0]}const k=e.push("tr_open","tr",1);k.map=[r,r+1];for(let v=0;v<h;v++){const Q=e.push("td_open","td",1);f[v]&&(Q.attrs=[["style",`text-align:${f[v]}`]]);const P=e.push("inline","",0);P.content=A[v]?A[v].trim():"",P.children=[],e.push("td_close","td",-1)}e.push("tr_close","tr",-1)}return y&&(e.push("tbody_close","tbody",-1),y[1]=r),e.push("table_close","table",-1),w[1]=r,e.parentType=p,e.line=r,!0}function lc(e,t,n){if(e.sCount[t]-e.blkIndent<4)return!1;let i=t+1,r=i;for(;i<n;){if(e.isEmpty(i)){i++;continue}if(e.sCount[i]-e.blkIndent>=4){i++,r=i;continue}break}e.line=r;const s=e.push("code_block","code",0);return s.content=e.getLines(t,r,4+e.blkIndent,!1)+`
63
+ `,s.map=[t,e.line],!0}function ac(e,t,n,i){let r=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||r+3>s)return!1;const l=e.src.charCodeAt(r);if(l!==126&&l!==96)return!1;let a=r;r=e.skipChars(r,l);let c=r-a;if(c<3)return!1;const A=e.src.slice(a,r),f=e.src.slice(r,s);if(l===96&&f.indexOf(String.fromCharCode(l))>=0)return!1;if(i)return!0;let h=t,p=!1;for(;h++,!(h>=n||(r=a=e.bMarks[h]+e.tShift[h],s=e.eMarks[h],r<s&&e.sCount[h]<e.blkIndent));)if(e.src.charCodeAt(r)===l&&!(e.sCount[h]-e.blkIndent>=4)&&(r=e.skipChars(r,l),!(r-a<c)&&(r=e.skipSpaces(r),!(r<s)))){p=!0;break}c=e.sCount[t],e.line=h+(p?1:0);const C=e.push("fence","code",0);return C.info=f,C.content=e.getLines(t+1,h,c,!0),C.markup=A,C.map=[t,e.line],!0}function cc(e,t,n,i){let r=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];const l=e.lineMax;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(r)!==62)return!1;if(i)return!0;const a=[],c=[],A=[],f=[],h=e.md.block.ruler.getRules("blockquote"),p=e.parentType;e.parentType="blockquote";let C=!1,d;for(d=t;d<n;d++){const b=e.sCount[d]<e.blkIndent;if(r=e.bMarks[d]+e.tShift[d],s=e.eMarks[d],r>=s)break;if(e.src.charCodeAt(r++)===62&&!b){let k=e.sCount[d]+1,v,Q;e.src.charCodeAt(r)===32?(r++,k++,Q=!1,v=!0):e.src.charCodeAt(r)===9?(v=!0,(e.bsCount[d]+k)%4===3?(r++,k++,Q=!1):Q=!0):v=!1;let P=k;for(a.push(e.bMarks[d]),e.bMarks[d]=r;r<s;){const K=e.src.charCodeAt(r);if(Ae(K))K===9?P+=4-(P+e.bsCount[d]+(Q?1:0))%4:P++;else break;r++}C=r>=s,c.push(e.bsCount[d]),e.bsCount[d]=e.sCount[d]+1+(v?1:0),A.push(e.sCount[d]),e.sCount[d]=P-k,f.push(e.tShift[d]),e.tShift[d]=r-e.bMarks[d];continue}if(C)break;let _=!1;for(let k=0,v=h.length;k<v;k++)if(h[k](e,d,n,!0)){_=!0;break}if(_){e.lineMax=d,e.blkIndent!==0&&(a.push(e.bMarks[d]),c.push(e.bsCount[d]),f.push(e.tShift[d]),A.push(e.sCount[d]),e.sCount[d]-=e.blkIndent);break}a.push(e.bMarks[d]),c.push(e.bsCount[d]),f.push(e.tShift[d]),A.push(e.sCount[d]),e.sCount[d]=-1}const w=e.blkIndent;e.blkIndent=0;const I=e.push("blockquote_open","blockquote",1);I.markup=">";const E=[t,0];I.map=E,e.md.block.tokenize(e,t,d);const y=e.push("blockquote_close","blockquote",-1);y.markup=">",e.lineMax=l,e.parentType=p,E[1]=e.line;for(let b=0;b<f.length;b++)e.bMarks[b+t]=a[b],e.tShift[b+t]=f[b],e.sCount[b+t]=A[b],e.bsCount[b+t]=c[b];return e.blkIndent=w,!0}function Ac(e,t,n,i){const r=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let s=e.bMarks[t]+e.tShift[t];const l=e.src.charCodeAt(s++);if(l!==42&&l!==45&&l!==95)return!1;let a=1;for(;s<r;){const A=e.src.charCodeAt(s++);if(A!==l&&!Ae(A))return!1;A===l&&a++}if(a<3)return!1;if(i)return!0;e.line=t+1;const c=e.push("hr","hr",0);return c.map=[t,e.line],c.markup=Array(a+1).join(String.fromCharCode(l)),!0}function Xo(e,t){const n=e.eMarks[t];let i=e.bMarks[t]+e.tShift[t];const r=e.src.charCodeAt(i++);return r!==42&&r!==45&&r!==43||i<n&&!Ae(e.src.charCodeAt(i))?-1:i}function $o(e,t){const n=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];let r=n;if(r+1>=i)return-1;let s=e.src.charCodeAt(r++);if(s<48||s>57)return-1;for(;;){if(r>=i)return-1;if(s=e.src.charCodeAt(r++),s>=48&&s<=57){if(r-n>=10)return-1;continue}if(s===41||s===46)break;return-1}return r<i&&(s=e.src.charCodeAt(r),!Ae(s))?-1:r}function uc(e,t){const n=e.level+2;for(let i=t+2,r=e.tokens.length-2;i<r;i++)e.tokens[i].level===n&&e.tokens[i].type==="paragraph_open"&&(e.tokens[i+2].hidden=!0,e.tokens[i].hidden=!0,i+=2)}function dc(e,t,n,i){let r,s,l,a,c=t,A=!0;if(e.sCount[c]-e.blkIndent>=4||e.listIndent>=0&&e.sCount[c]-e.listIndent>=4&&e.sCount[c]<e.blkIndent)return!1;let f=!1;i&&e.parentType==="paragraph"&&e.sCount[c]>=e.blkIndent&&(f=!0);let h,p,C;if((C=$o(e,c))>=0){if(h=!0,l=e.bMarks[c]+e.tShift[c],p=Number(e.src.slice(l,C-1)),f&&p!==1)return!1}else if((C=Xo(e,c))>=0)h=!1;else return!1;if(f&&e.skipSpaces(C)>=e.eMarks[c])return!1;if(i)return!0;const d=e.src.charCodeAt(C-1),w=e.tokens.length;h?(a=e.push("ordered_list_open","ol",1),p!==1&&(a.attrs=[["start",p]])):a=e.push("bullet_list_open","ul",1);const I=[c,0];a.map=I,a.markup=String.fromCharCode(d);let E=!1;const y=e.md.block.ruler.getRules("list"),b=e.parentType;for(e.parentType="list";c<n;){s=C,r=e.eMarks[c];const _=e.sCount[c]+C-(e.bMarks[c]+e.tShift[c]);let k=_;for(;s<r;){const q=e.src.charCodeAt(s);if(q===9)k+=4-(k+e.bsCount[c])%4;else if(q===32)k++;else break;s++}const v=s;let Q;v>=r?Q=1:Q=k-_,Q>4&&(Q=1);const P=_+Q;a=e.push("list_item_open","li",1),a.markup=String.fromCharCode(d);const K=[c,0];a.map=K,h&&(a.info=e.src.slice(l,C-1));const se=e.tight,S=e.tShift[c],M=e.sCount[c],W=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=P,e.tight=!0,e.tShift[c]=v-e.bMarks[c],e.sCount[c]=k,v>=r&&e.isEmpty(c+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,c,n),(!e.tight||E)&&(A=!1),E=e.line-c>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=W,e.tShift[c]=S,e.sCount[c]=M,e.tight=se,a=e.push("list_item_close","li",-1),a.markup=String.fromCharCode(d),c=e.line,K[1]=c,c>=n||e.sCount[c]<e.blkIndent||e.sCount[c]-e.blkIndent>=4)break;let H=!1;for(let q=0,Be=y.length;q<Be;q++)if(y[q](e,c,n,!0)){H=!0;break}if(H)break;if(h){if(C=$o(e,c),C<0)break;l=e.bMarks[c]+e.tShift[c]}else if(C=Xo(e,c),C<0)break;if(d!==e.src.charCodeAt(C-1))break}return h?a=e.push("ordered_list_close","ol",-1):a=e.push("bullet_list_close","ul",-1),a.markup=String.fromCharCode(d),I[1]=c,e.line=c,e.parentType=b,A&&uc(e,w),!0}function fc(e,t,n,i){let r=e.bMarks[t]+e.tShift[t],s=e.eMarks[t],l=t+1;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(r)!==91)return!1;function a(_){const k=e.lineMax;if(_>=k||e.isEmpty(_))return null;let v=!1;if(e.sCount[_]-e.blkIndent>3&&(v=!0),e.sCount[_]<0&&(v=!0),!v){const K=e.md.block.ruler.getRules("reference"),se=e.parentType;e.parentType="reference";let S=!1;for(let M=0,W=K.length;M<W;M++)if(K[M](e,_,k,!0)){S=!0;break}if(e.parentType=se,S)return null}const Q=e.bMarks[_]+e.tShift[_],P=e.eMarks[_];return e.src.slice(Q,P+1)}let c=e.src.slice(r,s+1);s=c.length;let A=-1;for(r=1;r<s;r++){const _=c.charCodeAt(r);if(_===91)return!1;if(_===93){A=r;break}else if(_===10){const k=a(l);k!==null&&(c+=k,s=c.length,l++)}else if(_===92&&(r++,r<s&&c.charCodeAt(r)===10)){const k=a(l);k!==null&&(c+=k,s=c.length,l++)}}if(A<0||c.charCodeAt(A+1)!==58)return!1;for(r=A+2;r<s;r++){const _=c.charCodeAt(r);if(_===10){const k=a(l);k!==null&&(c+=k,s=c.length,l++)}else if(!Ae(_))break}const f=e.md.helpers.parseLinkDestination(c,r,s);if(!f.ok)return!1;const h=e.md.normalizeLink(f.str);if(!e.md.validateLink(h))return!1;r=f.pos;const p=r,C=l,d=r;for(;r<s;r++){const _=c.charCodeAt(r);if(_===10){const k=a(l);k!==null&&(c+=k,s=c.length,l++)}else if(!Ae(_))break}let w=e.md.helpers.parseLinkTitle(c,r,s);for(;w.can_continue;){const _=a(l);if(_===null)break;c+=_,r=s,s=c.length,l++,w=e.md.helpers.parseLinkTitle(c,r,s,w)}let I;for(r<s&&d!==r&&w.ok?(I=w.str,r=w.pos):(I="",r=p,l=C);r<s&&Ae(c.charCodeAt(r));)r++;if(r<s&&c.charCodeAt(r)!==10&&I)for(I="",r=p,l=C;r<s&&Ae(c.charCodeAt(r));)r++;if(r<s&&c.charCodeAt(r)!==10)return!1;const E=Tn(c.slice(1,A));if(!E)return!1;if(i)return!0;typeof e.env.references>"u"&&(e.env.references={}),typeof e.env.references[E]>"u"&&(e.env.references[E]={title:I,href:h});const y=e.push("reference_definition","",0);y.map=[t,l],y.hidden=!0;const b=Object.create(null);return b.label=E,y.meta=b,e.line=l,!0}var hc=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Ii=`<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>`,bi="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",pc=new RegExp(`^(?:${Ii}|${bi}|<!---?>|<!--(?:[^-]|-[^-]|--[^>])*-->|<[?][\\s\\S]*?[?]>|<![A-Za-z][^>]*>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>)`),mc=new RegExp(`^(?:${Ii}|${bi})`),Bt=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Za-z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp(`^</?(${hc.join("|")})(?=(\\s|/?>|$))`,"i"),/^$/,!0],[new RegExp(`${mc.source}\\s*$`),/^$/,!1]];function gc(e,t,n,i){let r=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(r)!==60)return!1;let l=e.src.slice(r,s),a=0;for(;a<Bt.length&&!Bt[a][0].test(l);a++);if(a===Bt.length)return!1;if(i)return Bt[a][2];let c=t+1;const A=Bt[a][1].test("");if(!Bt[a][1].test(l)){for(;c<n&&!(e.sCount[c]<e.blkIndent&&(A||!e.isEmpty(c)));c++)if(r=e.bMarks[c]+e.tShift[c],s=e.eMarks[c],l=e.src.slice(r,s),Bt[a][1].test(l)){l.length!==0&&c++;break}}e.line=c;const f=e.push("html_block","",0);return f.map=[t,c],f.content=e.getLines(t,c,e.blkIndent,!0),!0}function Cc(e,t,n,i){let r=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let l=e.src.charCodeAt(r);if(l!==35||r>=s)return!1;let a=1;for(l=e.src.charCodeAt(++r);l===35&&r<s&&a<=6;)a++,l=e.src.charCodeAt(++r);if(a>6||r<s&&!Ae(l))return!1;if(i)return!0;s=e.skipSpacesBack(s,r);const c=e.skipCharsBack(s,35,r);c>r&&Ae(e.src.charCodeAt(c-1))&&(s=c),e.line=t+1;const A=e.push("heading_open",`h${a}`,1);A.markup="########".slice(0,a),A.map=[t,e.line];const f=e.push("inline","",0);f.content=Mn(e.src.slice(r,s)),f.map=[t,e.line],f.children=[];const h=e.push("heading_close",`h${a}`,-1);return h.markup="########".slice(0,a),!0}function _c(e,t,n){const i=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const r=e.parentType;e.parentType="paragraph";let s=0,l,a=t+1;for(;a<n&&!e.isEmpty(a);a++){if(e.sCount[a]-e.blkIndent>3)continue;if(e.sCount[a]>=e.blkIndent){let C=e.bMarks[a]+e.tShift[a];const d=e.eMarks[a];if(C<d&&(l=e.src.charCodeAt(C),(l===45||l===61)&&(C=e.skipChars(C,l),C=e.skipSpaces(C),C>=d))){s=l===61?1:2;break}}if(e.sCount[a]<0)continue;let p=!1;for(let C=0,d=i.length;C<d;C++)if(i[C](e,a,n,!0)){p=!0;break}if(p)break}if(!s)return e.parentType=r,!1;const c=Mn(e.getLines(t,a,e.blkIndent,!1));e.line=a+1;const A=e.push("heading_open",`h${s}`,1);A.markup=String.fromCharCode(l),A.map=[t,e.line];const f=e.push("inline","",0);f.content=c,f.map=[t,e.line-1],f.children=[];const h=e.push("heading_close",`h${s}`,-1);return h.markup=String.fromCharCode(l),e.parentType=r,!0}function kc(e,t,n){const i=e.md.block.ruler.getRules("paragraph"),r=e.parentType;let s=t+1;for(e.parentType="paragraph";s<n&&!e.isEmpty(s);s++){if(e.sCount[s]-e.blkIndent>3||e.sCount[s]<0)continue;let A=!1;for(let f=0,h=i.length;f<h;f++)if(i[f](e,s,n,!0)){A=!0;break}if(A)break}const l=Mn(e.getLines(t,s,e.blkIndent,!1));e.line=s;const a=e.push("paragraph_open","p",1);a.map=[t,e.line];const c=e.push("inline","",0);return c.content=l,c.map=[t,e.line],c.children=[],e.push("paragraph_close","p",-1),e.parentType=r,!0}var vn=[["table",sc,["paragraph","reference"]],["code",lc],["fence",ac,["paragraph","reference","blockquote","list"]],["blockquote",cc,["paragraph","reference","blockquote","list"]],["hr",Ac,["paragraph","reference","blockquote","list"]],["list",dc,["paragraph","reference","blockquote"]],["reference",fc],["html_block",gc,["paragraph","reference","blockquote"]],["heading",Cc,["paragraph","reference","blockquote"]],["lheading",_c],["paragraph",kc]],Di=class{constructor(){V(this,"ruler",new hn),V(this,"State",Ei);for(let e=0;e<vn.length;e++)this.ruler.push(vn[e][0],vn[e][1],{alt:(vn[e][2]||[]).slice()})}tokenize(e,t,n){const i=this.ruler.getRules(""),r=i.length,s=e.md.options.maxNesting;let l=t,a=!1;for(;l<n&&(e.line=l=e.skipEmptyLines(l),!(l>=n||e.sCount[l]<e.blkIndent));){if(e.level>=s){e.line=n;break}const c=e.line;let A=!1;for(let f=0;f<r;f++)if(A=i[f](e,l,n,!1),A){if(c>=e.line)throw new Error("block rule didn't increment state.line");break}if(!A)throw new Error("none of the block rules matched");e.tight=!a,e.isEmpty(e.line-1)&&(a=!0),l=e.line,l<n&&e.isEmpty(l)&&(a=!0,l++,e.line=l)}}parse(e,t,n,i){if(!e)return;const r=new this.State(e,t,n,i);this.tokenize(r,r.line,r.lineMax)}},wi=class{constructor(e,t,n,i){V(this,"pos",0),V(this,"level",0),V(this,"pending",""),V(this,"pendingLevel",0),V(this,"cache",{}),V(this,"backticks",{}),V(this,"backticksScanned",!1),V(this,"linkLevel",0),V(this,"delimiters",[]),V(this,"_prev_delimiters",[]),V(this,"Token",xt),this.src=e,this.env=n,this.md=t,this.tokens=i,this.tokens_meta=Array(i.length),this.posMax=this.src.length}pushPending(){const e=new xt("text","",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending="",e}push(e,t,n){this.pending&&this.pushPending();const i=new xt(e,t,n);let r;return n<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),i.level=this.level,n>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],r={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(i),this.tokens_meta.push(r),i}scanDelims(e,t){const n=this.posMax,i=this.src.charCodeAt(e);let r;if(e===0)r=32;else if(e===1)r=this.src.charCodeAt(0),(r&63488)===55296&&(r=65533);else if(r=this.src.charCodeAt(e-1),(r&64512)===56320){const d=this.src.charCodeAt(e-2);r=(d&64512)===55296?65536+(d-55296<<10)+(r-56320):65533}else(r&64512)===55296&&(r=65533);let s=e;for(;s<n&&this.src.charCodeAt(s)===i;)s++;const l=s-e;let a=s<n?this.src.charCodeAt(s):32;if((a&64512)===55296){const d=this.src.charCodeAt(s+1);a=(d&64512)===56320?65536+(a-55296<<10)+(d-56320):65533}else(a&64512)===56320&&(a=65533);const c=dn(r)||un(r),A=dn(a)||un(a),f=An(r),h=An(a),p=!h&&(!A||f||c),C=!f&&(!c||h||A);return{can_open:p&&(t||!C||c),can_close:C&&(t||!p||A),length:l}}};function yc(e){switch(e){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return!0;default:return!1}}function Ec(e,t){let n=e.pos;for(;n<e.posMax&&!yc(e.src.charCodeAt(n));)n++;return n===e.pos?!1:(t||(e.pending+=e.src.slice(e.pos,n)),e.pos=n,!0)}var Ic=/(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;function bc(e,t){if(!e.md.options.linkify||e.linkLevel>0)return!1;const n=e.pos,i=e.posMax;if(n+3>i||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const r=e.pending.match(Ic);if(!r)return!1;const s=r[1],l=e.md.linkify.matchAtStart(e.src.slice(n-s.length));if(!l)return!1;let a=l.url;if(a.length<=s.length)return!1;let c=a.length;for(;c>0&&a.charCodeAt(c-1)===42;)c--;c!==a.length&&(a=a.slice(0,c));const A=e.md.normalizeLink(a);if(!e.md.validateLink(A))return!1;if(!t){e.pending=e.pending.slice(0,-s.length);const f=e.push("link_open","a",1);f.attrs=[["href",A]],f.markup="linkify",f.info="auto";const h=e.push("text","",0);h.content=e.md.normalizeLinkText(a);const p=e.push("link_close","a",-1);p.markup="linkify",p.info="auto"}return e.pos+=a.length-s.length,!0}function Dc(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const i=e.pending.length-1,r=e.posMax;if(!t)if(i>=0&&e.pending.charCodeAt(i)===32)if(i>=1&&e.pending.charCodeAt(i-1)===32){let s=i-1;for(;s>=1&&e.pending.charCodeAt(s-1)===32;)s--;e.pending=e.pending.slice(0,s),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n<r&&Ae(e.src.charCodeAt(n));)n++;return e.pos=n,!0}var Co=[];for(let e=0;e<256;e++)Co.push(0);"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(e){Co[e.charCodeAt(0)]=1});function wc(e,t){let n=e.pos;const i=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=i))return!1;let r=e.src.charCodeAt(n);if(r===10){for(t||e.push("hardbreak","br",0),n++;n<i&&(r=e.src.charCodeAt(n),!!Ae(r));)n++;return e.pos=n,!0}if(r===32){if(!t){const a=e.push("text_special","",0);a.content="\\",a.markup="\\",a.info="escape"}return e.pos=n,!0}let s=e.src[n];if(r>=55296&&r<=56319&&n+1<i){const a=e.src.charCodeAt(n+1);a>=56320&&a<=57343&&(s+=e.src[n+1],n++)}const l="\\"+s;if(!t){const a=e.push("text_special","",0);r<256&&Co[r]!==0?a.content=s:a.content=l,a.markup=l,a.info="escape"}return e.pos=n+1,!0}function Bc(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;const i=n;n++;const r=e.posMax;for(;n<r&&e.src.charCodeAt(n)===96;)n++;const s=e.src.slice(i,n),l=s.length;if(e.backticksScanned&&(e.backticks[l]||0)<=i)return t||(e.pending+=s),e.pos+=l,!0;let a=n,c;for(;(c=e.src.indexOf("`",a))!==-1;){for(a=c+1;a<r&&e.src.charCodeAt(a)===96;)a++;const A=a-c;if(A===l){if(!t){const f=e.push("code_inline","code",0);f.markup=s,f.content=e.src.slice(n,c).replace(/\n/g," ").replace(/^ (.+) $/,"$1")}return e.pos=a,!0}e.backticks[A]=c}return e.backticksScanned=!0,t||(e.pending+=s),e.pos+=l,!0}function vc(e,t){const n=e.pos,i=e.src.charCodeAt(n);if(t||i!==126)return!1;const r=e.scanDelims(e.pos,!0);let s=r.length;const l=String.fromCharCode(i);if(s<2)return!1;let a;s%2&&(a=e.push("text","",0),a.content=l,s--);for(let c=0;c<s;c+=2)a=e.push("text","",0),a.content=l+l,e.delimiters.push({marker:i,length:0,token:e.tokens.length-1,end:-1,open:r.can_open,close:r.can_close});return e.pos+=r.length,!0}function qo(e,t){let n;const i=[],r=t.length;for(let s=0;s<r;s++){const l=t[s];if(l.marker!==126||l.end===-1)continue;const a=t[l.end];n=e.tokens[l.token],n.type="s_open",n.tag="s",n.nesting=1,n.markup="~~",n.content="",n=e.tokens[a.token],n.type="s_close",n.tag="s",n.nesting=-1,n.markup="~~",n.content="",e.tokens[a.token-1].type==="text"&&e.tokens[a.token-1].content==="~"&&i.push(a.token-1)}for(;i.length;){const s=i.pop();let l=s+1;for(;l<e.tokens.length&&e.tokens[l].type==="s_close";)l++;l--,s!==l&&(n=e.tokens[l],e.tokens[l]=e.tokens[s],e.tokens[s]=n)}}function Fc(e){const t=e.tokens_meta,n=e.tokens_meta.length;qo(e,e.delimiters);for(let r=0;r<n;r++){var i;const s=(i=t[r])===null||i===void 0?void 0:i.delimiters;s&&qo(e,s)}}var Bi={tokenize:vc,postProcess:Fc};function xc(e,t){const n=e.pos,i=e.src.charCodeAt(n);if(t||i!==95&&i!==42)return!1;const r=e.scanDelims(e.pos,i===42);for(let s=0;s<r.length;s++){const l=e.push("text","",0);l.content=String.fromCharCode(i),e.delimiters.push({marker:i,length:r.length,token:e.tokens.length-1,end:-1,open:r.can_open,close:r.can_close})}return e.pos+=r.length,!0}function er(e,t){const n=t.length;for(let i=n-1;i>=0;i--){const r=t[i];if(r.marker!==95&&r.marker!==42||r.end===-1)continue;const s=t[r.end],l=i>0&&t[i-1].end===r.end+1&&t[i-1].marker===r.marker&&t[i-1].token===r.token-1&&t[r.end+1].token===s.token+1,a=String.fromCharCode(r.marker),c=e.tokens[r.token];c.type=l?"strong_open":"em_open",c.tag=l?"strong":"em",c.nesting=1,c.markup=l?a+a:a,c.content="";const A=e.tokens[s.token];A.type=l?"strong_close":"em_close",A.tag=l?"strong":"em",A.nesting=-1,A.markup=l?a+a:a,A.content="",l&&(e.tokens[t[i-1].token].content="",e.tokens[t[r.end+1].token].content="",i--)}}function Sc(e){const t=e.tokens_meta,n=e.tokens_meta.length;er(e,e.delimiters);for(let r=0;r<n;r++){var i;const s=(i=t[r])===null||i===void 0?void 0:i.delimiters;s&&er(e,s)}}var vi={tokenize:xc,postProcess:Sc};function Nc(e,t){let n,i,r,s,l="",a="",c=e.pos,A=!0;if(e.src.charCodeAt(e.pos)!==91)return!1;const f=e.pos,h=e.posMax,p=e.pos+1,C=e.md.helpers.parseLinkLabel(e,e.pos,!0);if(C<0)return!1;let d=C+1;if(d<h&&e.src.charCodeAt(d)===40){for(A=!1,d++;d<h&&(n=e.src.charCodeAt(d),!(!Ae(n)&&n!==10));d++);if(d>=h)return!1;if(c=d,r=e.md.helpers.parseLinkDestination(e.src,d,e.posMax),r.ok){for(l=e.md.normalizeLink(r.str),e.md.validateLink(l)?d=r.pos:l="",c=d;d<h&&(n=e.src.charCodeAt(d),!(!Ae(n)&&n!==10));d++);if(r=e.md.helpers.parseLinkTitle(e.src,d,e.posMax),d<h&&c!==d&&r.ok)for(a=r.str,d=r.pos;d<h&&(n=e.src.charCodeAt(d),!(!Ae(n)&&n!==10));d++);}(d>=h||e.src.charCodeAt(d)!==41)&&(A=!0),d++}if(A){if(typeof e.env.references>"u")return!1;if(d<h&&e.src.charCodeAt(d)===91?(c=d+1,d=e.md.helpers.parseLinkLabel(e,d),d>=0?i=e.src.slice(c,d++):d=C+1):d=C+1,i||(i=e.src.slice(p,C)),i=Tn(i),s=e.env.references[i],!s)return e.pos=f,!1;l=s.href,a=s.title}if(!t){e.pos=p,e.posMax=C;const w=e.push("link_open","a",1),I=[["href",l]];if(w.attrs=I,a&&I.push(["title",a]),i){const E=Object.create(null);E.label=i,w.meta=E}e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=d,e.posMax=h,!0}function Rc(e,t){let n,i,r,s,l,a,c,A,f="";const h=e.pos,p=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const C=e.pos+2,d=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(d<0)return!1;if(s=d+1,s<p&&e.src.charCodeAt(s)===40){for(s++;s<p&&(n=e.src.charCodeAt(s),!(!Ae(n)&&n!==10));s++);if(s>=p)return!1;for(A=s,a=e.md.helpers.parseLinkDestination(e.src,s,e.posMax),a.ok&&(f=e.md.normalizeLink(a.str),e.md.validateLink(f)?s=a.pos:f=""),A=s;s<p&&(n=e.src.charCodeAt(s),!(!Ae(n)&&n!==10));s++);if(a=e.md.helpers.parseLinkTitle(e.src,s,e.posMax),s<p&&A!==s&&a.ok)for(c=a.str,s=a.pos;s<p&&(n=e.src.charCodeAt(s),!(!Ae(n)&&n!==10));s++);else c="";if(s>=p||e.src.charCodeAt(s)!==41)return e.pos=h,!1;s++}else{if(typeof e.env.references>"u")return!1;if(s<p&&e.src.charCodeAt(s)===91?(A=s+1,s=e.md.helpers.parseLinkLabel(e,s),s>=0?r=e.src.slice(A,s++):s=d+1):s=d+1,r||(r=e.src.slice(C,d)),r=Tn(r),l=e.env.references[r],!l)return e.pos=h,!1;f=l.href,c=l.title}if(!t){i=e.src.slice(C,d);const w=[];e.md.inline.parse(i,e.md,e.env,w);const I=e.push("image","img",0),E=[["src",f],["alt",""]];if(I.attrs=E,I.children=w,I.content=i,c&&E.push(["title",c]),r){const y=Object.create(null);y.label=r,I.meta=y}}return e.pos=s,e.posMax=p,!0}var Tc=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,Mc=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function Qc(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const i=e.pos,r=e.posMax;for(;;){if(++n>=r)return!1;const l=e.src.charCodeAt(n);if(l===60)return!1;if(l===62)break}const s=e.src.slice(i+1,n);if(Mc.test(s)){const l=e.md.normalizeLink(s);if(!e.md.validateLink(l))return!1;if(!t){const a=e.push("link_open","a",1);a.attrs=[["href",l]],a.markup="autolink",a.info="auto";const c=e.push("text","",0);c.content=e.md.normalizeLinkText(s);const A=e.push("link_close","a",-1);A.markup="autolink",A.info="auto"}return e.pos+=s.length+2,!0}if(Tc.test(s)){const l=e.md.normalizeLink(`mailto:${s}`);if(!e.md.validateLink(l))return!1;if(!t){const a=e.push("link_open","a",1);a.attrs=[["href",l]],a.markup="autolink",a.info="auto";const c=e.push("text","",0);c.content=e.md.normalizeLinkText(s);const A=e.push("link_close","a",-1);A.markup="autolink",A.info="auto"}return e.pos+=s.length+2,!0}return!1}function Kc(e){return/^<a[>\s]/i.test(e)}function Gc(e){return/^<\/a\s*>/i.test(e)}function Wc(e){const t=e|32;return t>=97&&t<=122}function Vc(e,t){if(!e.md.options.html)return!1;const n=e.posMax,i=e.pos;if(e.src.charCodeAt(i)!==60||i+2>=n)return!1;const r=e.src.charCodeAt(i+1);if(r!==33&&r!==63&&r!==47&&!Wc(r))return!1;const s=e.src.slice(i).match(pc);if(!s)return!1;if(!t){const l=e.push("html_inline","",0);l.content=s[0],Kc(l.content)&&e.linkLevel++,Gc(l.content)&&e.linkLevel--}return e.pos+=s[0].length,!0}var Oc=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,Yc=/^&([a-z][a-z0-9]{1,31});/i;function Uc(e,t){const n=e.pos,i=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=i)return!1;if(e.src.charCodeAt(n+1)===35){const r=e.src.slice(n).match(Oc);if(r){if(!t){const s=r[1][0].toLowerCase()==="x"?parseInt(r[1].slice(1),16):parseInt(r[1],10),l=e.push("text_special","",0);l.content=go(s)?cn(s):cn(65533),l.markup=r[0],l.info="entity"}return e.pos+=r[0].length,!0}}else{const r=e.src.slice(n).match(Yc);if(r){const s=ri(r[0]);if(s!==r[0]){if(!t){const l=e.push("text_special","",0);l.content=s,l.markup=r[0],l.info="entity"}return e.pos+=r[0].length,!0}}}return!1}function tr(e){const t={},n=e.length;if(!n)return;let i=0,r=-2;const s=[];for(let l=0;l<n;l++){const a=e[l];if(s.push(0),(e[i].marker!==a.marker||r!==a.token-1)&&(i=l),r=a.token,a.length=a.length||0,!a.close)continue;t.hasOwnProperty(a.marker)||(t[a.marker]=[-1,-1,-1,-1,-1,-1]);const c=t[a.marker][(a.open?3:0)+a.length%3];let A=i-s[i]-1,f=A;for(;A>c;A-=s[A]+1){const h=e[A];if(h.marker===a.marker&&h.open&&h.end<0){let p=!1;if((h.close||a.open)&&(h.length+a.length)%3===0&&(h.length%3!==0||a.length%3!==0)&&(p=!0),!p){const C=A>0&&!e[A-1].open?s[A-1]+1:0;s[l]=l-A+C,s[A]=C,a.open=!1,h.end=l,h.close=!1,f=-1,r=-2;break}}}f!==-1&&(t[a.marker][(a.open?3:0)+(a.length||0)%3]=f)}}function Hc(e){const t=e.tokens_meta,n=e.tokens_meta.length;tr(e.delimiters);for(let r=0;r<n;r++){var i;const s=(i=t[r])===null||i===void 0?void 0:i.delimiters;s&&tr(s)}}function Lc(e){let t,n,i=0;const r=e.tokens,s=e.tokens.length;for(t=n=0;t<s;t++)r[t].nesting<0&&i--,r[t].level=i,r[t].nesting>0&&i++,r[t].type==="text"&&t+1<s&&r[t+1].type==="text"?r[t+1].content=r[t].content+r[t+1].content:(t!==n&&(r[n]=r[t]),n++);t!==n&&(r.length=n)}var Zn=[["text",Ec],["linkify",bc],["newline",Dc],["escape",wc],["backticks",Bc],["strikethrough",Bi.tokenize],["emphasis",vi.tokenize],["link",Nc],["image",Rc],["autolink",Qc],["html_inline",Vc],["entity",Uc]],Pn=[["balance_pairs",Hc],["strikethrough",Bi.postProcess],["emphasis",vi.postProcess],["fragments_join",Lc]],Fi=class{constructor(){V(this,"ruler",new hn),V(this,"ruler2",new hn),V(this,"State",wi);for(let e=0;e<Zn.length;e++)this.ruler.push(Zn[e][0],Zn[e][1]);for(let e=0;e<Pn.length;e++)this.ruler2.push(Pn[e][0],Pn[e][1])}skipToken(e){const t=e.pos,n=this.ruler.getRules(""),i=n.length,r=e.md.options.maxNesting,s=e.cache;if(typeof s[t]<"u"){e.pos=s[t];return}let l=!1;if(e.level<r){for(let a=0;a<i;a++)if(e.level++,l=n[a](e,!0),e.level--,l){if(t>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;l||e.pos++,s[t]=e.pos}tokenize(e){const t=this.ruler.getRules(""),n=t.length,i=e.posMax,r=e.md.options.maxNesting;for(;e.pos<i;){const s=e.pos;let l=!1;if(e.level<r){for(let a=0;a<n;a++)if(l=t[a](e,!1),l){if(s>=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(l){if(e.pos>=i)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()}parse(e,t,n,i){const r=new this.State(e,t,n,i);this.tokenize(r);const s=this.ruler2.getRules(""),l=s.length;for(let a=0;a<l;a++)s[a](r)}},Jc={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}},zero:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","strip_references","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","strip_references","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}}},Zc=/^(vbscript|javascript|file|data):/,Pc=/^data:image\/(gif|png|jpeg|webp);/,nr=["http:","https:","mailto:"],lt=class{validateLink(e){const t=e.trim().toLowerCase();return Zc.test(t)?Pc.test(t):!0}normalizeLink(e){const t=ro(e,!0);if(t.hostname&&(!t.protocol||nr.indexOf(t.protocol)>=0))try{t.hostname=Lo.toASCII(t.hostname)}catch{}return gn(oo(t))}normalizeLinkText(e){const t=ro(e,!0);if(t.hostname&&(!t.protocol||nr.indexOf(t.protocol)>=0))try{t.hostname=Lo.toUnicode(t.hostname)}catch{}return Jt(oo(t),Jt.defaultChars+"%")}constructor(...e){V(this,"inline",new Fi),V(this,"block",new Di),V(this,"core",new yi),V(this,"renderer",new Ci),V(this,"linkify",new la),V(this,"utils",_a),V(this,"helpers",Object.assign({},Ta));const[t,n]=e;typeof t=="string"?(this.configure(t),n&&this.set(n)):(this.configure("default"),this.set(t||{}))}set(e){return Object.assign(this.options,e),this}configure(e){let t;if(typeof e=="string"){const r=e;if(t=Jc[r],!t)throw new Error(`Wrong 'markdown-it' preset "${r}", check name`)}else t=e;if(!t)throw new Error("Wrong `markdown-it` preset, can't be empty");t.options&&(this.options={...t.options});const n=t.components;if(n){var i;["core","block","inline"].forEach(s=>{var l;const a=(l=n[s])===null||l===void 0?void 0:l.rules;a&&this[s].ruler.enableOnly(a)});const r=(i=n.inline)===null||i===void 0?void 0:i.rules2;r&&this.inline.ruler2.enableOnly(r)}return this}enable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(r=>{n=n.concat(this[r].ruler.enable(e,!0))}),n=n.concat(this.inline.ruler2.enable(e,!0));const i=e.filter(r=>n.indexOf(r)<0);if(i.length&&!t)throw new Error(`MarkdownIt. Failed to enable unknown rule(s): ${i}`);return this}disable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(r=>{n=n.concat(this[r].ruler.disable(e,!0))}),n=n.concat(this.inline.ruler2.disable(e,!0));const i=e.filter(r=>n.indexOf(r)<0);if(i.length&&!t)throw new Error(`MarkdownIt. Failed to disable unknown rule(s): ${i}`);return this}use(e,...t){return e.apply(e,[this,...t]),this}parse(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens}render(e,t={}){return this.renderer.render(this.parse(e,t),this.options,t)}parseInline(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens}renderInline(e,t={}){return this.renderer.render(this.parseInline(e,t),this.options,t)}};V(lt,"Token",xt);V(lt,"Ruler",hn);V(lt,"Renderer",Ci);V(lt,"ParserCore",yi);V(lt,"StateCore",_i);V(lt,"ParserBlock",Di);V(lt,"StateBlock",Ei);V(lt,"ParserInline",Fi);V(lt,"StateInline",wi);var zc=hi(lt);/*! @license DOMPurify 3.4.13 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.13/LICENSE */function or(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function jc(e){if(Array.isArray(e))return e}function Xc(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var i,r,s,l,a=[],c=!0,A=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(i=s.call(n)).done)&&(a.push(i.value),a.length!==t);c=!0);}catch(f){A=!0,r=f}finally{try{if(!c&&n.return!=null&&(l=n.return(),Object(l)!==l))return}finally{if(A)throw r}}return a}}function $c(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
64
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qc(e,t){return jc(e)||Xc(e,t)||eA(e,t)||$c()}function eA(e,t){if(e){if(typeof e=="string")return or(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?or(e,t):void 0}}const xi=Object.entries,rr=Object.setPrototypeOf,tA=Object.isFrozen,nA=Object.getPrototypeOf,oA=Object.getOwnPropertyDescriptor;let De=Object.freeze,we=Object.seal,Ut=Object.create,Si=typeof Reflect<"u"&&Reflect,so=Si.apply,lo=Si.construct;De||(De=function(t){return t});we||(we=function(t){return t});so||(so=function(t,n){for(var i=arguments.length,r=new Array(i>2?i-2:0),s=2;s<i;s++)r[s-2]=arguments[s];return t.apply(n,r)});lo||(lo=function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];return new t(...i)});const Ot=ge(Array.prototype.forEach),rA=ge(Array.prototype.lastIndexOf),ir=ge(Array.prototype.pop),Yt=ge(Array.prototype.push),iA=ge(Array.prototype.splice),kt=Array.isArray,rn=ge(String.prototype.toLowerCase),zn=ge(String.prototype.toString),sr=ge(String.prototype.match),en=ge(String.prototype.replace),lr=ge(String.prototype.indexOf),sA=ge(String.prototype.trim),lA=ge(Number.prototype.toString),aA=ge(Boolean.prototype.toString),ar=typeof BigInt>"u"?null:ge(BigInt.prototype.toString),cr=typeof Symbol>"u"?null:ge(Symbol.prototype.toString),Ie=ge(Object.prototype.hasOwnProperty),tn=ge(Object.prototype.toString),ye=ge(RegExp.prototype.test),vt=cA(TypeError);function ge(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];return so(e,t,i)}}function cA(e){return function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return lo(e,n)}}function $(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rn;if(rr&&rr(e,null),!kt(t))return e;let i=t.length;for(;i--;){let r=t[i];if(typeof r=="string"){const s=n(r);s!==r&&(tA(t)||(t[i]=s),r=s)}e[r]=!0}return e}function AA(e){for(let t=0;t<e.length;t++)Ie(e,t)||(e[t]=null);return e}function Re(e){const t=Ut(null);for(const i of xi(e)){var n=qc(i,2);const r=n[0],s=n[1];Ie(e,r)&&(kt(s)?t[r]=AA(s):s&&typeof s=="object"&&s.constructor===Object?t[r]=Re(s):t[r]=s)}return t}function uA(e){switch(typeof e){case"string":return e;case"number":return lA(e);case"boolean":return aA(e);case"bigint":return ar?ar(e):"0";case"symbol":return cr?cr(e):"Symbol()";case"undefined":return tn(e);case"function":case"object":{if(e===null)return tn(e);const t=e,n=Xe(t,"toString");if(typeof n=="function"){const i=n(t);return typeof i=="string"?i:tn(i)}return tn(e)}default:return tn(e)}}function Xe(e,t){for(;e!==null;){const i=oA(e,t);if(i){if(i.get)return ge(i.get);if(typeof i.value=="function")return ge(i.value)}e=nA(e)}function n(){return null}return n}function dA(e){try{return ye(e,""),!0}catch{return!1}}const Ar=De(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),jn=De(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Xn=De(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),fA=De(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),$n=De(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),hA=De(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),ur=De(["#text"]),dr=De(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),qn=De(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),fr=De(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Fn=De(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),pA=we(/{{[\w\W]*|^[\w\W]*}}/g),mA=we(/<%[\w\W]*|^[\w\W]*%>/g),gA=we(/\${[\w\W]*/g),CA=we(/^data-[\-\w.\u00B7-\uFFFF]+$/),_A=we(/^aria-[\-\w]+$/),hr=we(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),kA=we(/^(?:\w+script|data):/i),yA=we(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),EA=we(/^html$/i),IA=we(/^[a-z][.\w]*(-[.\w]+)+$/i),pr=we(/<[/\w!]/g),mr=we(/<[/\w]/g),bA=we(/<\/no(script|embed|frames)/i),DA=we(/\/>/i),Le={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},wA=function(){return typeof window>"u"?null:window},BA=function(t,n){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null;const r="data-tt-policy-suffix";n&&n.hasAttribute(r)&&(i=n.getAttribute(r));const s="dompurify"+(i?"#"+i:"");try{return t.createPolicy(s,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},gr=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},gt=function(t,n,i,r){return Ie(t,n)&&kt(t[n])?$(r.base?Re(r.base):{},t[n],r.transform):i};function Ni(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:wA();const t=x=>Ni(x);if(t.version="3.4.13",t.removed=[],!e||!e.document||e.document.nodeType!==Le.document||!e.Element)return t.isSupported=!1,t;let n=e.document;const i=n,r=i.currentScript;e.DocumentFragment;const s=e.HTMLTemplateElement,l=e.Node,a=e.Element,c=e.NodeFilter,A=e.NamedNodeMap;A===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const f=e.DOMParser,h=e.trustedTypes,p=a.prototype,C=Xe(p,"cloneNode"),d=Xe(p,"remove"),w=Xe(p,"nextSibling"),I=Xe(p,"childNodes"),E=Xe(p,"parentNode"),y=Xe(p,"shadowRoot"),b=Xe(p,"attributes"),_=l&&l.prototype?Xe(l.prototype,"nodeType"):null,k=l&&l.prototype?Xe(l.prototype,"nodeName"):null,v=l&&l.prototype?Xe(l.prototype,"ownerDocument"):null;if(typeof s=="function"){const x=n.createElement("template");x.content&&x.content.ownerDocument&&(n=x.content.ownerDocument)}let Q,P="",K,se=!1,S=0;const M=function(){if(S>0)throw vt('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},W=function(u){M(),S++;try{return Q.createHTML(u)}finally{S--}},H=function(u){M(),S++;try{return Q.createScriptURL(u)}finally{S--}},q=function(){return se||(K=BA(h,r),se=!0),K},Be=n,be=Be.implementation,R=Be.createNodeIterator,ee=Be.createDocumentFragment,z=Be.getElementsByTagName,X=i.importNode;let U=gr();t.isSupported=typeof xi=="function"&&typeof E=="function"&&be&&be.createHTMLDocument!==void 0;const he=pA,te=mA,Te=gA,Oe=CA,Nt=_A,Pt=kA,Rt=yA,zt=IA;let bt=hr,oe=null;const pe=$({},[...Ar,...jn,...Xn,...$n,...ur]);let j=null;const Ye=$({},[...dr,...qn,...fr,...Fn]);let le=Object.seal(Ut(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ue=null,$e=null;const Je=Object.seal(Ut(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Tt=!0,qe=!0,dt=!1,Me=!0,Ze=!1,Ge=!0,Pe=!1,ft=!1,N=null,T=null,me=!1,ne=!1,Ce=!1,_e=!1,ve=!0,at=!1;const ct="user-content-";let ze=!0,ue=!1,et={},He=null;const Mt=$({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let Cn=null;const _n=$({},["audio","video","img","source","image","track"]);let jt=null;const tt=$({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Qt="http://www.w3.org/1998/Math/MathML",ht="http://www.w3.org/2000/svg",Fe="http://www.w3.org/1999/xhtml";let At=Fe,Kt=!1,Gt=null;const kn=$({},[Qt,ht,Fe],zn),Xt=De(["mi","mo","mn","ms","mtext"]);let Wt=$({},Xt);const g=De(["annotation-xml"]);let D=$({},g);const G=$({},["title","style","font","a","script"]);let F=null;const L=["application/xhtml+xml","text/html"],re="text/html";let ie=null,pt=null;const xe=n.createElement("form"),yn=function(u){return u instanceof RegExp||u instanceof Function},ce=function(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(pt&&pt===u)return;(!u||typeof u!="object")&&(u={}),u=Re(u),F=L.indexOf(u.PARSER_MEDIA_TYPE)===-1?re:u.PARSER_MEDIA_TYPE,ie=F==="application/xhtml+xml"?zn:rn,oe=gt(u,"ALLOWED_TAGS",pe,{transform:ie}),j=gt(u,"ALLOWED_ATTR",Ye,{transform:ie}),Gt=gt(u,"ALLOWED_NAMESPACES",kn,{transform:zn}),jt=gt(u,"ADD_URI_SAFE_ATTR",tt,{transform:ie,base:tt}),Cn=gt(u,"ADD_DATA_URI_TAGS",_n,{transform:ie,base:_n}),He=gt(u,"FORBID_CONTENTS",Mt,{transform:ie}),Ue=gt(u,"FORBID_TAGS",Re({}),{transform:ie}),$e=gt(u,"FORBID_ATTR",Re({}),{transform:ie}),et=Ie(u,"USE_PROFILES")?u.USE_PROFILES&&typeof u.USE_PROFILES=="object"?Re(u.USE_PROFILES):u.USE_PROFILES:!1,Tt=u.ALLOW_ARIA_ATTR!==!1,qe=u.ALLOW_DATA_ATTR!==!1,dt=u.ALLOW_UNKNOWN_PROTOCOLS||!1,Me=u.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ze=u.SAFE_FOR_TEMPLATES||!1,Ge=u.SAFE_FOR_XML!==!1,Pe=u.WHOLE_DOCUMENT||!1,ne=u.RETURN_DOM||!1,Ce=u.RETURN_DOM_FRAGMENT||!1,_e=u.RETURN_TRUSTED_TYPE||!1,me=u.FORCE_BODY||!1,ve=u.SANITIZE_DOM!==!1,at=u.SANITIZE_NAMED_PROPS||!1,ze=u.KEEP_CONTENT!==!1,ue=u.IN_PLACE||!1,bt=dA(u.ALLOWED_URI_REGEXP)?u.ALLOWED_URI_REGEXP:hr,At=typeof u.NAMESPACE=="string"?u.NAMESPACE:Fe,Wt=Ie(u,"MATHML_TEXT_INTEGRATION_POINTS")&&u.MATHML_TEXT_INTEGRATION_POINTS&&typeof u.MATHML_TEXT_INTEGRATION_POINTS=="object"?Re(u.MATHML_TEXT_INTEGRATION_POINTS):$({},Xt),D=Ie(u,"HTML_INTEGRATION_POINTS")&&u.HTML_INTEGRATION_POINTS&&typeof u.HTML_INTEGRATION_POINTS=="object"?Re(u.HTML_INTEGRATION_POINTS):$({},g);const m=Ie(u,"CUSTOM_ELEMENT_HANDLING")&&u.CUSTOM_ELEMENT_HANDLING&&typeof u.CUSTOM_ELEMENT_HANDLING=="object"?Re(u.CUSTOM_ELEMENT_HANDLING):Ut(null);if(le=Ut(null),Ie(m,"tagNameCheck")&&yn(m.tagNameCheck)&&(le.tagNameCheck=m.tagNameCheck),Ie(m,"attributeNameCheck")&&yn(m.attributeNameCheck)&&(le.attributeNameCheck=m.attributeNameCheck),Ie(m,"allowCustomizedBuiltInElements")&&typeof m.allowCustomizedBuiltInElements=="boolean"&&(le.allowCustomizedBuiltInElements=m.allowCustomizedBuiltInElements),we(le),Ze&&(qe=!1),Ce&&(ne=!0),et&&(oe=$({},ur),j=Ut(null),et.html===!0&&($(oe,Ar),$(j,dr)),et.svg===!0&&($(oe,jn),$(j,qn),$(j,Fn)),et.svgFilters===!0&&($(oe,Xn),$(j,qn),$(j,Fn)),et.mathMl===!0&&($(oe,$n),$(j,fr),$(j,Fn))),Je.tagCheck=null,Je.attributeCheck=null,Ie(u,"ADD_TAGS")&&(typeof u.ADD_TAGS=="function"?Je.tagCheck=u.ADD_TAGS:kt(u.ADD_TAGS)&&(oe===pe&&(oe=Re(oe)),$(oe,u.ADD_TAGS,ie))),Ie(u,"ADD_ATTR")&&(typeof u.ADD_ATTR=="function"?Je.attributeCheck=u.ADD_ATTR:kt(u.ADD_ATTR)&&(j===Ye&&(j=Re(j)),$(j,u.ADD_ATTR,ie))),Ie(u,"ADD_URI_SAFE_ATTR")&&kt(u.ADD_URI_SAFE_ATTR)&&$(jt,u.ADD_URI_SAFE_ATTR,ie),Ie(u,"FORBID_CONTENTS")&&kt(u.FORBID_CONTENTS)&&(He===Mt&&(He=Re(He)),$(He,u.FORBID_CONTENTS,ie)),Ie(u,"ADD_FORBID_CONTENTS")&&kt(u.ADD_FORBID_CONTENTS)&&(He===Mt&&(He=Re(He)),$(He,u.ADD_FORBID_CONTENTS,ie)),ze&&(oe["#text"]=!0),Pe&&$(oe,["html","head","body"]),oe.table&&($(oe,["tbody"]),delete Ue.tbody),u.TRUSTED_TYPES_POLICY){if(typeof u.TRUSTED_TYPES_POLICY.createHTML!="function")throw vt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof u.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw vt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const B=Q;Q=u.TRUSTED_TYPES_POLICY;try{P=W("")}catch(O){throw Q=B,O}}else u.TRUSTED_TYPES_POLICY===null?(Q=void 0,P=""):(Q===void 0&&(Q=q()),Q&&typeof P=="string"&&(P=W("")));De&&De(u),pt=u},Se=$({},[...jn,...Xn,...fA]),Ne=$({},[...$n,...hA]),Qn=function(u,m,B){return m.namespaceURI===Fe?u==="svg":m.namespaceURI===Qt?u==="svg"&&(B==="annotation-xml"||Wt[B]):!!Se[u]},Dt=function(u,m,B){return m.namespaceURI===Fe?u==="math":m.namespaceURI===ht?u==="math"&&D[B]:!!Ne[u]},ke=function(u,m,B){return m.namespaceURI===ht&&!D[B]||m.namespaceURI===Qt&&!Wt[B]?!1:!Ne[u]&&(G[u]||!Se[u])},_o=function(u){let m=E(u);(!m||!m.tagName)&&(m={namespaceURI:At,tagName:"template"});const B=rn(u.tagName),O=rn(m.tagName);return Gt[u.namespaceURI]?u.namespaceURI===ht?Qn(B,m,O):u.namespaceURI===Qt?Dt(B,m,O):u.namespaceURI===Fe?ke(B,m,O):!!(F==="application/xhtml+xml"&&Gt[u.namespaceURI]):!1},mt=function(u){Yt(t.removed,{element:u});try{E(u).removeChild(u)}catch{if(d(u),!E(u))throw vt("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},En=function(u){$t(u);const m=I(u);if(m){const O=[];Ot(m,Y=>{Yt(O,Y)}),Ot(O,Y=>{try{d(Y)}catch{}})}const B=b(u);if(B)for(let O=B.length-1;O>=0;--O){const Y=B[O],J=Y&&Y.name;if(typeof J=="string")try{u.removeAttribute(J)}catch{}}},wt=function(u,m){try{Yt(t.removed,{attribute:m.getAttributeNode(u),from:m})}catch{Yt(t.removed,{attribute:null,from:m})}if(m.removeAttribute(u),u==="is")if(ne||Ce)try{mt(m)}catch{}else try{m.setAttribute(u,"")}catch{}},Wi=function(u){const m=b(u);if(m)for(let B=m.length-1;B>=0;--B){const O=m[B],Y=O&&O.name;if(!(typeof Y!="string"||j[ie(Y)]))try{u.removeAttribute(Y)}catch{}}},$t=function(u){const m=[u];for(;m.length>0;){const B=m.pop();(_?_(B):B.nodeType)===Le.element&&Wi(B);const Y=I(B);if(Y)for(let J=Y.length-1;J>=0;--J)m.push(Y[J])}},Vi=function(u){if(!Ge)return;const m=[u];for(;m.length>0;){const B=m.pop(),O=_?_(B):B.nodeType;if(O===Le.processingInstruction||O===Le.comment&&ye(mr,B.data)){try{d(B)}catch{}continue}if(O===Le.element){const J=B,ae=ie(k?k(B):B.nodeName);try{J.hasAttribute&&J.hasAttribute("patchsrc")&&J.removeAttribute("patchsrc"),J.hasAttribute&&J.hasAttribute("for")&&ae!=="label"&&ae!=="output"&&J.removeAttribute("for")}catch{}}const Y=I(B);if(Y)for(let J=Y.length-1;J>=0;--J)m.push(Y[J])}},ko=function(u){let m=null,B=null;if(me)u="<remove></remove>"+u;else{const J=sr(u,/^[\r\n\t ]+/);B=J&&J[0]}F==="application/xhtml+xml"&&At===Fe&&(u='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+u+"</body></html>");const O=Q?W(u):u;if(At===Fe)try{m=new f().parseFromString(O,F)}catch{}if(!m||!m.documentElement){m=be.createDocument(At,"template",null);try{m.documentElement.innerHTML=Kt?P:O}catch{}}const Y=m.body||m.documentElement;return u&&B&&Y.insertBefore(n.createTextNode(B),Y.childNodes[0]||null),At===Fe?z.call(m,Pe?"html":"body")[0]:Pe?m.documentElement:Y},yo=function(u){const m=v?v(u):u.ownerDocument;return R.call(m||u,u,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},In=function(u){return u=en(u,he," "),u=en(u,te," "),u=en(u,Te," "),u},Kn=function(u){var m;u.normalize();const B=v?v(u):u.ownerDocument,O=R.call(B||u,u,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let Y=O.nextNode();for(;Y;)Y.data=In(Y.data),Y=O.nextNode();const J=(m=u.querySelectorAll)===null||m===void 0?void 0:m.call(u,"template");J&&Ot(J,ae=>{Vt(ae.content)&&Kn(ae.content)})},bn=function(u){const m=k?k(u):null;return typeof m!="string"||ie(m)!=="form"?!1:typeof u.nodeName!="string"||typeof u.textContent!="string"||typeof u.removeChild!="function"||u.attributes!==b(u)||typeof u.removeAttribute!="function"||typeof u.setAttribute!="function"||typeof u.namespaceURI!="string"||typeof u.insertBefore!="function"||typeof u.hasChildNodes!="function"||u.nodeType!==_(u)||u.childNodes!==I(u)},Vt=function(u){if(!_||typeof u!="object"||u===null)return!1;try{return _(u)===Le.documentFragment}catch{return!1}},qt=function(u){if(!_||typeof u!="object"||u===null)return!1;try{return typeof _(u)=="number"}catch{return!1}};function nt(x,u,m){x.length!==0&&Ot(x,B=>{B.call(t,u,m,pt)})}const Oi=function(u,m){return!!(Ge&&u.hasChildNodes()&&!qt(u.firstElementChild)&&ye(pr,u.textContent)&&ye(pr,u.innerHTML)||Ge&&u.namespaceURI===Fe&&m==="style"&&qt(u.firstElementChild)||u.nodeType===Le.processingInstruction||Ge&&u.nodeType===Le.comment&&ye(mr,u.data))},Yi=function(u,m,B){if(!Ue[m]&&Do(m)&&(le.tagNameCheck instanceof RegExp&&ye(le.tagNameCheck,m)||le.tagNameCheck instanceof Function&&le.tagNameCheck(m)))return!1;if(ze&&!He[m]){const O=E(u),Y=I(u);if(Y&&O){const J=Y.length;for(let ae=J-1;ae>=0;--ae){const de=u===B?C(Y[ae],!0):Y[ae];O.insertBefore(de,w(u))}}}return mt(u),!0},Eo=function(u,m,B,O){return u.length===0?m:m===B||m===O?Re(m):m},Io=function(u,m){if(nt(U.beforeSanitizeElements,u,null),u!==m&&E(u)===null)return ue&&$t(u),!0;if(bn(u))return mt(u),!0;const B=ie(k?k(u):u.nodeName);if(oe=Eo(U.uponSanitizeElement,oe,pe,N),nt(U.uponSanitizeElement,u,{tagName:B,allowedTags:oe}),u!==m&&E(u)===null)return ue&&$t(u),!0;if(Oi(u,B))return mt(u),!0;if(Ue[B]||!(Je.tagCheck instanceof Function&&Je.tagCheck(B))&&!oe[B]){const Y=Yi(u,B,m);return Y===!1&&nt(U.afterSanitizeElements,u,null),Y}if((_?_(u):u.nodeType)===Le.element&&!_o(u)||(B==="noscript"||B==="noembed"||B==="noframes")&&ye(bA,u.innerHTML))return mt(u),!0;if(Ze&&u.nodeType===Le.text){const Y=In(u.textContent);u.textContent!==Y&&(Yt(t.removed,{element:u.cloneNode()}),u.textContent=Y)}return nt(U.afterSanitizeElements,u,null),!1},bo=function(u,m,B){if($e[m]||Ge&&m==="patchsrc"||Ge&&m==="for"&&u!=="label"&&u!=="output"||ve&&(m==="id"||m==="name")&&(B in n||B in xe))return!1;const O=j[m]||Je.attributeCheck instanceof Function&&Je.attributeCheck(m,u);if(!(qe&&ye(Oe,m))){if(!(Tt&&ye(Nt,m))){if(O){if(!jt[m]){if(!ye(bt,en(B,Rt,""))){if(!((m==="src"||m==="xlink:href"||m==="href")&&u!=="script"&&lr(B,"data:")===0&&Cn[u])){if(!(dt&&!ye(Pt,en(B,Rt,"")))){if(B)return!1}}}}}else if(!(Do(u)&&(le.tagNameCheck instanceof RegExp&&ye(le.tagNameCheck,u)||le.tagNameCheck instanceof Function&&le.tagNameCheck(u))&&(le.attributeNameCheck instanceof RegExp&&ye(le.attributeNameCheck,m)||le.attributeNameCheck instanceof Function&&le.attributeNameCheck(m,u))||m==="is"&&le.allowCustomizedBuiltInElements&&(le.tagNameCheck instanceof RegExp&&ye(le.tagNameCheck,B)||le.tagNameCheck instanceof Function&&le.tagNameCheck(B))))return!1}}return!0},Ui=$({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Do=function(u){return!Ui[rn(u)]&&ye(zt,u)},Hi=function(u,m,B,O){if(Q&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!B)switch(h.getAttributeType(u,m)){case"TrustedHTML":return W(O);case"TrustedScriptURL":return H(O)}return O},Li=function(u,m,B,O){try{B?u.setAttributeNS(B,m,O):u.setAttribute(m,O),bn(u)?mt(u):ir(t.removed)}catch{wt(m,u)}},wo=function(u){nt(U.beforeSanitizeAttributes,u,null);const m=u.attributes;if(!m||bn(u))return;j=Eo(U.uponSanitizeAttribute,j,Ye,T);const B={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:j,forceKeepAttr:void 0};let O=m.length;const Y=ie(u.nodeName);for(;O--;){const J=m[O],ae=J.name,de=J.namespaceURI,We=J.value,Ve=ie(ae),Wn=We;let Qe=ae==="value"?Wn:sA(Wn);if(B.attrName=Ve,B.attrValue=Qe,B.keepAttr=!0,B.forceKeepAttr=void 0,nt(U.uponSanitizeAttribute,u,B),Qe=B.attrValue,at&&(Ve==="id"||Ve==="name")&&lr(Qe,ct)!==0&&(wt(ae,u),Qe=ct+Qe),Ge&&ye(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Qe)){wt(ae,u);continue}if(Ve==="attributename"&&sr(Qe,"href")){wt(ae,u);continue}if(!B.forceKeepAttr){if(!B.keepAttr){wt(ae,u);continue}if(!Me&&ye(DA,Qe)){wt(ae,u);continue}if(Ze&&(Qe=In(Qe)),!bo(Y,Ve,Qe)){wt(ae,u);continue}Qe=Hi(Y,Ve,de,Qe),Qe!==Wn&&Li(u,ae,de,Qe)}}nt(U.afterSanitizeAttributes,u,null)},Dn=function(u){let m=null;const B=yo(u);for(nt(U.beforeSanitizeShadowDOM,u,null);m=B.nextNode();)if(nt(U.uponSanitizeShadowNode,m,null),Io(m,u),wo(m),Vt(m.content)&&Dn(m.content),(_?_(m):m.nodeType)===Le.element){const Y=y(m);Vt(Y)&&(Gn(Y),Dn(Y))}nt(U.afterSanitizeShadowDOM,u,null)},Gn=function(u){const m=[{node:u,shadow:null}];for(;m.length>0;){const B=m.pop();if(B.shadow){Dn(B.shadow);continue}const O=B.node,J=(_?_(O):O.nodeType)===Le.element,ae=I(O);if(ae)for(let de=ae.length-1;de>=0;--de)m.push({node:ae[de],shadow:null});if(J){const de=k?k(O):null;if(typeof de=="string"&&ie(de)==="template"){const We=O.content;Vt(We)&&m.push({node:We,shadow:null})}}if(J){const de=y(O);Vt(de)&&m.push({node:null,shadow:de},{node:de,shadow:null})}}};return t.sanitize=function(x){let u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},m=null,B=null,O=null,Y=null;if(Kt=!x,Kt&&(x="<!-->"),typeof x!="string"&&!qt(x)&&(x=uA(x),typeof x!="string"))throw vt("dirty is not a string, aborting");if(!t.isSupported)return x;ft?(oe=N,j=T):ce(u),(U.uponSanitizeElement.length>0||U.uponSanitizeAttribute.length>0)&&(oe=Re(oe)),U.uponSanitizeAttribute.length>0&&(j=Re(j)),t.removed=[];const J=ue&&typeof x!="string"&&qt(x);if(J){Vi(x);const We=k?k(x):x.nodeName;if(typeof We=="string"){const Ve=ie(We);if(!oe[Ve]||Ue[Ve])throw En(x),vt("root node is forbidden and cannot be sanitized in-place")}if(bn(x))throw En(x),vt("root node is clobbered and cannot be sanitized in-place");try{Gn(x)}catch(Ve){throw En(x),Ve}}else if(qt(x))m=ko("<!---->"),B=m.ownerDocument.importNode(x,!0),B.nodeType===Le.element&&B.nodeName==="BODY"||B.nodeName==="HTML"?m=B:m.appendChild(B),Gn(B);else{if(!ne&&!Ze&&!Pe&&x.indexOf("<")===-1)return Q&&_e?W(x):x;if(m=ko(x),!m)return ne?null:_e?P:""}m&&me&&mt(m.firstChild);const ae=J?x:m;try{const We=yo(ae);for(;O=We.nextNode();)Io(O,ae),wo(O),Vt(O.content)&&Dn(O.content)}catch(We){throw J&&(En(x),Ot(t.removed,Ve=>{Ve.element&&$t(Ve.element)})),We}if(J)return Ot(t.removed,We=>{We.element&&$t(We.element)}),Ze&&Kn(x),x;if(ne){if(Ze&&Kn(m),Ce)for(Y=ee.call(m.ownerDocument);m.firstChild;)Y.appendChild(m.firstChild);else Y=m;return(j.shadowroot||j.shadowrootmode)&&(Y=X.call(i,Y,!0)),Y}let de=Pe?m.outerHTML:m.innerHTML;return Pe&&oe["!doctype"]&&m.ownerDocument&&m.ownerDocument.doctype&&m.ownerDocument.doctype.name&&ye(EA,m.ownerDocument.doctype.name)&&(de="<!DOCTYPE "+m.ownerDocument.doctype.name+`>
65
+ `+de),Ze&&(de=In(de)),Q&&_e?W(de):de},t.setConfig=function(){let x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};ce(x),ft=!0,N=oe,T=j},t.clearConfig=function(){pt=null,ft=!1,N=null,T=null,Q=K,P=""},t.isValidAttribute=function(x,u,m){pt||ce({});const B=ie(x),O=ie(u);return bo(B,O,m)},t.addHook=function(x,u){typeof u=="function"&&Ie(U,x)&&Yt(U[x],u)},t.removeHook=function(x,u){if(Ie(U,x)){if(u!==void 0){const m=rA(U[x],u);return m===-1?void 0:iA(U[x],m,1)[0]}return ir(U[x])}},t.removeHooks=function(x){Ie(U,x)&&(U[x]=[])},t.removeAllHooks=function(){U=gr()},t}var vA=Ni();const Nn=new zc({html:!1,linkify:!0,breaks:!0}),FA=Nn.renderer.rules.fence;Nn.renderer.rules.fence=(e,t,n,i,r)=>{var A;const l=((A=e[t].info)==null?void 0:A.trim().split(/\s+/)[0])||"",a=Nn.utils.escapeHtml(l)||"code",c=FA(e,t,n,i,r);return`<div class="md-code-block"><div class="md-code-block__head"><span class="md-code-block__lang">${a}</span><span class="md-code-block__copy" data-md-copy>复制</span></div>`+c+"</div>"};function xA(e){if(!e)return"";const t=Nn.render(e);return vA.sanitize(t)}function Ri(e){return/\.tiff?$/i.test(e)}function SA(e){var t;try{const n=e.slice(0,e.indexOf(",")),i=e.slice(e.indexOf(",")+1),r=((t=n.match(/^data:([^;]+)/))==null?void 0:t[1])||"",s=atob(i),l=new Uint8Array(s.length);for(let a=0;a<s.length;a++)l[a]=s.charCodeAt(a);return new Blob([l],{type:r})}catch{return null}}function Ti(e){var t;return e.blob instanceof Blob?e.blob:(t=e.data)!=null&&t.startsWith("data:")?SA(e.data):null}const NA={class:"message-avatar"},RA={class:"message-body"},TA={class:"message-time"},MA={key:0,class:"message-files"},QA=["src","alt","onClick"],KA={class:"file-info"},GA={class:"file-name"},WA={class:"file-size"},VA={key:1,class:"message-user-text"},OA={class:"message-actions"},YA={key:0,class:"message-reasoning"},UA={key:0,class:"reasoning-content"},HA={key:1,class:"message-tools"},LA=["title"],JA={class:"message-tool__name"},ZA={class:"message-tool__status"},PA=["innerHTML"],zA={key:3,class:"typing-dots"},jA={key:4,class:"message-error"},XA=o.defineComponent({__name:"ChatMessage",props:{message:{},toolPackages:{},mdTableClick:{type:Boolean},mdListClick:{type:Boolean}},emits:["execute"],setup(e,{emit:t}){const n=e,i=t,r=o.computed(()=>xA(n.message.content)),s=o.computed(()=>!!n.message.hideMarkdown),l=o.computed(()=>{var M,W,H;const S=n.message;return S.role!=="assistant"?!0:!!((M=S.content)!=null&&M.trim()||S.reasoning||(W=S.renderBlocks)!=null&&W.length||S.suggestedNext||(H=S.toolResults)!=null&&H.length||S.error||S.status==="streaming")});function a(S){return S==="running"?"执行中":S==="success"?"已完成":S==="blocked"?"缺少前置条件":"失败"}function c(S){return S.status==="blocked"?S.hint||S.result||S.name:S.status==="error"?S.result||S.name:S.alias||S.name}const A=o.ref(!1),f=o.ref([]),h=o.ref(0),p=[];function C(S){var W;if((W=S.data)!=null&&W.startsWith("data:"))return S.data;const M=Ti(S);if(M){const H=URL.createObjectURL(M);return p.push(H),H}return""}function d(S){var H;const M=(H=n.message.files)==null?void 0:H.filter(q=>q.type.startsWith("image/")).map(C).filter(Boolean);if(!(M!=null&&M.length))return;const W=C(S);h.value=Math.max(0,M.indexOf(W)),f.value=M}function w(){p.forEach(S=>URL.revokeObjectURL(S)),p.length=0,f.value=[]}function I(S){if(!S)return"";const M=new Date(S),W=String(M.getHours()).padStart(2,"0"),H=String(M.getMinutes()).padStart(2,"0");return`${W}:${H}`}function E(S){var H;if(S.type!=="component"||!S.componentName)return null;const M=Gr(S,n.toolPackages).component;if(M)return M;const W=n.toolPackages.find(q=>q.components&&S.componentName in q.components);return((H=W==null?void 0:W.components)==null?void 0:H[S.componentName])||null}function y(S){i("execute",S)}function b(){const S=window.getSelection();return!!S&&S.toString().length>0}async function _(S){try{await navigator.clipboard.writeText(S),ut.ElMessage.success("已复制")}catch{ut.ElMessage.error("复制失败,请手动复制")}}async function k(){await _(n.message.content)}async function v(S){var H;const M=S.closest("[data-md-copy]");if(!M)return;const W=(H=M.closest(".md-code-block"))==null?void 0:H.querySelector("pre code");W!=null&&W.textContent&&await _(W.textContent)}function Q(S){const M=[];let W=S.nextElementSibling;for(;W&&!/^H[1-6]$/.test(W.tagName);)M.push(W),W=W.nextElementSibling;const H=S.hasAttribute("data-collapsed");S.toggleAttribute("data-collapsed",!H),M.forEach(q=>{q.style.display=H?"":"none"})}async function P(S){var H;const M=S.querySelector("td, th"),W=(H=M==null?void 0:M.textContent)==null?void 0:H.trim();W&&i("execute",`我选择 ${W}`)}function K(S){var W;const M=(W=S.textContent)==null?void 0:W.trim();M&&i("execute",M)}function se(S){if(b())return;const M=S.target;if(M.closest("a"))return;if(M.closest("[data-md-copy]")){v(M);return}const W=M.closest("h1,h2,h3,h4,h5,h6");if(W){Q(W);return}if(n.mdTableClick){const H=M.closest("table tr");if(H&&!H.closest("thead")){const q=H.parentElement;q&&/^TBODY$/i.test(q.tagName)&&P(H);return}}if(n.mdListClick){const H=M.closest("li");H&&K(H)}}return(S,M)=>{var Be,be;const W=o.resolveComponent("el-icon"),H=o.resolveComponent("el-tooltip"),q=o.resolveComponent("el-image-viewer");return l.value?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(["chat-message",[`role-${e.message.role}`,{"is-streaming":e.message.status==="streaming"}]])},[o.createElementVNode("div",NA,[e.message.role==="user"?(o.openBlock(),o.createBlock(W,{key:0},{default:o.withCtx(()=>[o.createVNode(o.unref(sl))]),_:1})):(o.openBlock(),o.createBlock(W,{key:1},{default:o.withCtx(()=>[o.createVNode(o.unref(Fs))]),_:1}))]),o.createElementVNode("div",RA,[o.createElementVNode("span",TA,o.toDisplayString(I(e.message.timestamp)),1),(Be=e.message.files)!=null&&Be.length?(o.openBlock(),o.createElementBlock("div",MA,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.message.files,(R,ee)=>{var z,X;return o.openBlock(),o.createElementBlock("div",{key:ee,class:o.normalizeClass(["message-file",{"is-image":R.type.startsWith("image/")&&((z=R.data)==null?void 0:z.startsWith("data:"))}])},[R.type.startsWith("image/")&&((X=R.data)!=null&&X.startsWith("data:"))?(o.openBlock(),o.createElementBlock("img",{key:0,src:R.data,alt:R.name,class:"file-image",onClick:U=>d(R)},null,8,QA)):(o.openBlock(),o.createBlock(W,{key:1},{default:o.withCtx(()=>[o.createVNode(o.unref(zr))]),_:1})),o.createElementVNode("div",KA,[o.createElementVNode("span",GA,o.toDisplayString(R.name),1),o.createElementVNode("span",WA,o.toDisplayString((R.size/1024).toFixed(1))+" KB",1)])],2)}),128))])):o.createCommentVNode("",!0),e.message.role==="user"?(o.openBlock(),o.createElementBlock("div",VA,o.toDisplayString(e.message.content),1)):o.createCommentVNode("",!0),e.message.role==="assistant"?(o.openBlock(),o.createElementBlock(o.Fragment,{key:2},[o.createElementVNode("div",OA,[o.createVNode(H,{content:"复制完整回复","show-after":300,placement:"top"},{default:o.withCtx(()=>[o.createElementVNode("button",{class:"message-action-btn",type:"button",onClick:k},[o.createVNode(W,null,{default:o.withCtx(()=>[o.createVNode(o.unref(Ws))]),_:1})])]),_:1})]),e.message.reasoning?(o.openBlock(),o.createElementBlock("div",YA,[o.createElementVNode("button",{class:"reasoning-toggle",onClick:M[0]||(M[0]=R=>A.value=!A.value)},[o.createVNode(W,{style:{"margin-right":"4px"}},{default:o.withCtx(()=>[o.createVNode(o.unref(Os))]),_:1}),M[1]||(M[1]=o.createTextVNode(" 推理过程 ",-1)),o.createElementVNode("span",{class:o.normalizeClass(["reasoning-toggle__arrow",{open:A.value}])},"▾",2)]),A.value?(o.openBlock(),o.createElementBlock("pre",UA,o.toDisplayString(e.message.reasoning),1)):o.createCommentVNode("",!0)])):o.createCommentVNode("",!0),(be=e.message.toolResults)!=null&&be.length?(o.openBlock(),o.createElementBlock("div",HA,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.message.toolResults,R=>(o.openBlock(),o.createElementBlock("div",{key:R.callId,class:o.normalizeClass(["message-tool",`is-${R.status}`]),title:c(R)},[o.createVNode(W,{class:o.normalizeClass(["message-tool__icon",{"is-spinning":R.status==="running"}])},{default:o.withCtx(()=>[R.status==="running"?(o.openBlock(),o.createBlock(o.unref(Zs),{key:0})):R.status==="success"?(o.openBlock(),o.createBlock(o.unref(Ss),{key:1})):R.status==="blocked"?(o.openBlock(),o.createBlock(o.unref(dl),{key:2})):(o.openBlock(),o.createBlock(o.unref(Rs),{key:3}))]),_:2},1032,["class"]),o.createElementVNode("span",JA,o.toDisplayString(R.alias||R.name),1),o.createElementVNode("span",ZA,o.toDisplayString(a(R.status)),1)],10,LA))),128))])):o.createCommentVNode("",!0),s.value?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",{key:2,class:o.normalizeClass(["message-content markdown-body",{"is-table-clickable":e.mdTableClick,"is-list-clickable":e.mdListClick}]),innerHTML:r.value,onClick:se},null,10,PA)),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.message.renderBlocks,(R,ee)=>(o.openBlock(),o.createBlock($r,{key:ee,block:R,"resolved-component":E(R),onSelect:y},null,8,["block","resolved-component"]))),128)),e.message.suggestedNext?(o.openBlock(),o.createBlock(qr,{key:3,text:e.message.suggestedNext,onExecute:y},null,8,["text"])):o.createCommentVNode("",!0)],64)):o.createCommentVNode("",!0),e.message.status==="streaming"?(o.openBlock(),o.createElementBlock("div",zA,[...M[2]||(M[2]=[o.createElementVNode("i",null,null,-1),o.createElementVNode("i",null,null,-1),o.createElementVNode("i",null,null,-1)])])):o.createCommentVNode("",!0),e.message.status==="error"?(o.openBlock(),o.createElementBlock("div",jA,o.toDisplayString(e.message.error),1)):o.createCommentVNode("",!0)]),f.value.length?(o.openBlock(),o.createBlock(q,{key:0,"initial-index":h.value,"url-list":f.value,onClose:w},null,8,["initial-index","url-list"])):o.createCommentVNode("",!0)],2)):o.createCommentVNode("",!0)}}}),Mi=It(XA,[["__scopeId","data-v-25c0f8d1"]]),$A={class:"chat-input"},qA={key:0,class:"chat-input__files"},eu={class:"chat-input__wrap"},tu={class:"chat-input__actions"},nu=o.defineComponent({__name:"ChatInput",props:{loading:{type:Boolean},disabled:{type:Boolean},placeholder:{}},emits:["send"],setup(e,{emit:t}){const n=e,i=t,r=o.ref(""),s=o.ref([]),l=o.ref(null),a=o.computed(()=>(r.value.trim().length>0||s.value.length>0)&&!n.disabled);function c(){var E;(E=l.value)==null||E.click()}const A=new Set(["text/plain","text/html","text/css","text/javascript","text/typescript","text/markdown","text/csv","text/xml","application/json","application/xml","application/javascript","application/typescript","application/yaml","application/x-yaml"]);function f(E){var y;if(E.type.startsWith("text/")||A.has(E.type))return!0;if(E.type===""||E.type.startsWith("application/")){const b=(y=E.name.split(".").pop())==null?void 0:y.toLowerCase();return new Set(["txt","md","json","geojson","xml","yml","yaml","csv","ts","js","tsx","jsx","vue","html","css","scss","less","sh","bat","ps1","py","java","c","cpp","h","hpp","go","rs","rb","php","sql","toml","ini","cfg","conf","log","env","gitignore","dockerfile","wkt","wkb","kml","gpx","geojson","topojson","xlsx","docx"]).has(b??"")}return!1}function h(E){return new Promise(y=>{const b={id:"",name:E.name,size:E.size,type:E.type,blob:E};if(Ri(E.name)){y({...b,data:""});return}const _=new FileReader;_.onload=()=>{y({...b,data:_.result})},f(E)?_.readAsText(E):_.readAsDataURL(E)})}async function p(E){var b;const y=E.target;if((b=y.files)!=null&&b.length){for(const _ of Array.from(y.files)){const k=await h(_);s.value.push(k)}y.value=""}}function C(E){s.value.splice(E,1)}function d(E){E.shiftKey||(E.preventDefault(),w())}function w(){if(!a.value||n.loading)return;const E=r.value.trim();i("send",E,s.value),r.value="",s.value=[]}function I(){!s.value.length||n.disabled||n.loading||(i("send","预览",s.value),s.value=[])}return(E,y)=>{const b=o.resolveComponent("el-icon"),_=o.resolveComponent("el-tag"),k=o.resolveComponent("el-button"),v=o.resolveComponent("el-input"),Q=o.resolveComponent("el-tooltip");return o.openBlock(),o.createElementBlock("div",$A,[s.value.length?(o.openBlock(),o.createElementBlock("div",qA,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.value,(P,K)=>(o.openBlock(),o.createBlock(_,{key:K,closable:"",size:"small",type:P.type.startsWith("image/")?"success":"info",onClose:se=>C(K)},{default:o.withCtx(()=>[P.type.startsWith("image/")?(o.openBlock(),o.createBlock(b,{key:0,style:{"margin-right":"4px"}},{default:o.withCtx(()=>[o.createVNode(o.unref(Xs))]),_:1})):(o.openBlock(),o.createBlock(b,{key:1,style:{"margin-right":"4px"}},{default:o.withCtx(()=>[o.createVNode(o.unref(zr))]),_:1})),o.createTextVNode(" "+o.toDisplayString(P.name),1)]),_:2},1032,["type","onClose"]))),128)),o.createVNode(k,{class:"chat-input__preview",size:"small",plain:"",disabled:e.disabled||e.loading,onClick:I},{default:o.withCtx(()=>[o.createVNode(b,{style:{"margin-right":"2px"}},{default:o.withCtx(()=>[o.createVNode(o.unref(Al))]),_:1}),y[1]||(y[1]=o.createTextVNode("预览 ",-1))]),_:1},8,["disabled"])])):o.createCommentVNode("",!0),o.createElementVNode("div",eu,[o.createVNode(v,{modelValue:r.value,"onUpdate:modelValue":y[0]||(y[0]=P=>r.value=P),type:"textarea",autosize:{minRows:1,maxRows:6},resize:"none",placeholder:e.placeholder,onKeydown:o.withKeys(d,["enter"])},null,8,["modelValue","placeholder"]),o.createElementVNode("div",tu,[o.createVNode(Q,{content:"上传文件",placement:"top"},{default:o.withCtx(()=>[o.createVNode(k,{text:"",circle:"",onClick:c},{default:o.withCtx(()=>[o.createVNode(b,null,{default:o.withCtx(()=>[o.createVNode(o.unref(zs))]),_:1})]),_:1})]),_:1}),o.createElementVNode("input",{ref_key:"fileInputRef",ref:l,type:"file",multiple:"",hidden:"",onChange:p},null,544),o.createVNode(Q,{content:"Enter 发送,Shift+Enter 换行",placement:"top"},{default:o.withCtx(()=>[o.createVNode(k,{class:"chat-input__send",type:"primary",icon:o.unref(Xr),loading:e.loading,disabled:!a.value,circle:"",onClick:w},null,8,["icon","loading","disabled"])]),_:1})])])])}}}),Qi=It(nu,[["__scopeId","data-v-e7db63f0"]]),ou={class:"form-tip"},ru={class:"temp-row"},iu={class:"temp-val"},su=o.defineComponent({__name:"ChatSettings",props:{modelValue:{type:Boolean},settings:{},deviceId:{}},emits:["update:modelValue","save"],setup(e,{emit:t}){const n=e,i=t,r=co(),s=o.ref(n.modelValue);o.watch(()=>n.modelValue,h=>{s.value=h,h&&(l.value=St(n.settings))}),o.watch(s,h=>i("update:modelValue",h));const l=o.ref(St(n.settings)),a=o.computed(()=>it(l.value.providerId)??r[0]),c=o.computed(()=>{const h=l.value.providers[l.value.providerId];if(h)return h;const p=Ft(a.value);return l.value.providers[l.value.providerId]=p,p});function A(h){if(!(!h||h===l.value.providerId)){if(!l.value.providers[h]){const p=it(h);p&&(l.value.providers[h]=Ft(p))}l.value.providerId=h}}function f(){if(l.value.providerMode==="direct"){if(!c.value.apiKey){ut.ElMessage.warning("请填写 API Key");return}if(!c.value.baseUrl){ut.ElMessage.warning("请填写接口地址");return}}i("save",JSON.parse(JSON.stringify(l.value))),s.value=!1}return(h,p)=>{const C=o.resolveComponent("el-radio"),d=o.resolveComponent("el-radio-group"),w=o.resolveComponent("el-form-item"),I=o.resolveComponent("el-option"),E=o.resolveComponent("el-select"),y=o.resolveComponent("el-input"),b=o.resolveComponent("el-link"),_=o.resolveComponent("el-slider"),k=o.resolveComponent("el-switch"),v=o.resolveComponent("el-form"),Q=o.resolveComponent("el-button"),P=o.resolveComponent("el-dialog");return o.openBlock(),o.createBlock(P,{modelValue:s.value,"onUpdate:modelValue":p[11]||(p[11]=K=>s.value=K),title:"AI 助手设置",width:"520px","append-to-body":""},{footer:o.withCtx(()=>[o.createVNode(Q,{onClick:p[10]||(p[10]=K=>s.value=!1)},{default:o.withCtx(()=>[...p[21]||(p[21]=[o.createTextVNode("取消",-1)])]),_:1}),o.createVNode(Q,{type:"primary",onClick:f},{default:o.withCtx(()=>[...p[22]||(p[22]=[o.createTextVNode("保存",-1)])]),_:1})]),default:o.withCtx(()=>[o.createVNode(v,{model:l.value,"label-width":"110px","label-position":"right"},{default:o.withCtx(()=>[o.createVNode(w,{label:"调用模式"},{default:o.withCtx(()=>[o.createVNode(d,{modelValue:l.value.providerMode,"onUpdate:modelValue":p[0]||(p[0]=K=>l.value.providerMode=K)},{default:o.withCtx(()=>[o.createVNode(C,{value:"direct"},{default:o.withCtx(()=>[...p[12]||(p[12]=[o.createTextVNode("前端直连",-1)])]),_:1}),o.createVNode(C,{value:"proxy"},{default:o.withCtx(()=>[...p[13]||(p[13]=[o.createTextVNode("后端代理",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o.createVNode(w,{label:"模型提供方"},{default:o.withCtx(()=>[o.createVNode(E,{"model-value":l.value.providerId,style:{width:"100%"},"onUpdate:modelValue":A},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(r),K=>(o.openBlock(),o.createBlock(I,{key:K.id,label:K.name,value:K.id},null,8,["label","value"]))),128))]),_:1},8,["model-value"])]),_:1}),l.value.providerMode==="direct"?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createVNode(w,{label:"API Key"},{default:o.withCtx(()=>[o.createVNode(y,{modelValue:c.value.apiKey,"onUpdate:modelValue":p[1]||(p[1]=K=>c.value.apiKey=K),type:"password",placeholder:"xxxxxxxxxxxxxxxx",clearable:""},null,8,["modelValue"]),o.createElementVNode("div",ou,[a.value.apiKeyUrl?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[p[14]||(p[14]=o.createTextVNode(" 在 ",-1)),o.createVNode(b,{type:"primary",href:a.value.apiKeyUrl,target:"_blank"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(a.value.name)+" 开放平台 ",1)]),_:1},8,["href"]),p[15]||(p[15]=o.createTextVNode(" 获取。 ",-1))],64)):o.createCommentVNode("",!0)])]),_:1}),o.createVNode(w,{label:"接口地址"},{default:o.withCtx(()=>[o.createVNode(y,{modelValue:c.value.baseUrl,"onUpdate:modelValue":p[2]||(p[2]=K=>c.value.baseUrl=K),placeholder:a.value.defaultBaseUrl||"https://example.com/v1",clearable:""},null,8,["modelValue","placeholder"])]),_:1})],64)):(o.openBlock(),o.createBlock(w,{key:1,label:"代理地址"},{default:o.withCtx(()=>[o.createVNode(y,{modelValue:l.value.proxyUrl,"onUpdate:modelValue":p[3]||(p[3]=K=>l.value.proxyUrl=K),placeholder:"http://localhost:3001/api/chat",clearable:"",disabled:""},null,8,["modelValue"]),p[16]||(p[16]=o.createElementVNode("div",{class:"form-tip"}," API Key 与上游地址由服务端按当前模型提供方配置。 ",-1))]),_:1})),a.value.models.length>0?(o.openBlock(),o.createBlock(w,{key:2,label:"模型"},{default:o.withCtx(()=>[o.createVNode(E,{modelValue:c.value.model,"onUpdate:modelValue":p[4]||(p[4]=K=>c.value.model=K),style:{width:"100%"},filterable:"","default-first-option":"","allow-create":a.value.allowCustomModel!==!1,placeholder:a.value.models.length?"请选择或输入模型名":"请输入模型名"},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(a.value.models,K=>(o.openBlock(),o.createBlock(I,{key:K.value,label:K.label,value:K.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","allow-create","placeholder"])]),_:1})):o.createCommentVNode("",!0),o.createVNode(w,{label:"温度"},{default:o.withCtx(()=>[o.createElementVNode("div",ru,[o.createVNode(_,{modelValue:c.value.temperature,"onUpdate:modelValue":p[5]||(p[5]=K=>c.value.temperature=K),disabled:c.value.thinking||a.value.capabilities.temperature===!1,min:0,max:2,step:.1,style:{flex:"1"}},null,8,["modelValue","disabled"]),o.createElementVNode("span",iu,o.toDisplayString(Number(c.value.temperature).toFixed(1)),1)]),p[17]||(p[17]=o.createElementVNode("div",{class:"form-tip"},"思考模式开启时温度不生效",-1))]),_:1}),a.value.capabilities.thinking?(o.openBlock(),o.createElementBlock(o.Fragment,{key:3},[o.createVNode(w,{label:"思考模式"},{default:o.withCtx(()=>[o.createVNode(k,{modelValue:c.value.thinking,"onUpdate:modelValue":p[6]||(p[6]=K=>c.value.thinking=K)},null,8,["modelValue"]),p[18]||(p[18]=o.createElementVNode("span",{class:"form-tip-inline"},"开启后模型进行推理/思维链(reasoning),适合复杂任务",-1))]),_:1}),o.createVNode(w,{label:"思考强度"},{default:o.withCtx(()=>[o.createVNode(E,{modelValue:c.value.thinkingEffort,"onUpdate:modelValue":p[7]||(p[7]=K=>c.value.thinkingEffort=K),disabled:!c.value.thinking,style:{width:"100%"}},{default:o.withCtx(()=>[o.createVNode(I,{label:"低",value:"low"}),o.createVNode(I,{label:"高",value:"high"}),o.createVNode(I,{label:"最高",value:"max"})]),_:1},8,["modelValue","disabled"])]),_:1})],64)):o.createCommentVNode("",!0),o.createVNode(w,{label:"md表格点击"},{default:o.withCtx(()=>[o.createVNode(k,{modelValue:l.value.mdTableClick,"onUpdate:modelValue":p[8]||(p[8]=K=>l.value.mdTableClick=K)},null,8,["modelValue"]),p[19]||(p[19]=o.createElementVNode("span",{class:"form-tip-inline"},'开启后点击回复中的 md 表格行会向助手发送"我选择 X"',-1))]),_:1}),o.createVNode(w,{label:"md列表点击"},{default:o.withCtx(()=>[o.createVNode(k,{modelValue:l.value.mdListClick,"onUpdate:modelValue":p[9]||(p[9]=K=>l.value.mdListClick=K)},null,8,["modelValue"]),p[20]||(p[20]=o.createElementVNode("span",{class:"form-tip-inline"},"开启后点击回复中的列表项会把该项内容作为指令发送",-1))]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),Ki=It(su,[["__scopeId","data-v-6282664f"]]),lu={class:"session-drawer"},au={key:0,class:"session-drawer__loading"},cu={key:2,class:"session-list"},Au=["onClick"],uu={class:"session-item__body"},du=["title"],fu={class:"session-item__meta"},hu={key:0},pu=["onClick"],mu=o.defineComponent({__name:"SessionDrawer",props:{modelValue:{type:Boolean},sessions:{},currentId:{default:""},loading:{type:Boolean,default:!1}},emits:["update:modelValue","create","select","remove"],setup(e,{emit:t}){const n=t;function i(l){n("update:modelValue",l)}function r(l){return String(l).padStart(2,"0")}function s(l){if(!l)return"";const a=new Date(l),c=new Date;if(a.getFullYear()===c.getFullYear()&&a.getMonth()===c.getMonth()&&a.getDate()===c.getDate())return`${r(a.getHours())}:${r(a.getMinutes())}`;const f=new Date(c);return f.setDate(c.getDate()-1),a.getFullYear()===f.getFullYear()&&a.getMonth()===f.getMonth()&&a.getDate()===f.getDate()?"昨天":a.getFullYear()===c.getFullYear()?`${r(a.getMonth()+1)}-${r(a.getDate())}`:`${a.getFullYear()}-${r(a.getMonth()+1)}-${r(a.getDate())}`}return(l,a)=>{const c=o.resolveComponent("el-button"),A=o.resolveComponent("el-empty"),f=o.resolveComponent("el-icon"),h=o.resolveComponent("el-tooltip"),p=o.resolveComponent("el-drawer");return o.openBlock(),o.createBlock(p,{"model-value":e.modelValue,title:"历史对话",direction:"rtl",size:"320px","append-to-body":"","onUpdate:modelValue":i},{default:o.withCtx(()=>[o.createElementVNode("div",lu,[o.createVNode(c,{class:"session-drawer__new",type:"primary",plain:"",icon:o.unref(jr),onClick:a[0]||(a[0]=C=>n("create"))},{default:o.withCtx(()=>[...a[1]||(a[1]=[o.createTextVNode(" 新对话 ",-1)])]),_:1},8,["icon"]),e.loading?(o.openBlock(),o.createElementBlock("div",au,"加载中…")):e.sessions.length?(o.openBlock(),o.createElementBlock("div",cu,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.sessions,C=>(o.openBlock(),o.createElementBlock("div",{key:C.id,class:o.normalizeClass(["session-item",{"is-active":C.id===e.currentId}]),onClick:d=>n("select",C.id)},[o.createElementVNode("div",uu,[o.createElementVNode("div",{class:"session-item__title",title:C.title},o.toDisplayString(C.title||"新对话"),9,du),o.createElementVNode("div",fu,[o.createElementVNode("span",null,o.toDisplayString(s(C.updatedAt)),1),C.messageCount?(o.openBlock(),o.createElementBlock("span",hu,o.toDisplayString(C.messageCount)+" 条消息",1)):o.createCommentVNode("",!0)])]),o.createVNode(h,{content:"删除该会话",placement:"left","show-after":300},{default:o.withCtx(()=>[o.createElementVNode("button",{class:"session-item__del",type:"button",onClick:o.withModifiers(d=>n("remove",C.id),["stop"])},[o.createVNode(f,null,{default:o.withCtx(()=>[o.createVNode(o.unref(Pr))]),_:1})],8,pu)]),_:2},1024)],10,Au))),128))])):(o.openBlock(),o.createBlock(A,{key:1,description:"暂无历史对话","image-size":70}))])]),_:1},8,["model-value"])}}}),gu=It(mu,[["__scopeId","data-v-42d4ed19"]]),Cr="ai-selection-send",_r=8,xn=8,Cu=o.defineComponent({__name:"SelectionSend",props:{container:{},disabled:{type:Boolean,default:!1}},emits:["send"],setup(e,{expose:t,emit:n}){const i=e,r=n,s=o.ref(!1),l=o.ref({left:0,top:0}),a=o.ref(null);let c="";function A(){const k=window.getSelection();return!k||k.isCollapsed||k.rangeCount===0?"":k.toString().replace(/\u00a0/g," ").trim()}function f(k){const v=i.container;return!k||!v?!1:v===k||v.contains(k)}function h(){s.value=!1,c=""}function p(k){const v=a.value,Q=(v==null?void 0:v.offsetWidth)||92,P=(v==null?void 0:v.offsetHeight)||30;let K=k.left+k.width/2-Q/2,se=k.top-P-_r;se<xn&&(se=k.bottom+_r);const S=Math.max(xn,window.innerWidth-Q-xn);K=Math.min(Math.max(xn,K),S),l.value={left:K,top:se}}function C(){const k=window.getSelection();if(!k||k.isCollapsed||k.rangeCount===0||!f(k.anchorNode)||!f(k.focusNode))return h();const v=A();if(!v)return h();const Q=k.getRangeAt(0).getBoundingClientRect();if(!Q||Q.width===0&&Q.height===0)return h();c=v,s.value=!0,o.nextTick(()=>p(Q))}function d(k){var Q;const v=k.target;(Q=v==null?void 0:v.closest)!=null&&Q.call(v,`.${Cr}`)||window.setTimeout(C,0)}function w(){C()}function I(){s.value&&(A()||h())}function E(k){var Q;const v=k.target;(Q=v==null?void 0:v.closest)!=null&&Q.call(v,`.${Cr}`)||h()}function y(){h()}function b(){h()}function _(){var v;if(i.disabled)return;const k=c||A();if(!k){h();return}r("send",k),h(),(v=window.getSelection())==null||v.removeAllRanges()}return o.onMounted(()=>{document.addEventListener("mouseup",d),document.addEventListener("touchend",d,{passive:!0}),document.addEventListener("keyup",w),document.addEventListener("selectionchange",I),document.addEventListener("mousedown",E),window.addEventListener("scroll",y,!0),window.addEventListener("resize",b)}),o.onBeforeUnmount(()=>{document.removeEventListener("mouseup",d),document.removeEventListener("touchend",d),document.removeEventListener("keyup",w),document.removeEventListener("selectionchange",I),document.removeEventListener("mousedown",E),window.removeEventListener("scroll",y,!0),window.removeEventListener("resize",b)}),t({hide:h}),(k,v)=>{const Q=o.resolveComponent("el-icon");return o.openBlock(),o.createBlock(o.Teleport,{to:"body"},[o.createVNode(o.Transition,{name:"sel-send-fade"},{default:o.withCtx(()=>[s.value?(o.openBlock(),o.createElementBlock("button",{key:0,ref_key:"btnRef",ref:a,type:"button",class:o.normalizeClass(["ai-selection-send",{"is-disabled":e.disabled}]),style:o.normalizeStyle({left:`${l.value.left}px`,top:`${l.value.top}px`}),onMousedown:v[0]||(v[0]=o.withModifiers(()=>{},["prevent"])),onClick:_},[o.createVNode(Q,{class:"ai-selection-send__icon"},{default:o.withCtx(()=>[o.createVNode(o.unref(Xr))]),_:1}),v[1]||(v[1]=o.createElementVNode("span",null,"发送",-1))],38)):o.createCommentVNode("",!0)]),_:1})])}}}),Gi=It(Cu,[["__scopeId","data-v-a4fae753"]]),_u={class:"chat-panel-root"},ku={class:"ai-fab__label"},yu={class:"chat-panel__title"},Eu={class:"chat-panel__ops"},Iu={class:"chat-panel__scroll-wrap"},bu={key:0,class:"chat-empty"},Du={class:"chat-empty__logo"},wu={key:0,class:"chat-empty__commands"},Bu={class:"chat-panel__nav-count"},vu=["disabled"],Fu=["disabled"],xu={key:0,class:"chat-panel__error"},Su={class:"chat-panel__footer"},Nu={key:0,class:"chat-panel__stop"},Ru=o.defineComponent({__name:"ChatPanel",props:{chat:{},options:{},showFab:{type:Boolean,default:!0}},setup(e){const t=e,n={get_current_time:{label:"现在几点",text:"现在几点了?"},calculate_expression:{label:"帮我计算",text:"帮我计算 (1+2)*3"},generate_uuid:{label:"生成 UUID",text:"帮我生成一个 UUID"},get_client_info:{label:"客户端信息",text:"获取我的客户端信息"}};function i(N){const T=N??{toolPackages:[]};let me;return T.suggestedCommands!==void 0?me=T.suggestedCommands:T.builtInTools===!1?me=[]:Array.isArray(T.builtInTools)?me=T.builtInTools.map(ne=>n[ne]).filter(Boolean):me=Object.values(n),{...T,toolPackages:T.toolPackages??[],suggestedCommands:me}}const r=t.chat?null:Zr(i(t.options)),s=t.chat??r,{messages:l,settings:a,loading:c,errorMsg:A,hasApiKey:f,visible:h,toolPackages:p,sendMessage:C,stopGeneration:d,clearMessages:w,saveSettings:I,deviceId:E,suggestedCommands:y}=s,b=o.ref(!1),_=o.ref(!1),k=o.ref(!1),v=o.computed(()=>{var N;return((N=s.sessions)==null?void 0:N.value)??[]}),Q=o.computed(()=>{var N;return((N=s.currentSessionId)==null?void 0:N.value)??""}),P=o.computed(()=>{var N;return((N=s.sessionsLoading)==null?void 0:N.value)??!1});function K(){var N;_.value=!1,(N=s.newSession)==null||N.call(s)}function se(N){var T;_.value=!1,(T=s.switchSession)==null||T.call(s,N)}function S(N){ut.ElMessageBox.confirm("确定删除该会话记录吗?删除后不可恢复。","提示",{type:"warning",confirmButtonText:"删除",cancelButtonText:"取消"}).then(()=>{var T;return(T=s.deleteSession)==null?void 0:T.call(s,N)}).catch(()=>{})}const M=o.ref(null),W=o.ref(null),H=o.ref(null),q=o.ref(null),Be=o.computed(()=>{var N;return((N=s.syncError)==null?void 0:N.value)??""}),be=o.computed(()=>A.value||Be.value),{pos:R,startDrag:ee,consumeMoved:z}=Ro({onDragStart:()=>{X.value=!0}}),X=o.ref(!1),{pos:U,startDrag:he}=Ro({disabled:()=>k.value}),te=o.computed(()=>R.value?{left:`${R.value.x}px`,top:`${R.value.y}px`,right:"auto",bottom:"auto"}:{}),Te=o.computed(()=>k.value||!U.value?{}:{left:`${U.value.x}px`,top:`${U.value.y}px`,right:"auto",bottom:"auto"});function Oe(N){H.value&&ee(N,H.value)}function Nt(){z()||Rt()}function Pt(N){N.target.closest(".chat-panel__ops")||q.value&&he(N,q.value)}function Rt(){h.value=!h.value}function zt(){_.value=!1,h.value=!1}function bt(){k.value=!k.value}function oe(){o.nextTick(()=>{requestAnimationFrame(()=>{const N=M.value;N&&N.scrollTo({top:N.scrollHeight,behavior:"smooth"})})})}const pe=o.computed(()=>l.value.map((N,T)=>N.role==="user"?T:-1).filter(N=>N>=0)),j=o.ref(0),Ye=o.ref(!1);let le=null,Ue=!1,$e=0;function Je(N){var me,ne,Ce;const T=(ne=M.value)==null?void 0:ne.querySelector(`[data-msg-id="${(me=l.value[N])==null?void 0:me.id}"]`);T&&((Ce=M.value)==null||Ce.scrollTo({top:Math.max(0,T.offsetTop-12),behavior:"smooth"}),Tt(T))}function Tt(N){N.classList.add("is-locate"),le&&clearTimeout(le),le=setTimeout(()=>{N.classList.remove("is-locate")},1200)}function qe(N){if(!pe.value.length)return;const T=Math.min(Math.max(j.value+N,0),pe.value.length-1);j.value=T,Ye.value=!0,Je(pe.value[T])}function dt(){j.value=pe.value.length?pe.value.length-1:0,Ye.value=!1,oe()}function Me(N,T){Ye.value=!1,j.value=pe.value.length?pe.value.length-1:0,C(N,T),oe()}function Ze(N){I(N)}function Ge(){ut.ElMessageBox.confirm("确定要清空所有对话记录吗?","提示",{type:"warning",confirmButtonText:"清空",cancelButtonText:"取消"}).then(()=>{w()}).catch(()=>{})}function Pe(N){if(!pe.value.length)return;const T=N.getBoundingClientRect(),me=T.top+T.height/2;let ne=0,Ce=1/0;pe.value.forEach((_e,ve)=>{var ze;const at=N.querySelector(`[data-msg-id="${(ze=l.value[_e])==null?void 0:ze.id}"]`);if(!at)return;const ct=Math.abs(at.getBoundingClientRect().top-me);ct<Ce&&(Ce=ct,ne=ve)}),j.value=ne}function ft(){const N=M.value;N&&($e&&cancelAnimationFrame($e),$e=requestAnimationFrame(()=>{Pe(N);const T=N.scrollHeight-N.scrollTop-N.clientHeight<60;Ye.value=!T}))}return o.onMounted(()=>{var N;(N=M.value)==null||N.addEventListener("scroll",ft,{passive:!0})}),o.onBeforeUnmount(()=>{var N;(N=M.value)==null||N.removeEventListener("scroll",ft),$e&&cancelAnimationFrame($e)}),o.watch(h,N=>{var T;N&&!Ue&&(Ue=!0,l.value.length&&dt()),N||(T=W.value)==null||T.hide()}),o.watch(()=>l.value.map(N=>{var T;return N.content+N.status+(((T=N.renderBlocks)==null?void 0:T.length)||0)}).join("|"),()=>{Ye.value||(j.value=pe.value.length?pe.value.length-1:0,oe())}),(N,T)=>{const me=o.resolveComponent("ChatDotRound"),ne=o.resolveComponent("el-icon"),Ce=o.resolveComponent("el-tag"),_e=o.resolveComponent("el-button"),ve=o.resolveComponent("el-tooltip"),at=o.resolveComponent("SemiSelect"),ct=o.resolveComponent("el-alert");return o.openBlock(),o.createElementBlock("div",_u,[e.showFab?(o.openBlock(),o.createElementBlock("div",{key:0,ref_key:"fabRef",ref:H,class:o.normalizeClass(["ai-fab",{"ai-fab--active":o.unref(h),"ai-fab--dragged":X.value}]),style:o.normalizeStyle(te.value),onPointerdown:Oe,onClick:Nt},[o.createElementVNode("span",ku,o.toDisplayString(o.unref(h)?"收起":"AI 助手"),1)],38)):o.createCommentVNode("",!0),o.createVNode(o.Transition,{name:"panel"},{default:o.withCtx(()=>{var ze;return[o.withDirectives(o.createElementVNode("div",{ref_key:"panelRef",ref:q,class:o.normalizeClass(["chat-panel",{"chat-panel--fullscreen":k.value}]),style:o.normalizeStyle(Te.value)},[o.createElementVNode("div",{class:"chat-panel__header",onPointerdown:Pt},[o.createElementVNode("div",yu,[o.createVNode(ne,{class:"title-icon"},{default:o.withCtx(()=>[o.createVNode(me)]),_:1}),T[9]||(T[9]=o.createElementVNode("span",null,"AI 智能助手",-1)),o.unref(f)?(o.openBlock(),o.createBlock(Ce,{key:0,size:"small",type:"success",effect:"plain"},{default:o.withCtx(()=>[...T[7]||(T[7]=[o.createTextVNode("已配置",-1)])]),_:1})):(o.openBlock(),o.createBlock(Ce,{key:1,size:"small",type:"warning",effect:"plain"},{default:o.withCtx(()=>[...T[8]||(T[8]=[o.createTextVNode("未配置",-1)])]),_:1}))]),o.createElementVNode("div",Eu,[o.createVNode(ve,{content:"新对话",placement:"bottom"},{default:o.withCtx(()=>[o.createVNode(_e,{type:"success",text:"",circle:"",onClick:K},{default:o.withCtx(()=>[o.createVNode(ne,null,{default:o.withCtx(()=>[o.createVNode(o.unref(jr))]),_:1})]),_:1})]),_:1}),o.createVNode(ve,{content:"历史对话",placement:"bottom"},{default:o.withCtx(()=>[o.createVNode(_e,{type:"primary",text:"",circle:"",onClick:T[0]||(T[0]=ue=>_.value=!0)},{default:o.withCtx(()=>[o.createVNode(ne,null,{default:o.withCtx(()=>[o.createVNode(o.unref(Ms))]),_:1})]),_:1})]),_:1}),o.createVNode(ve,{content:"清空对话",placement:"bottom"},{default:o.withCtx(()=>[o.createVNode(_e,{type:"danger",text:"",circle:"",disabled:!o.unref(l).length,onClick:Ge},{default:o.withCtx(()=>[o.createVNode(ne,null,{default:o.withCtx(()=>[o.createVNode(o.unref(Pr))]),_:1})]),_:1},8,["disabled"])]),_:1}),o.createVNode(ve,{content:"设置",placement:"bottom"},{default:o.withCtx(()=>[o.createVNode(_e,{text:"",circle:"",onClick:T[1]||(T[1]=ue=>b.value=!0)},{default:o.withCtx(()=>[o.createVNode(ne,null,{default:o.withCtx(()=>[o.createVNode(o.unref(To))]),_:1})]),_:1})]),_:1}),o.createVNode(ve,{content:k.value?"退出全屏":"全屏",placement:"bottom"},{default:o.withCtx(()=>[o.createVNode(_e,{text:"",circle:"",onClick:bt},{default:o.withCtx(()=>[k.value?(o.openBlock(),o.createBlock(ne,{key:1},{default:o.withCtx(()=>[o.createVNode(at)]),_:1})):(o.openBlock(),o.createBlock(ne,{key:0},{default:o.withCtx(()=>[o.createVNode(o.unref(Ls))]),_:1}))]),_:1})]),_:1},8,["content"]),o.createVNode(ve,{content:"关闭",placement:"bottom"},{default:o.withCtx(()=>[o.createVNode(_e,{text:"",circle:"",onClick:zt},{default:o.withCtx(()=>[o.createVNode(ne,null,{default:o.withCtx(()=>[o.createVNode(o.unref(Ks))]),_:1})]),_:1})]),_:1})])],32),o.createElementVNode("div",Iu,[o.createElementVNode("div",{ref_key:"scrollRef",ref:M,class:"chat-panel__body"},[o.unref(l).length?(o.openBlock(!0),o.createElementBlock(o.Fragment,{key:1},o.renderList(o.unref(l),ue=>(o.openBlock(),o.createBlock(Mi,{key:ue.id,message:ue,"tool-packages":o.unref(p),"md-table-click":o.unref(a).mdTableClick,"md-list-click":o.unref(a).mdListClick,"data-msg-id":ue.id,onExecute:Me},null,8,["message","tool-packages","md-table-click","md-list-click","data-msg-id"]))),128)):(o.openBlock(),o.createElementBlock("div",bu,[o.createElementVNode("div",Du,[o.createVNode(ne,null,{default:o.withCtx(()=>[o.createVNode(me)]),_:1})]),T[11]||(T[11]=o.createElementVNode("h3",null,"你好,我是系统 AI 助手",-1)),T[12]||(T[12]=o.createElementVNode("p",{class:"chat-empty__desc"},[o.createTextVNode(" 我可以帮你"),o.createElementVNode("span",{class:"hl"},"查询数据"),o.createTextVNode("、"),o.createElementVNode("span",{class:"hl"},"执行操作"),o.createTextVNode("。试试输入指令: ")],-1)),(ze=o.unref(y))!=null&&ze.length?(o.openBlock(),o.createElementBlock("div",wu,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(y),ue=>(o.openBlock(),o.createBlock(_e,{key:ue.text,size:"small",type:"primary",round:"",plain:"",onClick:et=>Me(ue.text)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(ue.label),1)]),_:2},1032,["onClick"]))),128))])):o.createCommentVNode("",!0),o.unref(f)?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(_e,{key:1,type:"primary",icon:o.unref(To),onClick:T[2]||(T[2]=ue=>b.value=!0)},{default:o.withCtx(()=>[...T[10]||(T[10]=[o.createTextVNode(" 先配置 API Key ",-1)])]),_:1},8,["icon"]))]))],512),o.createVNode(o.Transition,{name:"fade"},{default:o.withCtx(()=>[pe.value.length?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(["chat-panel__nav",{"is-suppressed-scroll":Ye.value}])},[o.createElementVNode("div",Bu,o.toDisplayString(j.value+1)+"/"+o.toDisplayString(pe.value.length),1),o.createVNode(ve,{content:"上一个用户消息",placement:"left","show-after":300},{default:o.withCtx(()=>[o.createElementVNode("button",{class:"chat-panel__nav-btn",disabled:j.value<=0,type:"button",onClick:T[3]||(T[3]=ue=>qe(-1))},[o.createVNode(ne,null,{default:o.withCtx(()=>[o.createVNode(o.unref(rl))]),_:1})],8,vu)]),_:1}),o.createVNode(ve,{content:"下一个用户消息",placement:"left","show-after":300},{default:o.withCtx(()=>[o.createElementVNode("button",{class:"chat-panel__nav-btn",disabled:j.value>=pe.value.length-1,type:"button",onClick:T[4]||(T[4]=ue=>qe(1))},[o.createVNode(ne,null,{default:o.withCtx(()=>[o.createVNode(o.unref(Bs))]),_:1})],8,Fu)]),_:1}),o.createVNode(ve,{content:"最新消息",placement:"left","show-after":300},{default:o.withCtx(()=>[o.createElementVNode("button",{class:"chat-panel__nav-btn",type:"button",onClick:dt},[o.createVNode(ne,null,{default:o.withCtx(()=>[o.createVNode(o.unref(el))]),_:1})])]),_:1})],2)):o.createCommentVNode("",!0)]),_:1})]),o.createVNode(o.Transition,{name:"fade"},{default:o.withCtx(()=>[be.value?(o.openBlock(),o.createElementBlock("div",xu,[o.createVNode(ct,{title:be.value,type:"error","show-icon":"",closable:!1},null,8,["title"])])):o.createCommentVNode("",!0)]),_:1}),o.createElementVNode("div",Su,[o.unref(c)?(o.openBlock(),o.createElementBlock("div",Nu,[o.createVNode(_e,{size:"small",icon:o.unref(al),onClick:o.unref(d)},{default:o.withCtx(()=>[...T[13]||(T[13]=[o.createTextVNode("停止生成",-1)])]),_:1},8,["icon","onClick"])])):o.createCommentVNode("",!0),o.createVNode(Qi,{loading:o.unref(c),placeholder:o.unref(f)?"输入指令...":"请先配置 API Key",onSend:Me},null,8,["loading","placeholder"])]),o.createVNode(Ki,{modelValue:b.value,"onUpdate:modelValue":T[5]||(T[5]=ue=>b.value=ue),settings:o.unref(a),"device-id":o.unref(E),onSave:Ze},null,8,["modelValue","settings","device-id"]),o.createVNode(gu,{modelValue:_.value,"onUpdate:modelValue":T[6]||(T[6]=ue=>_.value=ue),sessions:v.value,"current-id":Q.value,loading:P.value,onCreate:K,onSelect:se,onRemove:S},null,8,["modelValue","sessions","current-id","loading"]),o.createVNode(Gi,{ref_key:"selectionSendRef",ref:W,container:M.value,disabled:o.unref(c),onSend:Me},null,8,["container","disabled"])],6),[[o.vShow,o.unref(h)]])]}),_:1})])}}}),Tu=It(Ru,[["__scopeId","data-v-597f8f19"]]);function Mu(e){if(typeof e!="string")return e;try{const t=JSON.parse(e);return t!==null&&(typeof t=="object"||Array.isArray(t))?t:e}catch{return e}}const Qu=Object.freeze(Object.defineProperty({__proto__:null,parseStringToObject:Mu},Symbol.toStringTag,{value:"Module"}));exports.Agent=yr;exports.BUILTIN_TOOL_PACKAGE=sn;exports.ChatInput=Qi;exports.ChatMessageComp=Mi;exports.ChatPanel=Tu;exports.ChatSettingsComp=Ki;exports.DEFAULT_PROVIDER_ID=Lt;exports.DEFAULT_PROVIDER_SETTINGS=je;exports.DEFAULT_SETTINGS=nn;exports.EventBus=uo;exports.MODEL_OPTIONS=Xi;exports.PROVIDER_PRESETS=ao;exports.ParseUtils=Qu;exports.RenderBlockComp=$r;exports.SelectionSend=Gi;exports.SuggestedNext=qr;exports.ToolRegistry=Er;exports.blobFromAttachment=Ti;exports.buildSystemPrompt=Qr;exports.clampText=kr;exports.createAgentBridge=Or;exports.createDeepSeekProvider=bs;exports.createEventBus=ms;exports.createLocalSessionStore=Hr;exports.createOpenAICompatibleProvider=pn;exports.createOpenAIProvider=Ds;exports.createProvider=Rr;exports.createProviderSettings=Ft;exports.createProxyProvider=Sr;exports.createProxySessionStore=Lr;exports.deriveSessionTitle=ho;exports.getDefaultBridge=Yr;exports.getDefaultEventBus=Rn;exports.getProviderPreset=it;exports.isTifFile=Ri;exports.listProviderPresets=co;exports.mergeSettings=eo;exports.normalizeSettings=St;exports.registerProvider=es;exports.registerProviderPreset=Ir;exports.resolveRenderBlock=Gr;exports.runBuiltinToolHandler=Kr;exports.setBridgeBus=Ur;exports.syncLegacySettings=vr;exports.useAgentChat=Zr;exports.usePageAgentBridge=gs;