@acedatacloud/nexior 3.29.1 → 3.29.2

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.
Files changed (52) hide show
  1. package/dist/assets/{Auth-_-WQp1q3.js → Auth-B_Hu6OYf.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-Q_14tRhp.js → BotPlaceholder-B03HTv3u.js} +1 -1
  3. package/dist/assets/{Callback-BVShMHYv.js → Callback-zHE4uQkT.js} +1 -1
  4. package/dist/assets/{Console-D41WbWAh.js → Console-CwxcY54a.js} +1 -1
  5. package/dist/assets/Conversation-Bld8K-XS.js +2 -0
  6. package/dist/assets/{Conversation-C5ZhOzsL.css → Conversation-yC6ivON4.css} +1 -1
  7. package/dist/assets/{CopyToClipboard-D3iJkgPW.js → CopyToClipboard-DNdZ5BOO.js} +1 -1
  8. package/dist/assets/{Detail-B3Aj-A6b.js → Detail-Chk76WiQ.js} +1 -1
  9. package/dist/assets/{EditArray-CQpwr8q7.js → EditArray-PVW2JnWO.js} +1 -1
  10. package/dist/assets/{Extra-C5gGb2CC.js → Extra-DqkVElfO.js} +1 -1
  11. package/dist/assets/{FilePreview-BEvQJmGy.js → FilePreview-B-r1tIlM.js} +1 -1
  12. package/dist/assets/{History-Cyt8eDSR.js → History-CXHJXzpL.js} +1 -1
  13. package/dist/assets/{ImagePreview-DLAWsV8a.js → ImagePreview-DjoZjTV2.js} +1 -1
  14. package/dist/assets/{ImageWrapper-CFS5j4Qw.js → ImageWrapper-Csrksisj.js} +1 -1
  15. package/dist/assets/{Index-DRUES629.js → Index-0wE5hteO.js} +1 -1
  16. package/dist/assets/{Index-HRSMltzG.js → Index-B7B-z1lB.js} +1 -1
  17. package/dist/assets/{Index-4h0RRwpo.js → Index-BDZgCCJO.js} +1 -1
  18. package/dist/assets/{Index-DHDocmGq.js → Index-BE45WNak.js} +1 -1
  19. package/dist/assets/{Index-BERZ0rUo.js → Index-BEbi9Pxh.js} +1 -1
  20. package/dist/assets/{Index-BVTrE5wd.js → Index-BO5YnFzX.js} +1 -1
  21. package/dist/assets/{Index-B2dEclTp.js → Index-BYC32Cjx.js} +1 -1
  22. package/dist/assets/{Index-BWYWjZnQ.js → Index-BcgtPaQs.js} +1 -1
  23. package/dist/assets/{Index-DDJrdxqo.js → Index-CFgsRpa_.js} +1 -1
  24. package/dist/assets/{Index-qQLdg34f.js → Index-CKXBcIx_.js} +1 -1
  25. package/dist/assets/{Index-D0WOoH_A.js → Index-CYvinPts.js} +1 -1
  26. package/dist/assets/{Index-DGsb30k6.js → Index-CcVKaC2W.js} +1 -1
  27. package/dist/assets/{Index-B9IZsl-u.js → Index-DQH5IIR7.js} +1 -1
  28. package/dist/assets/{Index-BztAaOXr.js → Index-DU5GKRqo.js} +1 -1
  29. package/dist/assets/{Index-CDvcS2HK.js → Index-LkT5TZH2.js} +1 -1
  30. package/dist/assets/{Index-DfCMvTWc.js → Index-SeyB2qKa.js} +1 -1
  31. package/dist/assets/{Index-C32j_BIw.js → Index-_3SsZ9x1.js} +1 -1
  32. package/dist/assets/{Index-I9Q6jlp3.js → Index-eMejteZO.js} +1 -1
  33. package/dist/assets/{Invitees-D_rG7bt8.js → Invitees-lykerA7X.js} +1 -1
  34. package/dist/assets/{List-Cz5jEY4h.js → List-C_Q-KZhy.js} +1 -1
  35. package/dist/assets/{List-DYYvU_Pn.js → List-gk_jvs9I.js} +1 -1
  36. package/dist/assets/{List-DPHWL9vR.js → List-opyzdK_M.js} +1 -1
  37. package/dist/assets/{Main-p0wpRtp_.js → Main-K_XlAkwI.js} +1 -1
  38. package/dist/assets/{Navigator-CfTNqzyJ.js → Navigator-B6jvKX-5.js} +1 -1
  39. package/dist/assets/{Navigator-DSvKX01K.css → Navigator-Cu-tL1jQ.css} +1 -1
  40. package/dist/assets/{NoTasks-Bz2Jv73A.js → NoTasks-C1tgtYvy.js} +1 -1
  41. package/dist/assets/{Pagination-gtGtfW67.js → Pagination-BV_4kbcX.js} +1 -1
  42. package/dist/assets/{ScrollList-Blb0qdzi.js → ScrollList-CX-rRhZy.js} +1 -1
  43. package/dist/assets/{Status-Bn-QCLSg.js → Status-DQTzPLwz.js} +1 -1
  44. package/dist/assets/{Subscribe-BztbKrsL.js → Subscribe-BYNSqxE2.js} +1 -1
  45. package/dist/assets/{VideoPlayer-C_w8hgbH.js → VideoPlayer-DeL682jX.js} +1 -1
  46. package/dist/assets/{distribution-CPAq3RBs.js → distribution-xi5yolK-.js} +1 -1
  47. package/dist/assets/{index-gdeid6Tv.js → index-C2dwXG9x.js} +2 -2
  48. package/dist/assets/{order-DXfH-BeE.js → order-CF_iRX2R.js} +1 -1
  49. package/dist/assets/{price-DyzsiiQ8.js → price-wlzJM_Pk.js} +1 -1
  50. package/dist/index.html +1 -1
  51. package/package.json +1 -1
  52. package/dist/assets/Conversation-pePo-af4.js +0 -2
@@ -1 +1 @@
1
- import{c as s,d as c}from"./vendor-element-plus-DMm68DKM.js";import{d as i,R as m,S as t,l as e,al as o,o as p}from"./vendor-vue-Bb02XvLT.js";import{_}from"./index-gdeid6Tv.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-Bf_m-mDd.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";const l=i({name:"LayoutAuth",components:{ElContainer:c,ElMain:s}});function u(f,d,h,v,x,C){const n=o("router-view"),r=o("el-main"),a=o("el-container");return p(),m(a,null,{default:t(()=>[e(r,{class:"h-[100vh]"},{default:t(()=>[e(n)]),_:1})]),_:1})}const M=_(l,[["render",u]]);export{M as default};
1
+ import{c as s,d as c}from"./vendor-element-plus-DMm68DKM.js";import{d as i,R as m,S as t,l as e,al as o,o as p}from"./vendor-vue-Bb02XvLT.js";import{_}from"./index-C2dwXG9x.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-Bf_m-mDd.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";const l=i({name:"LayoutAuth",components:{ElContainer:c,ElMain:s}});function u(f,d,h,v,x,C){const n=o("router-view"),r=o("el-main"),a=o("el-container");return p(),m(a,null,{default:t(()=>[e(r,{class:"h-[100vh]"},{default:t(()=>[e(n)]),_:1})]),_:1})}const M=_(l,[["render",u]]);export{M as default};
@@ -1 +1 @@
1
- import{T as c,G as p}from"./vendor-element-plus-DMm68DKM.js";import{d as r,c as m,ai as i,F as _,al as s,o as d,a as o,l as e,S as n}from"./vendor-vue-Bb02XvLT.js";import{_ as x}from"./index-gdeid6Tv.js";const f=r({name:"BotPlaceholder",components:{ElSkeleton:p,ElSkeletonItem:c}}),k={class:"w-[70px] p-[10px]"},h={class:"flex-1 p-[10px]"};function u(v,w,B,b,$,C){const t=s("el-skeleton-item"),a=s("el-skeleton");return d(),m(_,null,i(3,l=>o("div",{key:l,class:"flex mb-[10px]"},[o("div",k,[e(a,{animated:""},{template:n(()=>[e(t,{variant:"image",class:"w-[50px] h-[50px] rounded-full"})]),_:1})]),o("div",h,[e(a,{animated:""},{template:n(()=>[e(t,{variant:"p",class:"w-[200px] h-[20px] mb-[15px] block"}),e(t,{variant:"p",class:"w-full h-[200px] max-w-[300px] block"})]),_:1})])])),64)}const F=x(f,[["render",u]]);export{F as B};
1
+ import{T as c,G as p}from"./vendor-element-plus-DMm68DKM.js";import{d as r,c as m,ai as i,F as _,al as s,o as d,a as o,l as e,S as n}from"./vendor-vue-Bb02XvLT.js";import{_ as x}from"./index-C2dwXG9x.js";const f=r({name:"BotPlaceholder",components:{ElSkeleton:p,ElSkeletonItem:c}}),k={class:"w-[70px] p-[10px]"},h={class:"flex-1 p-[10px]"};function u(v,w,B,b,$,C){const t=s("el-skeleton-item"),a=s("el-skeleton");return d(),m(_,null,i(3,l=>o("div",{key:l,class:"flex mb-[10px]"},[o("div",k,[e(a,{animated:""},{template:n(()=>[e(t,{variant:"image",class:"w-[50px] h-[50px] rounded-full"})]),_:1})]),o("div",h,[e(a,{animated:""},{template:n(()=>[e(t,{variant:"p",class:"w-[200px] h-[20px] mb-[15px] block"}),e(t,{variant:"p",class:"w-full h-[200px] max-w-[300px] block"})]),_:1})])])),64)}const F=x(f,[["render",u]]);export{F as B};
@@ -1 +1 @@
1
- import{d as t}from"./vendor-vue-Bb02XvLT.js";import{_ as r}from"./index-gdeid6Tv.js";import"./vendor-Bf_m-mDd.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-element-plus-DMm68DKM.js";const e=t({name:"AuthCallback",data(){return{redirect:this.$route.query.redirect?.toString()}},async mounted(){this.redirect?await this.$router.push(this.redirect):await this.$router.push("/")}}),n=r(e,[["__scopeId","data-v-0779b8a8"]]);export{n as default};
1
+ import{d as t}from"./vendor-vue-Bb02XvLT.js";import{_ as r}from"./index-C2dwXG9x.js";import"./vendor-Bf_m-mDd.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-element-plus-DMm68DKM.js";const e=t({name:"AuthCallback",data(){return{redirect:this.$route.query.redirect?.toString()}},async mounted(){this.redirect?await this.$router.push(this.redirect):await this.$router.push("/")}}),n=r(e,[["__scopeId","data-v-0779b8a8"]]);export{n as default};
@@ -1 +1 @@
1
- import{N as h}from"./Navigator-CfTNqzyJ.js";import{R as $,a as v,b as w,c as O,i as g,_ as m}from"./index-gdeid6Tv.js";import{bG as L}from"./vendor-Bf_m-mDd.js";import{d,c as a,a as s,F as N,ai as C,al as i,o as t,V as E,l as r,Z as b,R as k,W as I}from"./vendor-vue-Bb02XvLT.js";import"./vendor-element-plus-DMm68DKM.js";import"./vendor-dayjs-BHF5lY3m.js";import"./EditArray-CQpwr8q7.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-katex-DHBGsivc.js";const S=d({name:"Navigator",components:{FontAwesomeIcon:L},computed:{isOfficial(){return g()},active(){return this.$route.matched[0].path},user(){return this.$store.getters.user},links(){return[{key:"application-list",text:this.$t("console.menu.applicationList"),name:v,icon:"fa-solid fa-cube"},{key:"order-list",text:this.$t("console.menu.orderList"),name:w,icon:"fa-solid fa-store"},{key:"usage-list",text:this.$t("console.menu.usageList"),name:O,icon:"fa-solid fa-rotate-left"}]}},mounted(){},methods:{onHome(){this.$router.push({name:$})},onNavigate(e){e.name?this.$router.push({name:e.name}):e.href&&window.open(e.href,"_blank")}}}),x={class:"side"},R={class:"links"},T=["onClick"],y={class:"icon"},U={class:"text"},A={class:"outer"};function B(e,c,_,p,u,f){const n=i("font-awesome-icon");return t(),a("div",x,[s("div",R,[(t(!0),a(N,null,C(e.links,(o,l)=>(t(),a("a",{key:l,class:E({link:!0,active:e.$route.name===o.name}),onClick:z=>e.onNavigate(o)},[s("span",y,[r(n,{icon:o.icon,class:"text-sm"},null,8,["icon"])]),s("span",U,b(o.text),1),s("span",A,[!o.name&&o.href?(t(),k(n,{key:0,icon:"fa-solid fa-up-right-from-square",class:"text-sm ml-2"})):I("",!0)]),c[0]||(c[0]=s("span",{class:"suffix"},null,-1))],10,T))),128))])])}const V=m(S,[["render",B],["__scopeId","data-v-fe27dc30"]]),D=d({name:"LayoutConsole",components:{SidePanel:V,Navigator:h},data(){return{mobile:window.innerWidth<768}},mounted(){window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})}}),F={class:"console"},P={class:"main"};function W(e,c,_,p,u,f){const n=i("side-panel"),o=i("router-view"),l=i("navigator");return t(),a("div",F,[s("div",P,[r(n,{class:"side"}),r(o,{class:"panel"})]),r(l,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"])])}const Y=m(D,[["render",W],["__scopeId","data-v-b192cbb4"]]);export{Y as default};
1
+ import{N as h}from"./Navigator-B6jvKX-5.js";import{R as $,a as v,b as w,c as O,i as g,_ as m}from"./index-C2dwXG9x.js";import{bG as L}from"./vendor-Bf_m-mDd.js";import{d,c as a,a as s,F as N,ai as C,al as i,o as t,V as E,l as r,Z as b,R as k,W as I}from"./vendor-vue-Bb02XvLT.js";import"./vendor-element-plus-DMm68DKM.js";import"./vendor-dayjs-BHF5lY3m.js";import"./EditArray-PVW2JnWO.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-katex-DHBGsivc.js";const S=d({name:"Navigator",components:{FontAwesomeIcon:L},computed:{isOfficial(){return g()},active(){return this.$route.matched[0].path},user(){return this.$store.getters.user},links(){return[{key:"application-list",text:this.$t("console.menu.applicationList"),name:v,icon:"fa-solid fa-cube"},{key:"order-list",text:this.$t("console.menu.orderList"),name:w,icon:"fa-solid fa-store"},{key:"usage-list",text:this.$t("console.menu.usageList"),name:O,icon:"fa-solid fa-rotate-left"}]}},mounted(){},methods:{onHome(){this.$router.push({name:$})},onNavigate(e){e.name?this.$router.push({name:e.name}):e.href&&window.open(e.href,"_blank")}}}),x={class:"side"},R={class:"links"},T=["onClick"],y={class:"icon"},U={class:"text"},A={class:"outer"};function B(e,c,_,p,u,f){const n=i("font-awesome-icon");return t(),a("div",x,[s("div",R,[(t(!0),a(N,null,C(e.links,(o,l)=>(t(),a("a",{key:l,class:E({link:!0,active:e.$route.name===o.name}),onClick:z=>e.onNavigate(o)},[s("span",y,[r(n,{icon:o.icon,class:"text-sm"},null,8,["icon"])]),s("span",U,b(o.text),1),s("span",A,[!o.name&&o.href?(t(),k(n,{key:0,icon:"fa-solid fa-up-right-from-square",class:"text-sm ml-2"})):I("",!0)]),c[0]||(c[0]=s("span",{class:"suffix"},null,-1))],10,T))),128))])])}const V=m(S,[["render",B],["__scopeId","data-v-fe27dc30"]]),D=d({name:"LayoutConsole",components:{SidePanel:V,Navigator:h},data(){return{mobile:window.innerWidth<768}},mounted(){window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})}}),F={class:"console"},P={class:"main"};function W(e,c,_,p,u,f){const n=i("side-panel"),o=i("router-view"),l=i("navigator");return t(),a("div",F,[s("div",P,[r(n,{class:"side"}),r(o,{class:"panel"})]),r(l,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"])])}const Y=m(D,[["render",W],["__scopeId","data-v-b192cbb4"]]);export{Y as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-highlight-cUQea6Bb.js","assets/vendor-Bf_m-mDd.js","assets/vendor-vue-Bb02XvLT.js","assets/vendor-dayjs-BHF5lY3m.js","assets/vendor-katex-DHBGsivc.js","assets/vendor-katex-CIur2ABi.css","assets/vendor-Cp-P0JlL.css","assets/vendor-highlight-t6bI8mSi.css"])))=>i.map(i=>d[i]);
2
+ import{a as ue}from"./vendor-axios-NIGUFBhG.js";import{d as E,c as u,o,b as me,h as pe,U as V,R as f,al as l,as as te,S as m,l as c,a as h,W as w,Z as v,F as N,ai as L,aj as W,a1 as M,Y as D,V as G,_ as he,at as ge,a2 as fe,P as Q}from"./vendor-vue-Bb02XvLT.js";import{ai as Y,_ as S,ac as _e,aj as A,ak as J,al as se,am as oe,an as P,ao as ve,ap as ye,aq as $e,ar as be,as as we,at as Ce,au as R,av as ne,a5 as ke,aw as H,ax as X,ay as Z,az as x,aA as ee,aB as T,ah as z,aC as Ee,aD as j,aE as Se,aF as Re}from"./index-C2dwXG9x.js";import{a5 as De,bN as ae,bQ as qe,bR as Ie,bG as O}from"./vendor-Bf_m-mDd.js";import"./vendor-katex-DHBGsivc.js";import"./vendor-highlight-cUQea6Bb.js";import{C as Ge}from"./CopyToClipboard-DNdZ5BOO.js";import{n as K,p as ie,i as Ae,o as B,B as Oe,q as Me,r as k,f as re,g as le,h as de,G as Te,E as Ve,N as Ne}from"./vendor-element-plus-DMm68DKM.js";import{F as ce}from"./FilePreview-B-r1tIlM.js";import{I as Le}from"./ImagePreview-DjoZjTV2.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BHF5lY3m.js";const Ue=async e=>{const t=(await De(async()=>{const{default:d}=await import("./vendor-highlight-cUQea6Bb.js");return{default:d}},__vite__mapDeps([0,1,2,3,4,5,6,7]))).default;e.querySelectorAll("pre code").forEach(d=>{const r=d.parentElement;if(!r)return;if(r.dataset.hasCopy==="1"){"highlightElement"in t?t.highlightElement(d):t.highlightBlock(d);return}const i=document.createElement("div");i.className="relative",r.parentNode.insertBefore(i,r),i.appendChild(r),r.classList.add("overflow-auto");const n=document.createElement("button");n.type="button",n.dataset.copyBtn="1",n.className="absolute top-1 right-1 z-10 rounded-md px-2 py-1 text-xs bg-zinc-800 text-white hover:bg-zinc-700 active:scale-95",n.textContent=Y.global.t("common.button.copy").toString(),n.addEventListener("click",()=>{ae(d.innerText);const a=n.textContent;n.textContent=Y.global.t("common.button.copied")?.toString(),setTimeout(()=>n.textContent=a,5e3)}),i.appendChild(n),r.dataset.hasCopy="1","highlightElement"in t?t.highlightElement(d):t.highlightBlock(d)})},Fe=E({name:"AnsweringMark",data(){return{}},computed:{conversationId(){return this.$route.params?.id?.toString()}}}),Pe={class:"mark"};function Be(e,t,s,d,r,i){return o(),u("div",Pe)}const He=S(Fe,[["render",Be]]),je=E({name:"VueMarkdown",props:{source:{type:String,required:!0},options:{type:Object,default:()=>({}),required:!1}},setup(e,{attrs:t}){const s=new qe({...e.options,html:!0}).use(Ie,{delimiters:"all",throwOnError:!1,errorColor:"#cc0000",mathFence:!0}),d=me(()=>{const r=e.source;return s?.render(r).replace(/<think>/g,'<div class="think">').replace(/<\/think>/g,"</div>")});return()=>pe("div",{...t,innerHTML:d.value})}}),ze=E({name:"MarkdownRenderer",directives:{highlight:Ue},components:{VueMarkdown:je},props:{content:{type:String,required:!1,default:""}}});function We(e,t,s,d,r,i){const n=l("vue-markdown"),a=te("highlight");return V((o(),f(n,{source:e.content,class:"markdown-body bg-transparent pt-[3px] text-[inherit]"},null,8,["source"])),[[a]])}const Ke=S(ze,[["render",We],["__scopeId","data-v-de1f7a52"]]),Qe=E({name:"CopyToClipboard",components:{FontAwesomeIcon:O,ElTooltip:K},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["restart"],data(){return{copied:!1}},methods:{onRestart(){this.$emit("restart")}}});function Ye(e,t,s,d,r,i){const n=l("font-awesome-icon"),a=l("el-tooltip");return o(),f(a,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:m(()=>[c(n,{icon:"fa-solid fa-sync",class:"icon-sync",onClick:e.onRestart},null,8,["onClick"])]),_:1},8,["content"])}const Je=S(Qe,[["render",Ye],["__scopeId","data-v-90e169cb"]]),Xe=E({name:"EditMessage",components:{FontAwesomeIcon:O,ElTooltip:K},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:["click"],data(){return{copied:!1}},methods:{onEdit(){this.$emit("click")}}});function Ze(e,t,s,d,r,i){const n=l("font-awesome-icon"),a=l("el-tooltip");return o(),u("span",null,[c(a,{effect:"dark",content:e.$t("common.button.restart"),placement:"bottom"},{default:m(()=>[c(n,{icon:"fa-solid fa-edit",class:"icon icon-edit",onClick:e.onEdit},null,8,["onClick"])]),_:1},8,["content"])])}const xe=S(Xe,[["render",Ze],["__scopeId","data-v-8e947e8f"]]),et=E({name:"Message",components:{EditMessage:xe,CopyToClipboard:Ge,RestartToGenerate:Je,AnsweringMark:He,MarkdownRenderer:Ke,ElAlert:Oe,FilePreview:ce,ElButton:B,ElImage:Ae,ElInput:ie},props:{messages:{type:Array,required:!1,default:()=>[]},message:{type:Object,required:!0},application:{type:Object,required:!0}},emits:["stop","edit","restart"],data(){return{copied:!1,isEditing:!1,questionValue:this.message.content,messageState:R}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},errorText(){if(console.debug("error",this.message.error),!(!this.message.error||!this.message.error?.code)){if(this.message.error?.message)return this.message.error.message;switch(this.message.error?.code){case J:return this.$t("chat.message.errorUsedUp");case Ce:return this.$t("chat.message.errorApiError");case we:return this.$t("chat.message.errorBadRequest");case be:return this.$t("chat.message.errorTimeout");case $e:return this.$t("chat.message.errorBusy");case ye:return this.$t("chat.message.errorContentTooLarge");case ve:return this.$t("chat.message.errorTooManyRequests");case P:return this.$t("chat.message.errorNotApplied");case oe:return;case se:default:return this.$t("chat.message.errorUnknown")}}},showBuyMore(){return this.message.role===A&&this.message.error?.code===J}},watch:{},methods:{startEditing(){this.isEditing=!0,this.questionValue=this.message.content,console.debug("start to get answer",this.message)},cancelEdit(){this.isEditing=!1},onRestart(){this.$emit("restart",this.message)},onEdit(){this.isEditing=!1,this.onSubmit()},onSubmit(){this.$emit("edit",this.message,this.questionValue)},onCopy(){ae(this.message.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)},onBuyMore(){this.$router.push({name:_e,params:{id:this.application?.id}})}}}),tt=["role"],st={class:"author"},ot={key:0,class:"main"},nt={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:"ease-in-out"}},class:"content"},at={key:0,class:"message-content"},it={key:0},rt={key:1,class:"whitespace-pre-wrap break-words w-fit max-w-full py-1"},lt={key:1},dt=["src"],ct={key:2},ut={key:1,class:"whitespace-pre-wrap break-words w-fit max-w-full py-1"},mt={key:1,class:"edits"},pt={class:"flex justify-end"},ht={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:"ease-in-out"}},class:"operations"};function gt(e,t,s,d,r,i){const n=l("el-image"),a=l("markdown-renderer"),$=l("file-preview"),C=l("el-input"),g=l("el-button"),_=l("answering-mark"),p=l("edit-message"),q=l("copy-to-clipboard"),b=l("restart-to-generate"),U=l("el-alert"),I=te("motion");return o(),u("div",{class:G({message:!0,[e.message.role]:!0}),role:e.message.role},[h("div",st,[e.message.role==="assistant"?(o(),f(n,{key:0,src:e.modelGroup?.icon,fit:"cover",class:"avatar"},null,8,["src"])):w("",!0)]),e.errorText?(o(),f(U,{key:1,class:"error",title:e.errorText,type:"error",closable:!1},null,8,["title"])):(o(),u("div",ot,[V((o(),u("div",nt,[e.isEditing?(o(),u("div",mt,[c(C,{modelValue:e.questionValue,"onUpdate:modelValue":t[0]||(t[0]=y=>e.questionValue=y),type:"textarea",class:"mb-2",onKeydown:W(M(e.onEdit,["exact","prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),h("div",pt,[c(g,{round:"",onClick:e.cancelEdit},{default:m(()=>[D(v(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),c(g,{type:"primary",class:"btn-confirm",round:"",onClick:e.onEdit},{default:m(()=>[D(v(e.$t("common.button.confirm")),1)]),_:1},8,["onClick"])])])):(o(),u("div",at,[Array.isArray(e.message.content)?(o(),u("div",lt,[(o(!0),u(N,null,L(e.message.content,(y,F)=>(o(),u("div",{key:F},[y.type==="image_url"?(o(),u("img",{key:0,src:typeof y?.image_url=="string"?y.image_url:y.image_url?.url,fit:"cover",class:"image"},null,8,dt)):w("",!0),y.file_url?(o(),f($,{key:1,name:typeof y?.file_url=="string"?y.file_url:y.file_url?.url,percentage:0,closable:!1,class:"mt-2"},null,8,["name"])):w("",!0),y.type==="text"?(o(),u("div",ct,[e.message.role==="assistant"?(o(),f(a,{key:0,content:y.text},null,8,["content"])):(o(),u("pre",ut,v(y.text?.trim()),1))])):w("",!0)]))),128))])):(o(),u("div",it,[e.message.role==="assistant"?(o(),f(a,{key:0,content:e.message?.content},null,8,["content"])):(o(),u("pre",rt,v(e.message.content),1))]))])),e.message.state===e.messageState.PENDING?(o(),f(_,{key:2})):w("",!0)])),[[I]]),V((o(),u("div",ht,[e.message.role==="user"&&!e.isEditing&&!Array.isArray(e.message.content)?(o(),f(p,{key:0,class:"btn-edit",onClick:e.startEditing},null,8,["onClick"])):w("",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)?(o(),f(q,{key:1,content:e.message.content,class:"btn-copy"},null,8,["content"])):w("",!0),!Array.isArray(e.message.content)&&(e.message.state===e.messageState.FINISHED||e.message.state===e.messageState.FAILED)&&e.message.role==="assistant"&&e.message===e.messages[e.messages.length-1]?(o(),f(b,{key:2,class:"btn-restart",messages:e.messages,onRestart:e.onRestart},null,8,["messages","onRestart"])):w("",!0)])),[[I]])])),e.showBuyMore?(o(),f(g,{key:2,round:"",type:"primary",class:"btn btn-buy",size:"small",onClick:e.onBuyMore},{default:m(()=>[D(v(e.$t("common.button.buyMore")),1)]),_:1},8,["onClick"])):w("",!0)],10,tt)}const ft=S(et,[["render",gt],["__scopeId","data-v-a2be8b8f"]]),_t=E({name:"Composer",components:{FilePreview:ce,ImagePreview:Le,ElTooltip:K,FontAwesomeIcon:O,ElUpload:Me,ElButton:B},props:{answering:{type:Boolean,required:!1,default:!1},references:{type:Array,required:!1,default:()=>[]},question:{type:String,required:!0}},emits:["update:question","update:references","submit","stop"],data(){return{inputHeight:"35px",questionValue:this.question||"",fileList:[],uploadUrl:ke()+"/api/v1/files/"}},computed:{model(){return this.$store.state.chat.model},modelGroup(){return this.$store.state.chat.modelGroup},isFileSupported(){return this.model?.isFileSupported},isImageSupported(){return this.model?.isImageSupported},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},uploading(){return!!this.fileList.find(e=>e.percentage!==void 0&&e.percentage>=0&&e.percentage<100)},extensions(){if(this.isFileSupported===!1&&this.isImageSupported===!0)return".png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic"}},watch:{urls(e){console.debug("File URLs:",e),e.length>0&&this.$emit("update:references",e)},questionValue(e){this.$emit("update:question",e.trim())},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){console.debug("References updated:",e),e.length===0&&(this.fileList=[])},isFileSupported(e,t){t&&!e&&(this.fileList=[])}},methods:{isImageUrl:ne,adjustTextareaHeight(){this.$nextTick(()=>{const e=this.$refs.textarea;e&&(e.style.height="35px",e.style.height=e.scrollHeight+"px")})},onSubmit(){!this.question||this.uploading||this.$emit("submit")},onStop(){this.$emit("stop")},onProgress(e,t){console.debug("File upload progress:",t.name,e.loaded,e.total,t.percentage)},onExceed(){k.warning(this.$t("chat.message.uploadReferencesExceed"))},onError(){k.error(this.$t("chat.message.uploadReferencesError"))}}}),vt={class:"composer"},yt={class:"tools"},$t=["disabled","placeholder"];function bt(e,t,s,d,r,i){const n=l("image-preview"),a=l("file-preview"),$=l("font-awesome-icon"),C=l("el-tooltip"),g=l("el-upload"),_=l("el-button");return o(),u("div",vt,[h("div",yt,[c(g,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=p=>e.fileList=p),class:G({upload:!0,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering}),accept:e.extensions,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering,name:"file",limit:10,multiple:!0,action:e.uploadUrl,"list-type":"picture","on-exceed":e.onExceed,"on-error":e.onError,"on-progress":e.onProgress,headers:e.headers},{file:m(({file:p})=>[e.isImageUrl(p.name)?(o(),f(n,{key:0,url:p.url||p.response?.file_url,name:p.name,percentage:p.percentage,onRemove:q=>e.fileList.splice(e.fileList.indexOf(p),1)},null,8,["url","name","percentage","onRemove"])):(o(),f(a,{key:1,name:p.name,percentage:p.percentage,onRemove:q=>e.fileList.splice(e.fileList.indexOf(p),1)},null,8,["name","percentage","onRemove"]))]),default:m(()=>[c(C,{class:"box-item",effect:"dark",content:e.$t("chat.message.uploadFile"),placement:"bottom"},{default:m(()=>[h("span",{class:G({btn:!0,"btn-upload":!0,disabled:!e.isFileSupported&&!e.isImageSupported||e.answering})},[c($,{icon:"fa-solid fa-plus",class:"icon icon-attachment"})],2)]),_:1},8,["content"])]),_:1},8,["file-list","class","accept","disabled","action","on-exceed","on-error","on-progress","headers"])]),c(_,{disabled:e.answering||!e.questionValue||e.uploading,type:"primary",class:G({btn:!0,"btn-send":!0}),onClick:e.onSubmit},{default:m(()=>[c($,{icon:"fa-solid fa-arrow-up",class:"icon icon-send"})]),_:1},8,["disabled","onClick"]),V(c(_,{disabled:!e.answering,type:"primary",class:G({btn:!0,"btn-stop":!0}),onClick:e.onStop},{default:m(()=>[c($,{icon:"fa-solid fa-stop",class:"icon icon-stop"})]),_:1},8,["disabled","onClick"]),[[he,e.answering]]),V(h("textarea",{ref:"textarea","onUpdate:modelValue":t[1]||(t[1]=p=>e.questionValue=p),disabled:e.answering,class:"input",placeholder:e.$t("chat.message.newMessagePlaceholder"),style:fe({height:e.inputHeight}),onKeydown:t[2]||(t[2]=W(M((...p)=>e.onSubmit&&e.onSubmit(...p),["exact","prevent"]),["enter"])),onInput:t[3]||(t[3]=(...p)=>e.adjustTextareaHeight&&e.adjustTextareaHeight(...p))},null,44,$t),[[ge,e.questionValue]])])}const wt=S(_t,[["render",bt],["__scopeId","data-v-02d367c1"]]),Ct=E({name:"ModelSelector",components:{ElDropdown:de,ElDropdownMenu:le,ElDropdownItem:re,FontAwesomeIcon:O},emits:["update:modelValue","select","model-group-changed","model-changed"],data(){return{options:[H,X,Z,x,ee]}},computed:{model(){return console.log("model",this.$store.state.chat.model),this.$store.state.chat.model},modelGroup(){return this.$route.meta?.modelGroup||H}},watch:{modelGroup(e){console.debug("modelGroup from route changed",e),this.$store.dispatch("chat/setModelGroup",e),this.$store.dispatch("chat/setModel",e.models[0])}},mounted(){console.debug("ModelSelector mounted, checking model group");const t=[H,X,Z,x,ee].find(s=>s.name===this.modelGroup.name);console.debug("Found model group:",t),t&&(this.$store.dispatch("chat/setModelGroup",t),this.$store.dispatch("chat/setModel",t.models[0]))},methods:{onModelGroupChange(e){this.$store.dispatch("chat/setModelGroup",e),this.$emit("model-group-changed",e)},onModelChange(e){this.$store.dispatch("chat/setModel",e),this.$emit("model-changed",e)}}}),kt={class:"selector"},Et={class:"flex justify-center"},St={class:"name"},Rt={class:"angle"},Dt={class:"item"},qt={class:"info"},It={key:0,class:"name"},Gt={key:1,class:"description"};function At(e,t,s,d,r,i){const n=l("font-awesome-icon"),a=l("el-dropdown-item"),$=l("el-dropdown-menu"),C=l("el-dropdown");return o(),u("div",kt,[c(C,{trigger:"click","popper-class":"popper"},{dropdown:m(()=>[e.modelGroup&&e.modelGroup?.models?(o(),f($,{key:0},{default:m(()=>[(o(!0),u(N,null,L(e.modelGroup?.models?.filter(g=>g.enabled),(g,_)=>(o(),f(a,{key:_,onClick:p=>e.onModelChange(g)},{default:m(()=>[h("div",Dt,[h("div",qt,[g?.getDisplayName?(o(),u("p",It,v(g?.getDisplayName()),1)):w("",!0),g?.getDescription?(o(),u("p",Gt,v(g?.getDescription()),1)):w("",!0)])])]),_:2},1032,["onClick"]))),128))]),_:1})):w("",!0)]),default:m(()=>[h("div",Et,[h("span",St,v(e.model?.getDisplayName()),1),h("span",Rt,[c(n,{icon:"fa-solid fa-angle-down"})])])]),_:1})])}const Ot=S(Ct,[["render",At],["__scopeId","data-v-6b1200e4"]]),Mt={},Tt={class:"disclaimer"};function Vt(e,t){return o(),u("p",Tt,v(e.$t("chat.message.howToUse")),1)}const Nt=S(Mt,[["render",Vt],["__scopeId","data-v-d2d980ab"]]),Lt=E({name:"SidePanel",components:{ElInput:ie,ElButton:B,ElDialog:Ve,ElDropdown:de,ElDropdownItem:re,ElDropdownMenu:le,FontAwesomeIcon:O,ElSkeleton:Te},props:{},emits:["change-conversation"],data(){return{renameDialogVisible:!1,deleteDialogVisible:!1,actingConversation:void 0,renameDraft:"",renameSubmitting:!1,deleteSubmitting:!1}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},conversationId(){return console.debug("conversationId in side",this.$route.params?.id),this.$route.params?.id?.toString()},conversations(){let e=this.$store.state.chat.conversations;return console.debug("conversations",e),console.debug("modelGroup",this.modelGroup),e=e?.filter(t=>t?.model&&this.modelGroup?.models?.map(s=>s.name)?.includes(t?.model)),console.debug("filtered conversations",e),e},conversationGroups(){const e=new Date;e.setHours(0,0,0,0);const t=new Date(e);t.setDate(t.getDate()-1);const s=new Date(e);s.setDate(s.getDate()-e.getDay());const d=new Date(s);d.setDate(d.getDate()-7);const r=this.conversations?.reduce((i,n)=>{const a=new Date(n.updated_at*1e3);return a>=e?i.today.push(n):a>=t?i.yesterday.push(n):a>=s?i.thisWeek.push(n):i.earlier.push(n),i},{today:[],yesterday:[],thisWeek:[],earlier:[]});return{...r?.today?.length>0?{today:r?.today?.sort((i,n)=>n.updated_at-i.updated_at)}:{},...r?.yesterday?.length>0?{yesterday:r?.yesterday?.sort((i,n)=>n.updated_at-i.updated_at)}:{},...r?.thisWeek?.length>0?{thisWeek:r?.thisWeek?.sort((i,n)=>n.updated_at-i.updated_at)}:{},...r?.earlier?.length>0?{earlier:r?.earlier?.sort((i,n)=>n.updated_at-i.updated_at)}:{}}},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===z.Request},token(){return this.$store.state.chat?.credential?.token}},watch:{modelGroup(){console.debug("modelGroup changed, refreshing conversations");const e=this.conversations?.[0];this.$emit("change-conversation",e?.id)}},methods:{async onNewConversation(){console.debug("onNewConversation from side panel"),this.$emit("change-conversation",void 0)},onClickConversation(e){console.debug("onClickConversation in side panel",e),this.$emit("change-conversation",e)},getConversationTitle(e){return e?.title||e?.messages?.[e?.messages.length-1]?.content||e?.messages?.[0]?.content||""},onConversationCommand(e,t){e==="rename"?this.openRenameDialog(t):e==="delete"&&this.openDeleteDialog(t)},openRenameDialog(e){this.actingConversation=e,this.renameDraft=(e?.title||"").trim(),this.renameDialogVisible=!0},openDeleteDialog(e){this.actingConversation=e,this.deleteDialogVisible=!0},async onConfirmRename(){const e=this.token,t=this.actingConversation?.id,s=(this.renameDraft||"").trim();if(!e){k.error("Token 不存在,请重新登录");return}if(!t){k.error("会话不存在");return}if(!s){k.warning("请输入名称");return}this.renameSubmitting=!0;try{await T.updateConversation({id:t,title:s},{token:e}),await this.$store.dispatch("chat/getConversations"),this.renameDialogVisible=!1,k.success("已重命名")}catch(d){console.error(d),k.error("重命名失败,请稍后重试")}finally{this.renameSubmitting=!1}},async onConfirmDelete(){const e=this.token,t=this.actingConversation?.id;if(!e){k.error("Token 不存在,请重新登录");return}if(!t){k.error("会话不存在");return}this.deleteSubmitting=!0;try{await T.deleteConversation(t,{token:e}),await this.$store.dispatch("chat/getConversations"),t===this.conversationId&&this.$emit("change-conversation",void 0),this.deleteDialogVisible=!1,k.success("已删除")}catch(s){console.error(s),k.error("删除失败,请稍后重试")}finally{this.deleteSubmitting=!1}}}}),Ut={class:"panel"},Ft={key:1,class:"conversations"},Pt={class:"icons"},Bt={class:"title"},Ht={class:"key"},jt=["onClick"],zt={class:"title"},Wt={class:"operations"};function Kt(e,t,s,d,r,i){const n=l("el-skeleton"),a=l("font-awesome-icon"),$=l("el-dropdown-item"),C=l("el-dropdown-menu"),g=l("el-dropdown"),_=l("el-input"),p=l("el-button"),q=l("el-dialog");return o(),u("div",Ut,[e.loading&&e.conversationGroups===void 0?(o(),f(n,{key:0})):(o(),u("div",Ft,[h("div",{class:"conversation",onClick:t[0]||(t[0]=(...b)=>e.onNewConversation&&e.onNewConversation(...b))},[h("div",Pt,[c(a,{icon:"fa-solid fa-plus",class:"icon"})]),h("div",Bt,v(e.$t("chat.message.startNewChat")),1)]),(o(!0),u(N,null,L(e.conversationGroups,(b,U)=>(o(),u("div",{key:U,class:"group"},[h("div",Ht,v(e.$t(`chat.group.${U}`)),1),(o(!0),u(N,null,L(b,(I,y)=>(o(),u("div",{key:y,class:G({conversation:!0,active:I.id===e.conversationId}),onClick:F=>e.onClickConversation(I.id)},[h("div",zt,v(e.getConversationTitle(I)),1),h("div",Wt,[c(g,{trigger:"click",placement:"bottom-end",teleported:!0,onCommand:F=>e.onConversationCommand(F,I)},{dropdown:m(()=>[c(C,null,{default:m(()=>[c($,{command:"rename",onClick:t[2]||(t[2]=M(()=>{},["stop"]))},{default:m(()=>[c(a,{icon:"fa-solid fa-pen-to-square",class:"mr-2"}),t[9]||(t[9]=D(" 重命名 ",-1))]),_:1,__:[9]}),c($,{command:"delete",onClick:t[3]||(t[3]=M(()=>{},["stop"]))},{default:m(()=>[c(a,{icon:"fa-solid fa-trash",class:"mr-2"}),D(" "+v(e.$t("common.button.delete")),1)]),_:1})]),_:1})]),default:m(()=>[h("span",{class:"more",onClick:t[1]||(t[1]=M(()=>{},["stop"]))},[c(a,{icon:"fa-solid fa-ellipsis"})])]),_:2},1032,["onCommand"])])],10,jt))),128))]))),128))])),c(q,{modelValue:e.renameDialogVisible,"onUpdate:modelValue":t[6]||(t[6]=b=>e.renameDialogVisible=b),width:"420px",title:"重命名","close-on-click-modal":!1},{footer:m(()=>[c(p,{onClick:t[5]||(t[5]=b=>e.renameDialogVisible=!1)},{default:m(()=>[D(v(e.$t("common.button.cancel")),1)]),_:1}),c(p,{type:"primary",loading:e.renameSubmitting,onClick:e.onConfirmRename},{default:m(()=>[D(v(e.$t("common.button.confirm")),1)]),_:1},8,["loading","onClick"])]),default:m(()=>[c(_,{modelValue:e.renameDraft,"onUpdate:modelValue":t[4]||(t[4]=b=>e.renameDraft=b),maxlength:"60","show-word-limit":"",autofocus:"",onKeydown:W(e.onConfirmRename,["enter"])},null,8,["modelValue","onKeydown"])]),_:1},8,["modelValue"]),c(q,{modelValue:e.deleteDialogVisible,"onUpdate:modelValue":t[8]||(t[8]=b=>e.deleteDialogVisible=b),width:"420px",title:e.$t("chat.message.confirmDelete"),"close-on-click-modal":!1},{footer:m(()=>[c(p,{onClick:t[7]||(t[7]=b=>e.deleteDialogVisible=!1)},{default:m(()=>[D(v(e.$t("common.button.cancel")),1)]),_:1}),c(p,{type:"danger",loading:e.deleteSubmitting,onClick:e.onConfirmDelete},{default:m(()=>[D(v(e.$t("common.button.delete")),1)]),_:1},8,["loading","onClick"])]),default:m(()=>[t[10]||(t[10]=h("div",{class:"delete-tip"},"确认删除该会话?删除后不可恢复。",-1))]),_:1,__:[10]},8,["modelValue","title"])])}const Qt=S(Lt,[["render",Kt],["__scopeId","data-v-869fccad"]]),Yt=E({name:"LayoutChat",components:{SidePanel:Qt,ElDrawer:Ne,ElButton:B,FontAwesomeIcon:O},emits:["change-conversation"],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug("onChangeConversation in layout",e),this.$emit("change-conversation",e)}}}),Jt={class:"main flex flex-row flex-1"},Xt={class:"side w-[250px] h-full overflow-y-scroll border-r border-[var(--el-border-color)]"},Zt={class:"chat h-full w-[calc(100%-250px)] pt-[45px] flex-1 flex flex-col relative"};function xt(e,t,s,d,r,i){const n=l("side-panel"),a=l("font-awesome-icon"),$=l("el-button"),C=l("el-drawer");return o(),u("div",Jt,[h("div",Xt,[Q(e.$slots,"side",{},()=>[c(n,{onChangeConversation:e.onChangeConversation},null,8,["onChangeConversation"])],!0)]),h("div",Zt,[Q(e.$slots,"chat",{},void 0,!0)]),c($,{round:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:m(()=>[c(a,{icon:"fa-solid fa-bars"})]),_:1}),c(C,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"290px"},{default:m(()=>[c(n,{onChangeConversation:e.onChangeConversation},null,8,["onChangeConversation"])]),_:1},8,["modelValue"])])}const es=S(Yt,[["render",xt],["__scopeId","data-v-38ff8add"]]),ts=E({name:"ChatConversation",components:{Composer:wt,Disclaimer:Nt,ModelSelector:Ot,Message:ft,Layout:es},data(){return{drawer:!1,question:"",references:[],upload:!1,answering:!1,canceler:void 0,messages:this.$store.state.chat.conversations?.find(e=>e.id===this.$route.params.id?.toString())?.messages||[]}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},model(){return this.$store.state.chat.model},conversationId(){return this.$route.params.id?.toString()},conversation(){return this.$store.state.chat.conversations?.find(e=>e.id===this.conversationId)},service(){return this.$store.state.chat.service},application(){return this.$store.state.chat.application},applications(){return this.$store.state.chat.applications},credential(){return this.$store.state.chat?.credential},needApply(){return this.$store.state.chat.status.getApplications===z.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===z.Request}},watch:{async references(e){console.log("references changed",e)},async modelGroup(e){console.debug("modelGroup changed",e)},async conversationId(e){console.debug("conversationId changed",e)}},async mounted(){await this.onGetService(),await this.onGetApplication(),await this.onGetConversations()},methods:{async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("chat/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("chat/getApplications"),console.debug("end onGetApplication")},async onGetConversations(){console.debug("start onGetConversations"),await this.$store.dispatch("chat/getConversations"),console.debug("end onGetConversations")},async onDraft(e){this.question=e,this.onSubmit()},async onStop(){this.canceler&&(this.canceler.abort(),this.answering=!1)},async onRestart(e){const t=this.messages.findIndex(a=>a===e),s=this.messages[t-1];let d=[];if(t!==-1){if(d=this.messages.slice(0,t-1),this.messages=this.messages.slice(0,t),this.references=[],typeof s.content=="string")this.question=s.content;else if(Array.isArray(s.content))for(let a=0;a<s?.content.length;a++)s.content[a].type==="image_url"&&(typeof s?.content?.[a]?.image_url=="string"?this.references.push(s?.content?.[a]?.image_url):this.references.push(s?.content?.[a]?.image_url?.url)),s.content[a].type==="file_url"&&(typeof s?.content?.[a]?.file_url=="string"?this.references.push(s?.content?.[a]?.file_url):this.references.push(s?.content?.[a]?.file_url?.url)),s.content[a].type==="text"&&(this.question=s.content[a].text)}console.debug("onRestart!",this.question,JSON.stringify(this.references));const r=this.credential?.token,i=this.question.trim();if(!r||!i){console.error("no token or endpoint or question"),this.messages.push({error:{code:P},role:A,state:R.FAILED});return}let n=this.conversationId;T.updateConversation({id:this.conversationId,messages:d},{token:r}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:n,messages:this.messages}),console.debug("finished update conversation",this.messages),console.debug("onRestart",this.question),await this.onRequest()}).catch(a=>{this.handleRequestError(a)})},async onEdit(e,t){const s=this.messages.findIndex(i=>i===e);s!==-1&&(this.messages=this.messages.slice(0,s)),this.question=t;const d=this.credential?.token;if(!d){console.error("no token or endpoint or question"),this.messages.push({error:{code:P},role:A,state:R.FAILED});return}let r=this.conversationId;T.updateConversation({id:this.conversationId,messages:this.messages},{token:d}).then(async()=>{await this.$store.dispatch("chat/setConversation",{id:r,messages:this.messages}),console.debug("finished update conversation",this.messages),this.messages.push({content:this.question,role:j}),console.debug("onEdit",this.question),await this.onRequest()}).catch(i=>{this.handleRequestError(i)})},async onNewConversation(){this.$router.push({params:{id:""}}),this.messages=[],this.question="",this.references=[]},async onRestoreConversation(e){console.debug("onRestoreConversation id",e);const t=this.conversations?.find(i=>i.id===e),s=t?.model;console.debug("conversation model",s);const d=Se.find(i=>i.name===s);console.debug("target model",d);const r=Re.find(i=>i.name===d?.modelGroup);console.debug("target model group",r),this.$store.dispatch("chat/setModelGroup",r),this.$store.dispatch("chat/setModel",d),console.debug("conversation",t),console.debug("conversation messages",this.messages),this.messages=t?.messages||[],this.onScrollDown()},async onChangeConversation(e){console.log("onChangeConversation in conversation",e),await this.onStop(),e?this.onRestoreConversation(e):this.onNewConversation()},async onSubmit(){if(this.references.length>0){let e=[];e.push({type:"text",text:this.question.trim()});for(let t=0;t<this.references.length;t++)ne(this.references[t])?e.push({type:"image_url",image_url:this.references[t]}):e.push({type:"file_url",file_url:this.references[t]});this.messages.push({content:e,role:j})}else this.messages.push({content:this.question.trim(),role:j});console.debug("onSubmit",this.question,this.references),await this.onRequest()},async onRequest(){console.debug("start to get answer",this.messages);const e=this.credential?.token,t=this.question.trim(),s=this.references;if(console.debug("validated",t,s),this.question="",this.references=[],!e||!t){console.error("no token or endpoint or question"),this.messages.push({error:{code:P},role:A,state:R.FAILED});return}let d=this.conversationId;this.messages.push({content:"",role:A,state:R.PENDING}),console.debug("start to get answer",this.messages),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,T.chatConversation({question:t,model:this.model.name,references:s,id:this.conversationId,stateful:!0},{token:e,stream:r=>{console.debug("stream response",r);const i=this.messages[this.messages.length-1];this.messages[this.messages.length-1]={role:A,content:r.answer,state:i?.state!==R.FINISHED?R.ANSWERING:i?.state},d=r?.id},signal:this.canceler.signal}).then(async()=>{console.debug("finished fetch answer",this.messages),this.messages[this.messages.length-1].state=R.FINISHED,console.debug("finished fetch answer",JSON.stringify(this.messages)),await this.$store.dispatch("chat/setConversation",{id:d,messages:this.messages}),this.answering=!1,d&&await this.$router.push({params:{id:d}}),this.onScrollDown(),await this.$store.dispatch("chat/getConversations"),await this.$store.dispatch("chat/getApplications")}).catch(r=>{this.handleRequestError(r)})},async handleRequestError(e){if(console.error("error happened",e),this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].state=R.FAILED),e.name==="AbortError"){console.error("aborted");return}else e instanceof Ee?(console.debug("BaseError",e),this.messages[this.messages.length-1].error={code:e.code,message:e.detail}):ue.isCancel(e)?this.messages[this.messages.length-1].error={code:oe}:this.messages&&this.messages.length>0&&(this.messages[this.messages.length-1].error={code:se});this.answering=!1},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".messages");!e||!this.messages||this.messages.length===0||(e.scrollTop=e?.scrollHeight)},0)}}}),ss={key:0,class:"messages"},os={class:"starter"};function ns(e,t,s,d,r,i){const n=l("model-selector"),a=l("message"),$=l("composer"),C=l("disclaimer"),g=l("layout");return o(),f(g,{onChangeConversation:t[4]||(t[4]=_=>e.onChangeConversation(_))},{chat:m(()=>[c(n,{class:"selector",onModelGroupChanged:t[0]||(t[0]=_=>e.onChangeConversation(void 0))}),h("div",{class:G({dialogue:!0,empty:e.messages.length===0})},[e.messages.length>0?(o(),u("div",ss,[(o(!0),u(N,null,L(e.messages,(_,p)=>(o(),f(a,{key:p,message:_,messages:e.messages,question:e.question,application:e.application,class:"message","onUpdate:question":t[1]||(t[1]=q=>e.question=q),onEdit:e.onEdit,onRestart:e.onRestart},null,8,["message","messages","question","application","onEdit","onRestart"]))),128))])):w("",!0),h("div",os,[c($,{question:e.question,"onUpdate:question":t[2]||(t[2]=_=>e.question=_),answering:e.answering,references:e.references,"onUpdate:references":t[3]||(t[3]=_=>e.references=_),onSubmit:e.onSubmit,onStop:e.onStop},null,8,["question","answering","references","onSubmit","onStop"]),c(C,{class:"disclaimer"})])],2)]),_:1})}const _s=S(ts,[["render",ns],["__scopeId","data-v-8f6d22cf"]]);export{_s as default};
@@ -1 +1 @@
1
- @keyframes blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}.mark{width:2px;height:16px;margin-top:3px;background-color:var(--el-text-color-primary);animation:blink 1s infinite}.markdown-body{--base-size-4: .25rem;--base-size-8: .5rem;--base-size-16: 1rem;--base-size-24: 1.5rem;--base-size-40: 2.5rem;--base-text-weight-normal: 400;--base-text-weight-medium: 500;--base-text-weight-semibold: 600;--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fgColor-accent: Highlight}@media (prefers-color-scheme: dark){.markdown-body,[data-theme=dark]{color-scheme:dark;--focus-outlineColor: #1f6feb;--fgColor-default: #f0f6fc;--fgColor-muted: #9198a1;--fgColor-accent: #4493f8;--fgColor-success: #3fb950;--fgColor-attention: #d29922;--fgColor-danger: #f85149;--fgColor-done: #ab7df8;--bgColor-default: #0d1117;--bgColor-muted: #151b23;--bgColor-neutral-muted: #656c7633;--bgColor-attention-muted: #bb800926;--borderColor-default: #3d444d;--borderColor-muted: #3d444db3;--borderColor-neutral-muted: #3d444db3;--borderColor-accent-emphasis: #1f6feb;--borderColor-success-emphasis: #238636;--borderColor-attention-emphasis: #9e6a03;--borderColor-danger-emphasis: #da3633;--borderColor-done-emphasis: #8957e5;--color-prettylights-syntax-comment: #9198a1;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #f0f6fc;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-brackethighlighter-angle: #9198a1;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #f0f6fc;--color-prettylights-syntax-markup-bold: #f0f6fc;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #f0f6fc;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark: #3d444d}}@media (prefers-color-scheme: light){.markdown-body,[data-theme=light]{color-scheme:light;--focus-outlineColor: #0969da;--fgColor-default: #1f2328;--fgColor-muted: #59636e;--fgColor-accent: #0969da;--fgColor-success: #1a7f37;--fgColor-attention: #9a6700;--fgColor-danger: #d1242f;--fgColor-done: #8250df;--bgColor-default: #ffffff;--bgColor-muted: #f6f8fa;--bgColor-neutral-muted: #818b981f;--bgColor-attention-muted: #fff8c5;--borderColor-default: #d1d9e0;--borderColor-muted: #d1d9e0b3;--borderColor-neutral-muted: #d1d9e0b3;--borderColor-accent-emphasis: #0969da;--borderColor-success-emphasis: #1a7f37;--borderColor-attention-emphasis: #9a6700;--borderColor-danger-emphasis: #cf222e;--borderColor-done-emphasis: #8250df;--color-prettylights-syntax-comment: #59636e;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-prettylights-syntax-entity: #6639ba;--color-prettylights-syntax-storage-modifier-import: #1f2328;--color-prettylights-syntax-entity-tag: #0550ae;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-brackethighlighter-angle: #59636e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #1f2328;--color-prettylights-syntax-markup-bold: #1f2328;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #d1d9e0;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-sublimelinter-gutter-mark: #818b98}}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:var(--fgColor-accent);text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--borderColor-muted);height:.25em;padding:0;margin:var(--base-size-24) 0;background-color:var(--borderColor-default);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::-moz-placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:-moz-max-content;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:var(--base-size-4);font:11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);line-height:10px;color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold, 600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body h3{font-weight:var(--base-text-weight-semibold, 600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold, 600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold, 600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold, 600);font-size:.85em;color:var(--fgColor-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default)}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;appearance:none}.markdown-body .mr-2{margin-right:var(--base-size-8, 8px)!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--borderColor-default)}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--borderColor-default)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--fgColor-default)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);overflow:auto;font-size:85%;line-height:1.45;color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold, 600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default)}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{display:inline-block;padding-left:var(--base-size-16);margin-top:var(--base-size-16)}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body body:has(:modal){padding-right:var(--dialog-scrollgutter)!important}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{font-weight:700;color:var(--color-prettylights-syntax-string-regexp)}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:var(--color-prettylights-syntax-markup-heading)}.markdown-body .pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.markdown-body .pl-mb{font-weight:700;color:var(--color-prettylights-syntax-markup-bold)}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{font-weight:700;color:var(--color-prettylights-syntax-meta-diff-range)}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:var(--base-text-weight-normal, 400);line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal, 400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:var(--base-text-weight-medium, 500);align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}.markdown-body ol[data-v-de1f7a52]{list-style:initial}.markdown-body pre code[data-v-de1f7a52]{color:#fff}.icon-sync[data-v-90e169cb]{margin-left:5px;cursor:pointer;color:inherit}.icon-edit[data-v-8e947e8f]{cursor:pointer;color:inherit}.error[data-v-a2be8b8f]{width:-moz-fit-content;width:fit-content;padding:10px 10px 8px;height:45px;border-radius:15px}.btn-buy[data-v-a2be8b8f]{margin:10px auto;border-radius:20px}.message[data-v-a2be8b8f]{display:flex;flex-direction:row;margin-bottom:15px}.message[role=system][data-v-a2be8b8f],.message.hidden[data-v-a2be8b8f]{display:none}.message .author[data-v-a2be8b8f]{width:50px;padding:10px}.message .author .avatar[data-v-a2be8b8f]{width:30px;height:30px;border-radius:50%;border:1px solid var(--el-border-color)}.message .main[data-v-a2be8b8f]{flex:1;width:calc(100% - 50px);display:flex;flex-direction:column}.message.assistant[data-v-a2be8b8f]{align-items:start}.message.assistant .content[data-v-a2be8b8f]{color:var(--el-text-color-primary)}.message.assistant .btn-buy[data-v-a2be8b8f]{display:inline-block;margin-left:5px}.message.user .main[data-v-a2be8b8f]{align-items:flex-end}.message.user .content[data-v-a2be8b8f]{background-color:var(--el-bg-color-page);color:var(--el-text-color-primary);position:relative;width:-moz-fit-content;width:fit-content;max-width:90%}.message.user .content .edits[data-v-a2be8b8f]{background-color:var(--el-bg-color-page);padding:0;min-width:500px;width:100%;height:100%;font-size:16px}.message.user .content .edits .btn-confirm[data-v-a2be8b8f]{background-color:var(--el-color-black);border-color:var(--el-color-black)}@media (max-width: 767px){.message.user .content .edits[data-v-a2be8b8f]{min-width:350px}}.message .content[data-v-a2be8b8f]{border-radius:15px;padding:8px 15px;width:100%;max-width:800px;margin-bottom:5px}.message .content .image[data-v-a2be8b8f]{max-width:100%;max-height:300px;margin:5px 0;border-radius:10px}.message .content .edit-area[data-v-a2be8b8f]{width:100%;min-height:100px;border-radius:10px;padding:8px;margin-bottom:10px}.message .content .edit-buttons[data-v-a2be8b8f]{display:flex;justify-content:flex-end;gap:10px}.message .operations[data-v-a2be8b8f]{display:flex;gap:10px;margin-left:5px;color:var(--el-text-color-regular)}.message .operations .btn-edit[data-v-a2be8b8f]{visibility:hidden}.message .operations .btn-restart[data-v-a2be8b8f],.message .operations .btn-copy[data-v-a2be8b8f]{font-size:12px}.message:hover .operations .btn-edit[data-v-a2be8b8f]{visibility:visible}.message.user .content .edits textarea{outline:none;box-shadow:none;border-radius:0;font-size:16px;border-color:var(--el-bg-color-page);resize:none;background-color:var(--el-bg-color-page);color:var(--el-text-color-primary)}textarea.input{font-size:14px;min-height:55px;max-height:150px;border:none;background:none;box-shadow:none;resize:none;line-height:25px;width:calc(100% - 80px);font-family:var(--el-font-family);padding-top:6px}textarea.input:focus{outline:none}.composer{position:relative}.composer .input textarea{max-height:100px;border:none;background:none;box-shadow:none;resize:none;line-height:35px}.composer .el-upload-list{position:absolute;bottom:-5px;left:50px;height:50px;width:700px;margin:0;padding:0;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;overflow-x:auto;gap:5px;overflow-y:scroll;flex-wrap:wrap}.composer .el-upload-list .el-upload-list__item{margin:0;width:-moz-fit-content;width:fit-content;height:50px;padding:0;border-radius:10px;position:relative}.composer .el-textarea.is-disabled .el-textarea__inner{background-color:initial}.composer[data-v-02d367c1]{width:100%;max-width:800px;margin:auto;position:relative;border-radius:20px;border:1px solid var(--el-border-color-lighter);padding:5px}.composer .upload[data-v-02d367c1]{display:inline-block}.composer .upload.disabled .btn-upload[data-v-02d367c1]{cursor:not-allowed;pointer-events:none;color:var(--el-text-color-disabled)!important}.composer .upload.disabled .btn-upload .icon-attachment[data-v-02d367c1]{color:var(--el-text-color-disabled)!important}.composer .input[data-v-02d367c1]{border:none;width:calc(100% - 16px);margin-left:8px;margin-top:5px;font-size:16px;margin-bottom:50px}.composer .tools[data-v-02d367c1]{position:absolute;left:15px;bottom:15px;display:flex;flex-direction:row;align-items:flex-start}.composer .tools .btn[data-v-02d367c1]{display:block;margin-right:10px;z-index:100;cursor:pointer;border:1px solid var(--el-border-color-lighter);width:-moz-fit-content;width:fit-content;height:36px;line-height:36px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.composer .tools .btn.btn-upload[data-v-02d367c1]{border-radius:50%;width:36px;text-align:center;color:var(--el-text-color-secondary)}.composer .tools .btn.btn-upload .icon-attachment[data-v-02d367c1]{font-size:16px;color:var(--el-text-color-primary)}.composer .btn-send[data-v-02d367c1],.composer .btn-stop[data-v-02d367c1]{--el-button-bg-color: var(--el-color-black);--el-button-border-color: var(--el-color-black);--el-button-outline-color: var(--el-color-info);--el-button-active-color: var(--el-color-info);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-info);--el-button-hover-bg-color: var(--el-color-info);--el-button-hover-border-color: var(--el-color-info);--el-button-active-bg-color: var(--el-color-info);--el-button-active-border-color: var(--el-color-info);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-info);--el-button-disabled-border-color: var(--el-color-info);position:absolute;bottom:15px;right:15px;border-radius:50%;width:36px;height:36px;line-height:36px;text-align:center;font-size:16px}.selector[data-v-6b1200e4]{cursor:pointer;padding:7px 6px;border-radius:15px;margin-bottom:10px}.selector .name[data-v-6b1200e4]{font-size:16px;font-weight:700;display:inline-block;margin-right:5px}.selector .angle[data-v-6b1200e4]{display:inline-block;width:15px}.icon[data-v-6b1200e4]{display:flex;justify-content:center;align-items:center;margin-right:5px}.icon img[data-v-6b1200e4]{width:18px;height:18px;border-radius:50%}.item[data-v-6b1200e4]{display:flex;flex-direction:row}.item .icon img[data-v-6b1200e4]{width:30px;height:30px;border-radius:50%}.item .info[data-v-6b1200e4]{width:calc(100% - 15px)}.item .info .name[data-v-6b1200e4]{font-size:14px;font-weight:700;color:var(--el-text-color-primary);margin:0}.item .info .description[data-v-6b1200e4]{font-size:12px;color:var(--el-text-color-secondary);margin:0}.disclaimer[data-v-d2d980ab]{font-size:12px;color:var(--el-text-color-secondary)}.panel[data-v-c54ecd1a]{display:flex;flex-direction:column;align-items:flex-end;padding:10px;width:250px;height:100%;border-right:none}.panel .conversations[data-v-c54ecd1a]{width:100%;display:flex;flex-direction:column;align-items:center}.panel .conversations .group[data-v-c54ecd1a]{width:100%;display:flex;flex-direction:column;margin-top:10px}.panel .conversations .group .key[data-v-c54ecd1a]{font-size:12px;font-weight:600;width:100%;line-height:40px;padding-left:10px;color:var(--el-text-color-secondary)}.panel .conversations .conversation[data-v-c54ecd1a]{width:100%;height:40px;display:flex;flex-direction:row;line-height:40px;border-radius:10px;padding:0 10px;color:var(--el-text-color-primary);cursor:pointer}.panel .conversations .conversation.active[data-v-c54ecd1a],.panel .conversations .conversation[data-v-c54ecd1a]:hover{background-color:var(--el-bg-color-page)}.panel .conversations .conversation.active .operations[data-v-c54ecd1a],.panel .conversations .conversation:hover .operations[data-v-c54ecd1a]{display:flex;align-items:center;width:50px;gap:8px}.panel .conversations .conversation.active .operations .icon[data-v-c54ecd1a],.panel .conversations .conversation:hover .operations .icon[data-v-c54ecd1a]{cursor:pointer;font-size:14px}.panel .conversations .conversation .icons[data-v-c54ecd1a]{width:30px;padding-left:10px}.panel .conversations .conversation .icons .icon[data-v-c54ecd1a]{font-size:14px}.panel .conversations .conversation .title[data-v-c54ecd1a]{flex:1;font-size:14px;line-height:40px;overflow:hidden;text-overflow:ellipsis;padding-right:8px;color:var(--el-text-color-primary)}.panel .conversations .conversation .operations[data-v-c54ecd1a]{display:none;color:var(--el-text-color-regular)}.menu[data-v-38ff8add]{display:none}@media (max-width: 767px){.main .side[data-v-38ff8add]{display:none}.main .chat[data-v-38ff8add]{width:100%;padding:50px 15px 0 10px}.main .menu[data-v-38ff8add]{display:block;position:fixed;left:20px;top:50px;z-index:2000}}.selector[data-v-8f6d22cf]{width:-moz-max-content;width:max-content;margin-bottom:10px;position:absolute;left:10px;top:10px;z-index:100}.setting[data-v-8f6d22cf]{position:absolute;top:10px;right:10px;margin-bottom:10px}@media (max-width: 767px){.setting[data-v-8f6d22cf]{display:none}}.dialogue[data-v-8f6d22cf]{display:flex;flex-direction:column;width:100%;height:100%;overflow-y:auto;position:relative}.dialogue .disclaimer[data-v-8f6d22cf]{width:100%;text-align:center;font-size:12px;margin:5px 0}.dialogue.empty[data-v-8f6d22cf]{position:relative}.dialogue.empty .starter[data-v-8f6d22cf]{position:absolute;width:100%;top:50%;left:50%;transform:translate(-50%,-50%)}.dialogue .messages[data-v-8f6d22cf]{padding-top:10px;padding:0 calc(50% - 400px);flex:1;overflow-y:scroll}@media (max-width: 1159px){.dialogue .messages[data-v-8f6d22cf]{width:100%;padding:0 15px}}.dialogue .messages .setting[data-v-8f6d22cf]{display:none}.dialogue .messages .message[data-v-8f6d22cf]{margin-bottom:15px}.dialogue .starter[data-v-8f6d22cf]{height:-moz-fit-content;height:fit-content;overflow:hidden}@media (max-width: 1159px){.dialogue .starter[data-v-8f6d22cf]{width:100%;padding:0 15px}}.bottom[data-v-8f6d22cf]{width:100%}
1
+ @keyframes blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}.mark{width:2px;height:16px;margin-top:3px;background-color:var(--el-text-color-primary);animation:blink 1s infinite}.markdown-body{--base-size-4: .25rem;--base-size-8: .5rem;--base-size-16: 1rem;--base-size-24: 1.5rem;--base-size-40: 2.5rem;--base-text-weight-normal: 400;--base-text-weight-medium: 500;--base-text-weight-semibold: 600;--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fgColor-accent: Highlight}@media (prefers-color-scheme: dark){.markdown-body,[data-theme=dark]{color-scheme:dark;--focus-outlineColor: #1f6feb;--fgColor-default: #f0f6fc;--fgColor-muted: #9198a1;--fgColor-accent: #4493f8;--fgColor-success: #3fb950;--fgColor-attention: #d29922;--fgColor-danger: #f85149;--fgColor-done: #ab7df8;--bgColor-default: #0d1117;--bgColor-muted: #151b23;--bgColor-neutral-muted: #656c7633;--bgColor-attention-muted: #bb800926;--borderColor-default: #3d444d;--borderColor-muted: #3d444db3;--borderColor-neutral-muted: #3d444db3;--borderColor-accent-emphasis: #1f6feb;--borderColor-success-emphasis: #238636;--borderColor-attention-emphasis: #9e6a03;--borderColor-danger-emphasis: #da3633;--borderColor-done-emphasis: #8957e5;--color-prettylights-syntax-comment: #9198a1;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #f0f6fc;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-brackethighlighter-angle: #9198a1;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #f0f6fc;--color-prettylights-syntax-markup-bold: #f0f6fc;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #f0f6fc;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark: #3d444d}}@media (prefers-color-scheme: light){.markdown-body,[data-theme=light]{color-scheme:light;--focus-outlineColor: #0969da;--fgColor-default: #1f2328;--fgColor-muted: #59636e;--fgColor-accent: #0969da;--fgColor-success: #1a7f37;--fgColor-attention: #9a6700;--fgColor-danger: #d1242f;--fgColor-done: #8250df;--bgColor-default: #ffffff;--bgColor-muted: #f6f8fa;--bgColor-neutral-muted: #818b981f;--bgColor-attention-muted: #fff8c5;--borderColor-default: #d1d9e0;--borderColor-muted: #d1d9e0b3;--borderColor-neutral-muted: #d1d9e0b3;--borderColor-accent-emphasis: #0969da;--borderColor-success-emphasis: #1a7f37;--borderColor-attention-emphasis: #9a6700;--borderColor-danger-emphasis: #cf222e;--borderColor-done-emphasis: #8250df;--color-prettylights-syntax-comment: #59636e;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-prettylights-syntax-entity: #6639ba;--color-prettylights-syntax-storage-modifier-import: #1f2328;--color-prettylights-syntax-entity-tag: #0550ae;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-brackethighlighter-angle: #59636e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #1f2328;--color-prettylights-syntax-markup-bold: #1f2328;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #d1d9e0;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-sublimelinter-gutter-mark: #818b98}}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:var(--fgColor-accent);text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--borderColor-muted);height:.25em;padding:0;margin:var(--base-size-24) 0;background-color:var(--borderColor-default);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::-moz-placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:-moz-max-content;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:var(--base-size-4);font:11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);line-height:10px;color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold, 600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body h3{font-weight:var(--base-text-weight-semibold, 600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold, 600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold, 600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold, 600);font-size:.85em;color:var(--fgColor-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default)}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;appearance:none}.markdown-body .mr-2{margin-right:var(--base-size-8, 8px)!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--borderColor-default)}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--borderColor-default)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--fgColor-default)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);overflow:auto;font-size:85%;line-height:1.45;color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold, 600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default)}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{display:inline-block;padding-left:var(--base-size-16);margin-top:var(--base-size-16)}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body body:has(:modal){padding-right:var(--dialog-scrollgutter)!important}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{font-weight:700;color:var(--color-prettylights-syntax-string-regexp)}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:var(--color-prettylights-syntax-markup-heading)}.markdown-body .pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.markdown-body .pl-mb{font-weight:700;color:var(--color-prettylights-syntax-markup-bold)}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{font-weight:700;color:var(--color-prettylights-syntax-meta-diff-range)}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:var(--base-text-weight-normal, 400);line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal, 400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:var(--base-text-weight-medium, 500);align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}.markdown-body ol[data-v-de1f7a52]{list-style:initial}.markdown-body pre code[data-v-de1f7a52]{color:#fff}.icon-sync[data-v-90e169cb]{margin-left:5px;cursor:pointer;color:inherit}.icon-edit[data-v-8e947e8f]{cursor:pointer;color:inherit}.error[data-v-a2be8b8f]{width:-moz-fit-content;width:fit-content;padding:10px 10px 8px;height:45px;border-radius:15px}.btn-buy[data-v-a2be8b8f]{margin:10px auto;border-radius:20px}.message[data-v-a2be8b8f]{display:flex;flex-direction:row;margin-bottom:15px}.message[role=system][data-v-a2be8b8f],.message.hidden[data-v-a2be8b8f]{display:none}.message .author[data-v-a2be8b8f]{width:50px;padding:10px}.message .author .avatar[data-v-a2be8b8f]{width:30px;height:30px;border-radius:50%;border:1px solid var(--el-border-color)}.message .main[data-v-a2be8b8f]{flex:1;width:calc(100% - 50px);display:flex;flex-direction:column}.message.assistant[data-v-a2be8b8f]{align-items:start}.message.assistant .content[data-v-a2be8b8f]{color:var(--el-text-color-primary)}.message.assistant .btn-buy[data-v-a2be8b8f]{display:inline-block;margin-left:5px}.message.user .main[data-v-a2be8b8f]{align-items:flex-end}.message.user .content[data-v-a2be8b8f]{background-color:var(--el-bg-color-page);color:var(--el-text-color-primary);position:relative;width:-moz-fit-content;width:fit-content;max-width:90%}.message.user .content .edits[data-v-a2be8b8f]{background-color:var(--el-bg-color-page);padding:0;min-width:500px;width:100%;height:100%;font-size:16px}.message.user .content .edits .btn-confirm[data-v-a2be8b8f]{background-color:var(--el-color-black);border-color:var(--el-color-black)}@media (max-width: 767px){.message.user .content .edits[data-v-a2be8b8f]{min-width:350px}}.message .content[data-v-a2be8b8f]{border-radius:15px;padding:8px 15px;width:100%;max-width:800px;margin-bottom:5px}.message .content .image[data-v-a2be8b8f]{max-width:100%;max-height:300px;margin:5px 0;border-radius:10px}.message .content .edit-area[data-v-a2be8b8f]{width:100%;min-height:100px;border-radius:10px;padding:8px;margin-bottom:10px}.message .content .edit-buttons[data-v-a2be8b8f]{display:flex;justify-content:flex-end;gap:10px}.message .operations[data-v-a2be8b8f]{display:flex;gap:10px;margin-left:5px;color:var(--el-text-color-regular)}.message .operations .btn-edit[data-v-a2be8b8f]{visibility:hidden}.message .operations .btn-restart[data-v-a2be8b8f],.message .operations .btn-copy[data-v-a2be8b8f]{font-size:12px}.message:hover .operations .btn-edit[data-v-a2be8b8f]{visibility:visible}.message.user .content .edits textarea{outline:none;box-shadow:none;border-radius:0;font-size:16px;border-color:var(--el-bg-color-page);resize:none;background-color:var(--el-bg-color-page);color:var(--el-text-color-primary)}textarea.input{font-size:14px;min-height:55px;max-height:150px;border:none;background:none;box-shadow:none;resize:none;line-height:25px;width:calc(100% - 80px);font-family:var(--el-font-family);padding-top:6px}textarea.input:focus{outline:none}.composer{position:relative}.composer .input textarea{max-height:100px;border:none;background:none;box-shadow:none;resize:none;line-height:35px}.composer .el-upload-list{position:absolute;bottom:-5px;left:50px;height:50px;width:700px;margin:0;padding:0;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;overflow-x:auto;gap:5px;overflow-y:scroll;flex-wrap:wrap}.composer .el-upload-list .el-upload-list__item{margin:0;width:-moz-fit-content;width:fit-content;height:50px;padding:0;border-radius:10px;position:relative}.composer .el-textarea.is-disabled .el-textarea__inner{background-color:initial}.composer[data-v-02d367c1]{width:100%;max-width:800px;margin:auto;position:relative;border-radius:20px;border:1px solid var(--el-border-color-lighter);padding:5px}.composer .upload[data-v-02d367c1]{display:inline-block}.composer .upload.disabled .btn-upload[data-v-02d367c1]{cursor:not-allowed;pointer-events:none;color:var(--el-text-color-disabled)!important}.composer .upload.disabled .btn-upload .icon-attachment[data-v-02d367c1]{color:var(--el-text-color-disabled)!important}.composer .input[data-v-02d367c1]{border:none;width:calc(100% - 16px);margin-left:8px;margin-top:5px;font-size:16px;margin-bottom:50px}.composer .tools[data-v-02d367c1]{position:absolute;left:15px;bottom:15px;display:flex;flex-direction:row;align-items:flex-start}.composer .tools .btn[data-v-02d367c1]{display:block;margin-right:10px;z-index:100;cursor:pointer;border:1px solid var(--el-border-color-lighter);width:-moz-fit-content;width:fit-content;height:36px;line-height:36px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.composer .tools .btn.btn-upload[data-v-02d367c1]{border-radius:50%;width:36px;text-align:center;color:var(--el-text-color-secondary)}.composer .tools .btn.btn-upload .icon-attachment[data-v-02d367c1]{font-size:16px;color:var(--el-text-color-primary)}.composer .btn-send[data-v-02d367c1],.composer .btn-stop[data-v-02d367c1]{--el-button-bg-color: var(--el-color-black);--el-button-border-color: var(--el-color-black);--el-button-outline-color: var(--el-color-info);--el-button-active-color: var(--el-color-info);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-info);--el-button-hover-bg-color: var(--el-color-info);--el-button-hover-border-color: var(--el-color-info);--el-button-active-bg-color: var(--el-color-info);--el-button-active-border-color: var(--el-color-info);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-info);--el-button-disabled-border-color: var(--el-color-info);position:absolute;bottom:15px;right:15px;border-radius:50%;width:36px;height:36px;line-height:36px;text-align:center;font-size:16px}.selector[data-v-6b1200e4]{cursor:pointer;padding:7px 6px;border-radius:15px;margin-bottom:10px}.selector .name[data-v-6b1200e4]{font-size:16px;font-weight:700;display:inline-block;margin-right:5px}.selector .angle[data-v-6b1200e4]{display:inline-block;width:15px}.icon[data-v-6b1200e4]{display:flex;justify-content:center;align-items:center;margin-right:5px}.icon img[data-v-6b1200e4]{width:18px;height:18px;border-radius:50%}.item[data-v-6b1200e4]{display:flex;flex-direction:row}.item .icon img[data-v-6b1200e4]{width:30px;height:30px;border-radius:50%}.item .info[data-v-6b1200e4]{width:calc(100% - 15px)}.item .info .name[data-v-6b1200e4]{font-size:14px;font-weight:700;color:var(--el-text-color-primary);margin:0}.item .info .description[data-v-6b1200e4]{font-size:12px;color:var(--el-text-color-secondary);margin:0}.disclaimer[data-v-d2d980ab]{font-size:12px;color:var(--el-text-color-secondary)}.panel[data-v-869fccad]{display:flex;flex-direction:column;align-items:flex-end;padding:10px;width:250px;height:100%;border-right:none}.panel .conversations[data-v-869fccad]{width:100%;display:flex;flex-direction:column;align-items:center}.panel .conversations .group[data-v-869fccad]{width:100%;display:flex;flex-direction:column;margin-top:10px}.panel .conversations .group .key[data-v-869fccad]{font-size:12px;font-weight:600;width:100%;line-height:40px;padding-left:10px;color:var(--el-text-color-secondary)}.panel .conversations .conversation[data-v-869fccad]{width:100%;height:40px;display:flex;flex-direction:row;line-height:40px;border-radius:10px;padding:0 10px;color:var(--el-text-color-primary);cursor:pointer}.panel .conversations .conversation.active[data-v-869fccad],.panel .conversations .conversation[data-v-869fccad]:hover{background-color:var(--el-bg-color-page)}.panel .conversations .conversation.active .operations[data-v-869fccad],.panel .conversations .conversation:hover .operations[data-v-869fccad]{display:flex}.panel .conversations .conversation .icons[data-v-869fccad]{width:30px;padding-left:10px}.panel .conversations .conversation .icons .icon[data-v-869fccad]{font-size:14px}.panel .conversations .conversation .title[data-v-869fccad]{flex:1;font-size:14px;line-height:40px;overflow:hidden;text-overflow:ellipsis;padding-right:8px;color:var(--el-text-color-primary)}.panel .conversations .conversation .operations[data-v-869fccad]{display:none;align-items:center;justify-content:flex-end}.panel .conversations .conversation .operations .more[data-v-869fccad]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:10px;color:var(--el-text-color-secondary);cursor:pointer}.panel .conversations .conversation .operations .more[data-v-869fccad]:hover{background:var(--el-fill-color-light);color:var(--el-text-color-primary)}.panel .conversations .delete-tip[data-v-869fccad]{color:var(--el-text-color-regular);font-size:14px;line-height:22px}.menu[data-v-38ff8add]{display:none}@media (max-width: 767px){.main .side[data-v-38ff8add]{display:none}.main .chat[data-v-38ff8add]{width:100%;padding:50px 15px 0 10px}.main .menu[data-v-38ff8add]{display:block;position:fixed;left:20px;top:50px;z-index:2000}}.selector[data-v-8f6d22cf]{width:-moz-max-content;width:max-content;margin-bottom:10px;position:absolute;left:10px;top:10px;z-index:100}.setting[data-v-8f6d22cf]{position:absolute;top:10px;right:10px;margin-bottom:10px}@media (max-width: 767px){.setting[data-v-8f6d22cf]{display:none}}.dialogue[data-v-8f6d22cf]{display:flex;flex-direction:column;width:100%;height:100%;overflow-y:auto;position:relative}.dialogue .disclaimer[data-v-8f6d22cf]{width:100%;text-align:center;font-size:12px;margin:5px 0}.dialogue.empty[data-v-8f6d22cf]{position:relative}.dialogue.empty .starter[data-v-8f6d22cf]{position:absolute;width:100%;top:50%;left:50%;transform:translate(-50%,-50%)}.dialogue .messages[data-v-8f6d22cf]{padding-top:10px;padding:0 calc(50% - 400px);flex:1;overflow-y:scroll}@media (max-width: 1159px){.dialogue .messages[data-v-8f6d22cf]{width:100%;padding:0 15px}}.dialogue .messages .setting[data-v-8f6d22cf]{display:none}.dialogue .messages .message[data-v-8f6d22cf]{margin-bottom:15px}.dialogue .starter[data-v-8f6d22cf]{height:-moz-fit-content;height:fit-content;overflow:hidden}@media (max-width: 1159px){.dialogue .starter[data-v-8f6d22cf]{width:100%;padding:0 15px}}.bottom[data-v-8f6d22cf]{width:100%}
@@ -1 +1 @@
1
- import{bG as p,bN as r}from"./vendor-Bf_m-mDd.js";import{n as l}from"./vendor-element-plus-DMm68DKM.js";import{d as m,R as n,S as c,l as s,a1 as d,al as a,o as i}from"./vendor-vue-Bb02XvLT.js";import{_ as f}from"./index-gdeid6Tv.js";const u=m({name:"CopyToClipboard",components:{FontAwesomeIcon:p,ElTooltip:l},props:{content:{type:[String,Number],required:!1,default:""}},data(){return{copied:!1}},methods:{onCopy(){this.content&&(r(this.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3))}}});function _(o,b,C,y,h,k){const e=a("font-awesome-icon"),t=a("el-tooltip");return o.copied?(i(),n(t,{key:1,visible:o.copied,effect:"dark",content:o.$t("common.message.copied"),placement:"bottom"},{default:c(()=>[s(e,{icon:"fa-solid fa-check",class:"icon-check"})]),_:1},8,["visible","content"])):(i(),n(t,{key:0,effect:"dark",content:o.$t("common.button.copy"),placement:"bottom"},{default:c(()=>[s(e,{icon:"fa-regular fa-copy",class:"icon-copy",onClick:d(o.onCopy,["stop"])},null,8,["onClick"])]),_:1},8,["content"]))}const T=f(u,[["render",_],["__scopeId","data-v-cc8e806b"]]);export{T as C};
1
+ import{bG as p,bN as r}from"./vendor-Bf_m-mDd.js";import{n as l}from"./vendor-element-plus-DMm68DKM.js";import{d as m,R as n,S as c,l as s,a1 as d,al as a,o as i}from"./vendor-vue-Bb02XvLT.js";import{_ as f}from"./index-C2dwXG9x.js";const u=m({name:"CopyToClipboard",components:{FontAwesomeIcon:p,ElTooltip:l},props:{content:{type:[String,Number],required:!1,default:""}},data(){return{copied:!1}},methods:{onCopy(){this.content&&(r(this.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3))}}});function _(o,b,C,y,h,k){const e=a("font-awesome-icon"),t=a("el-tooltip");return o.copied?(i(),n(t,{key:1,visible:o.copied,effect:"dark",content:o.$t("common.message.copied"),placement:"bottom"},{default:c(()=>[s(e,{icon:"fa-solid fa-check",class:"icon-check"})]),_:1},8,["visible","content"])):(i(),n(t,{key:0,effect:"dark",content:o.$t("common.button.copy"),placement:"bottom"},{default:c(()=>[s(e,{icon:"fa-regular fa-copy",class:"icon-copy",onClick:d(o.onCopy,["stop"])},null,8,["onClick"])]),_:1},8,["content"]))}const T=f(u,[["render",_],["__scopeId","data-v-cc8e806b"]]);export{T as C};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-Bf_m-mDd.js","assets/vendor-vue-Bb02XvLT.js","assets/vendor-dayjs-BHF5lY3m.js","assets/vendor-katex-DHBGsivc.js","assets/vendor-katex-CIur2ABi.css","assets/vendor-Cp-P0JlL.css"])))=>i.map(i=>d[i]);
2
- import{o as V}from"./order-DXfH-BeE.js";import{_ as M,a6 as me}from"./index-gdeid6Tv.js";import{O as N}from"./order-CB3uOPHS.js";import{ae as ye,a5 as Y,bP as fe}from"./vendor-Bf_m-mDd.js";import{w as ee,x as te,E as x,z as ge,A as we,e as ve,a as se,B as ae,o as ie,r as E,C as be,D as ke,F as Pe,m as Se,G as We,s as $e}from"./vendor-element-plus-DMm68DKM.js";import{d as X,R as g,S as n,l as u,al as f,a as o,W as y,Z as l,o as a,p as Ce,c as p,F as R,ai as T,Y as P,V as H}from"./vendor-vue-Bb02XvLT.js";import{g as Ae}from"./price-DyzsiiQ8.js";import{C as _e}from"./CopyToClipboard-D3iJkgPW.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";function Ee(){const e=navigator.userAgent.toLowerCase();return/iphone|ipad|ipod|android|windows phone/i.test(e)}const Ne=X({name:"PayOrderDialog",components:{ElDialog:x,QrCode:ye,ElRow:te,ElCol:ee},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},2e3)})}}}),Ie={class:"paycode wechat"},Re={class:"help-text block bg-[#00c800] text-white text-[14px] h-[35px] w-[240px] text-center leading-[35px] mt-[10px] mx-auto"};function Ve(e,t,s,i,c,d){const r=f("qr-code"),h=f("el-col"),W=f("el-row"),$=f("el-dialog");return a(),g($,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[u(W,{class:"paycodes py-[30px] w-[500px] mx-auto"},{default:n(()=>[u(h,{span:12},{default:n(()=>[o("div",Ie,[e.modelValue?.pay_url?(a(),g(r,{key:0,value:e.modelValue?.pay_url,size:200,class:"qrcode m-auto w-[200px] h-[200px]",type:"image/png",color:{dark:"#000000",light:"#ffffff"}},null,8,["value"])):y("",!0),o("p",Re,l(e.$t("order.message.wechatPayHelp")),1)])]),_:1}),u(h,{span:12},{default:n(()=>t[0]||(t[0]=[o("div",{class:"help-img"},[o("img",{src:"https://midas.gtimg.cn/enterprise/images/ep_sys_wx_tip.jpg"})],-1)])),_:1,__:[0]})]),_:1})]),_:1},8,["model-value","title"])}const De=M(Ne,[["render",Ve]]),Le=X({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),Te={class:"text-center"};function Be(e,t,s,i,c,d){const r=f("el-dialog");return a(),g(r,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[o("p",Te,l(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const qe=M(Le,[["render",Be],["__scopeId","data-v-fbea8aa1"]]),Oe=X({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),Me={class:"text-center"};function Xe(e,t,s,i,c,d){const r=f("el-dialog");return a(),g(r,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[o("p",Me,l(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const Fe=M(Oe,[["render",Xe]]);async function Ue(e){const{requirements:t,payerAddress:s,signTransaction:i,signAllTransactions:c,fetchLatestBlockhash:d}=e,{PublicKey:r,Transaction:h,ComputeBudgetProgram:W,TransactionInstruction:$}=await Y(async()=>{const{PublicKey:v,Transaction:_,ComputeBudgetProgram:D,TransactionInstruction:pe}=await import("./vendor-Bf_m-mDd.js").then(he=>he.b$);return{PublicKey:v,Transaction:_,ComputeBudgetProgram:D,TransactionInstruction:pe}},__vite__mapDeps([0,1,2,3,4,5])),{Buffer:b}=await Y(async()=>{const{Buffer:v}=await import("./vendor-Bf_m-mDd.js").then(_=>_.i);return{Buffer:v}},__vite__mapDeps([0,1,2,3,4,5])),k=new r("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"),S=new r("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"),C=new r(s),m=new r(String(t.payTo||t.pay_to)),A=new r(String(t.asset)),I=t.extra||{},B=String(I.feePayer||I.fee_payer||"");if(!B)throw new Error("Missing feePayer in Solana payment requirements");if(B===s)throw new Error("Invalid Solana payment: payer wallet must not be the fee payer wallet (switch wallet and try again).");const z=new r(B),j=Number(I.decimals??6),q=Number(I.computeUnitLimit??I.compute_unit_limit??0),w=Number(I.computeUnitPriceMicroLamports??I.compute_unit_price_micro_lamports??I.computeUnitPriceLamports??0),F=BigInt(String(t.maxAmountRequired||t.max_amount_required||"0"));if(F<=0n)throw new Error("Invalid amount");const J=(v,_)=>{const[D]=r.findProgramAddressSync([v.toBuffer(),k.toBuffer(),_.toBuffer()],S);return D},ne=J(C,A),oe=J(m,A),U=new Uint8Array(10);U[0]=12,new DataView(U.buffer).setBigUint64(1,F,!0),U[9]=j;const le=new $({programId:k,keys:[{pubkey:ne,isSigner:!1,isWritable:!0},{pubkey:A,isSigner:!1,isWritable:!1},{pubkey:oe,isSigner:!1,isWritable:!0},{pubkey:C,isSigner:!0,isWritable:!1}],data:b.from(U)}),L=new h;L.feePayer=z,Number.isFinite(q)&&q>0&&L.add(W.setComputeUnitLimit({units:Math.floor(q)})),Number.isFinite(w)&&w>0&&L.add(W.setComputeUnitPrice({microLamports:Math.floor(w)})),L.add(le);const de=String(t.network||"solana").toLowerCase();L.recentBlockhash=await d(de);const G=v=>{if(!v)return"Unknown error";const _=typeof v?.message=="string"?v.message:String(v),D=typeof v?.name=="string"?v.name:"";return D&&D!=="Error"&&!_.startsWith(D)?`${D}: ${_}`:_},K=async()=>{if(!c)return;const v=await c([L]);return Array.isArray(v)?v[0]:void 0};let O;try{i?O=await i(L):O=await K()}catch(v){if(i&&c)try{O=await K()}catch(_){throw new Error(`Solana wallet signing failed: ${G(v)} (fallback failed: ${G(_)})`)}else throw new Error(`Solana wallet signing failed: ${G(v)}`)}if(!O)throw new Error("Solana wallet did not return a signed transaction");const ce=O.serialize({requireAllSignatures:!1,verifySignatures:!1}),Q=b.from(ce).toString("base64"),ue={x402Version:1,scheme:t.scheme||"exact",network:t.network||"solana",payload:{serializedTransaction:Q,transaction:Q}};return btoa(JSON.stringify(ue))}const He=X({name:"X402PayOrderDialog",components:{ElDialog:x,ElButton:ie,ElAlert:ae,ElTag:se,ElIcon:ve,ElRadioGroup:we,ElRadioButton:ge,CreditCard:fe},props:{modelValue:{type:Object,required:!0},session:{type:Object,default:void 0},visible:{type:Boolean,default:!1}},emits:["hide","update:modelValue"],data(){return{signing:!1,paying:!1,chainId:void 0,selectedNetwork:void 0,solanaWalletModalVisible:!1,solanaWalletConnecting:!1,evmWalletModalVisible:!1,evmWalletConnecting:!1,evmWallets:[],selectedEvmWalletId:void 0,evmAddress:void 0,requirementsLoading:!1,runtimeRequirementsByNetwork:{},requirementsAttemptedByNetwork:{}}},computed:{dialogWidth(){return Ee()?"100%":"680px"},acceptsList(){const e=this.session?.accepts;if(Array.isArray(e)&&e.length>0)return e.filter(s=>!!(s&&typeof s=="object"));const t=this.paymentRequirements;return Array.isArray(t)&&t.length>0?t.filter(s=>!!(s&&typeof s=="object")):t&&typeof t=="object"?[t]:[]},selectedNetworkResolved(){return String(this.selectedNetwork||this.acceptsList[0]?.network||"base").toLowerCase()},selectedRequirements(){const e=String(this.selectedNetworkResolved||"").toLowerCase();if(!e)return this.acceptsList[0];const t=this.runtimeRequirementsByNetwork[e];if(t)return t;const s=this.acceptsList.find(i=>String(i.network||"").toLowerCase()===e);if(s)return s;if(!this.selectedNetwork)return this.acceptsList[0]},orderMetadata(){const e=this.modelValue?.metadata;return e&&typeof e=="object"?e:void 0},paymentRequirements(){const e=this.session?.payment_requirements||this.session?.paymentRequirements;if(e&&typeof e=="object")return e;const t=this.orderMetadata?.payment_requirements||this.orderMetadata?.paymentRequirements;if(t&&typeof t=="object")return t},expectedNetwork(){return this.selectedNetworkResolved},expectedNetworkLabel(){return this.formatNetworkLabel(this.expectedNetwork)},isSolanaNetwork(){return!!String(this.selectedNetworkResolved||"").toLowerCase().startsWith("solana")},expectedChainIdHex(){const e={base:"0x2105","base-sepolia":"0x14A34",ethereum:"0x1",sepolia:"0xAA36A7",polygon:"0x89",arbitrum:"0xA4B1",optimism:"0xA",bsc:"0x38",avalanche:"0xA86A"},t=(this.expectedNetwork||"").toLowerCase();return e[t]},networkMismatch(){return this.isSolanaNetwork?!1:!!(this.evmAddress&&this.chainId&&this.expectedChainIdHex&&this.chainId.toLowerCase()!==this.expectedChainIdHex.toLowerCase())},hasEvmProvider(){return this.isSolanaNetwork?!1:this.evmWalletsOrdered.length>0},requirementsAvailable(){return!!this.selectedRequirements},networkOptions(){const e=new Set(this.acceptsList.map(s=>String(s.network||"").toLowerCase()).filter(Boolean));if(e.size===0)return[{network:"base",label:"Base"},{network:"solana",label:"Solana"}];const t=s=>s==="base"?0:s.startsWith("solana")?1:2;return Array.from(e).sort((s,i)=>t(s)-t(i)||s.localeCompare(i)).map(s=>({network:s,label:this.formatNetworkLabel(s)}))},paymentSteps(){const e=this.expectedNetworkLabel||this.expectedNetwork||"";return[String(this.$t("order.message.x402Step1")),String(this.$t("order.message.x402Step2",{network:e})),String(this.$t("order.message.x402Step3")),String(this.$t("order.message.x402Step4"))]},evmConnected(){return!!(this.selectedEvmWalletId&&this.evmAddress)},evmProvider(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.provider},selectedEvmWalletName(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.name},selectedEvmWalletIcon(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.icon},evmWalletsOrdered(){return[...this.evmWallets].sort((e,t)=>e.name.localeCompare(t.name))},solanaConnected(){return!!this.$wallet?.connected?.value},solanaAddress(){const e=this.$wallet?.publicKey?.value;if(!(!e||typeof e.toBase58!="function"))return e.toBase58()},solanaWalletsOrdered(){const e=this.$wallet?.wallets?.value??[],t=s=>s==="Installed"?0:s==="Loadable"?1:s==="NotDetected"?2:3;return[...e].sort((s,i)=>t(s.readyState)-t(i.readyState))},selectedSolanaWalletName(){return this.$wallet?.wallet?.value?.adapter?.name},selectedSolanaWalletIcon(){return this.$wallet?.wallet?.value?.adapter?.icon}},watch:{visible(e){if(!e){this.solanaWalletModalVisible=!1,this.evmWalletModalVisible=!1;return}if(!this.selectedNetwork){const i=this.acceptsList[0]?.network;this.selectedNetwork=String(i||"base").toLowerCase()}const t=new Set(this.networkOptions.map(i=>i.network)),s=String(this.selectedNetwork||"").toLowerCase();if(s&&!t.has(s)){const i=this.networkOptions[0]?.network;i&&(this.selectedNetwork=i)}this.maybeLoadRequirements()},selectedNetwork(){this.visible&&this.maybeLoadRequirements()}},mounted(){this.refreshEvmWallets()},methods:{sleep(e){return new Promise(t=>setTimeout(t,e))},getErrorMessage(e){if(!e)return"";if(typeof e=="string")return e;if(typeof e?.message=="string")return e.message;try{return JSON.stringify(e)}catch{return String(e)}},isRetryableSolanaConnectError(e){if(String(e?.name||"")==="WalletNotSelectedError")return!0;const s=this.getErrorMessage(e).toLowerCase();return s.includes("disconnected port object")||s.includes("failed to send message to service worker")||s.includes("message port closed")||s.includes("extension context invalidated")},async connectSolanaWalletWithRetry(e){const t=this.$wallet;if(!t)throw new Error("Wallet API not available");const s=2;let i;for(let c=1;c<=s;c+=1)try{e&&t.select(e),await Ce(),await t.connect();return}catch(d){if(i=d,c<s&&this.isRetryableSolanaConnectError(d)){const h=String(d?.name||"")==="WalletNotSelectedError"?0:300;h&&await this.sleep(h);continue}throw d}throw i},formatNetworkLabel(e){const t=String(e||"").toLowerCase();return t==="base"?"Base":t==="solana"?"Solana":t==="solana-devnet"?"Solana Devnet":t==="ethereum"?"Ethereum":t==="sepolia"?"Sepolia":t==="polygon"?"Polygon":t==="arbitrum"?"Arbitrum":t==="optimism"?"Optimism":t==="bsc"?"BNB Chain":t==="avalanche"?"Avalanche":e||"Unknown"},async confirmPay(e){const t=e||this.expectedNetworkLabel||this.expectedNetwork||"",s=String(this.$t?.("order.message.x402ConfirmTitle")||"Confirm Payment"),i=String(this.$t?.("order.message.x402ConfirmDesc",{network:t})||`Confirm USDC payment on ${t}?`),c=String(this.$t?.("common.button.pay")||"Pay"),d=String(this.$t?.("common.button.cancel")||"Cancel");return be.confirm(i,s,{confirmButtonText:c,cancelButtonText:d,type:"warning"}).then(()=>!0).catch(()=>!1)},async onSelectSolanaWallet(e){if(!this.solanaWalletConnecting&&e?.adapter?.name){this.solanaWalletConnecting=!0;try{await this.connectSolanaWalletWithRetry(e.adapter.name),this.solanaWalletModalVisible=!1}catch(t){console.warn("wallet connect failed",t),E.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed"))}finally{this.solanaWalletConnecting=!1}}},async disconnectSolanaWallet(){try{await this.$wallet.disconnect()}catch{}},openEvmWalletModal(){this.evmWalletModalVisible=!0,this.refreshEvmWallets()},async refreshEvmWallets(){if(typeof window>"u")return;const e=new Map,t=s=>{const i=s?.detail,c=i?.info,d=i?.provider;if(!c||!d)return;const r=String(c.uuid||c.rdns||c.name||"");r&&(e.has(r)||e.set(r,{id:r,name:String(c.name||"Wallet"),icon:typeof c.icon=="string"?c.icon:void 0,provider:d}))};try{window.addEventListener("eip6963:announceProvider",t),window.dispatchEvent(new Event("eip6963:requestProvider")),await new Promise(s=>window.setTimeout(s,120))}finally{window.removeEventListener("eip6963:announceProvider",t)}if(e.size===0){const s=window.ethereum;(Array.isArray(s?.providers)?s.providers:s?[s]:[]).forEach((c,d)=>{if(!c)return;let r="Injected";c.isMetaMask?r="MetaMask":c.isCoinbaseWallet?r="Coinbase Wallet":c.isBraveWallet?r="Brave Wallet":c.isRabby?r="Rabby":c.isPhantom&&(r="Phantom");const h=`injected:${r}:${d}`;e.set(h,{id:h,name:r,icon:void 0,provider:c})})}this.evmWallets=Array.from(e.values())},async onSelectEvmWallet(e){if(e?.provider){this.evmWalletModalVisible=!1,this.evmWalletConnecting=!0;try{const t=await e.provider.request({method:"eth_requestAccounts"}),s=Array.isArray(t)?t[0]:void 0;if(!s)throw new Error("No account returned from wallet");this.selectedEvmWalletId=e.id,this.evmAddress=s,await this.refreshChainId(),await this.ensureNetwork()}catch(t){console.warn("EVM wallet connect failed",t),E.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed")),this.disconnectEvmWallet()}finally{this.evmWalletConnecting=!1}}},disconnectEvmWallet(){this.selectedEvmWalletId=void 0,this.evmAddress=void 0,this.chainId=void 0},async getFreshRequirements(){const e=this.selectedRequirements;if(e)return e;try{const s=(await V.pay(this.modelValue.id,{pay_way:"X402"}))?.data,i=Array.isArray(s?.accepts)?s.accepts:void 0,c=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(i)&&i.length){const r=i.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:i[0])}const d=s?.payment_requirements;if(Array.isArray(d)&&d.length){const r=d.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:d[0])}return d&&typeof d=="object"?d:void 0}catch(t){const s=t?.response?.data;if(s){const i=Array.isArray(s?.accepts)?s.accepts:void 0,c=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(i)&&i.length){const r=i.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:i[0])}const d=s?.payment_requirements;if(Array.isArray(d)&&d.length){const r=d.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:d[0])}if(d&&typeof d=="object")return d}return}},async maybeLoadRequirements(e=!1){const t=String(this.selectedNetworkResolved||"").toLowerCase();if(!(!t||this.runtimeRequirementsByNetwork[t]||this.acceptsList.some(i=>String(i.network||"").toLowerCase()===t))&&!(!e&&this.requirementsAttemptedByNetwork[t])){this.requirementsAttemptedByNetwork[t]=!0,this.requirementsLoading=!0;try{const i=await this.getFreshRequirements();i&&(this.runtimeRequirementsByNetwork[t]=i)}finally{this.requirementsLoading=!1}}},async refreshChainId(){if(this.evmProvider)try{const e=await this.evmProvider.request({method:"eth_chainId"});typeof e=="string"&&(this.chainId=e)}catch{}},async ensureNetwork(){if(!(!this.evmProvider||!this.expectedChainIdHex)&&(await this.refreshChainId(),!(this.chainId&&this.chainId.toLowerCase()===this.expectedChainIdHex.toLowerCase()))){try{await this.evmProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:this.expectedChainIdHex}]})}catch{try{await this.evmProvider.request({method:"wallet_addEthereumChain",params:[this.getExpectedChainParams()]})}catch(e){console.error("Failed to add Ethereum chain:",e);try{const t=this.$t&&this.$t("order.message.x402NetworkSwitchFailed")||"Your wallet does not support automatic network switching. Please switch to the required network in the wallet and try again.";E.warning(t)}catch{}}}await this.refreshChainId()}},getExpectedChainParams(){const e={base:{chainId:"0x2105",chainName:"Base",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://mainnet.base.org"],blockExplorerUrls:["https://basescan.org"]},"base-sepolia":{chainId:"0x14A34",chainName:"Base Sepolia",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://sepolia.base.org"],blockExplorerUrls:["https://sepolia.basescan.org"]}},t=(this.expectedNetwork||"").toLowerCase();return e[t]||{chainId:this.expectedChainIdHex}},buildTypedData(e,t){const s=e?.extra||{};return{types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],TransferWithAuthorization:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"validAfter",type:"uint256"},{name:"validBefore",type:"uint256"},{name:"nonce",type:"bytes32"}]},primaryType:"TransferWithAuthorization",domain:{name:s?.name||"USD Coin",version:s?.version||"2",chainId:parseInt(this.expectedChainIdHex||"0x0",16),verifyingContract:e.asset},message:t}},randomNonce32(){const e=new Uint8Array(32);return crypto.getRandomValues(e),"0x"+Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")},async onPayWithSolanaWallet(){if(!this.modelValue?.id)return;const e=this.solanaAddress;if(!e){E.error(String(this.$t?.("order.message.x402NeedConnectAccount")||"Please connect a wallet first."));return}if(!this.requirementsAvailable){E.error(String(this.$t?.("order.message.x402SolanaNotEnabled")||"Solana payment is not available."));return}this.signing=!0;try{if(!await this.confirmPay(this.expectedNetworkLabel))return;let s=await this.getFreshRequirements();if(s||(s=this.selectedRequirements),!s){E.error(String(this.$t?.("order.message.x402PaymentFailed")||"X402 payment failed."));return}const i=this.$wallet?.wallet?.value?.adapter;if(!i?.signTransaction&&!i?.signAllTransactions)throw new Error("Wallet does not support signing transactions");const c=await Ue({requirements:s,payerAddress:e,signTransaction:i.signTransaction?i.signTransaction.bind(i):void 0,signAllTransactions:i.signAllTransactions?i.signAllTransactions.bind(i):void 0,fetchLatestBlockhash:r=>this.fetchSolanaLatestBlockhash(r)});this.paying=!0;const{data:d}=await V.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},c);this.$emit("update:modelValue",d),this.$emit("hide")}catch(t){const s=t?.response?.data,i=s?.error||s?.detail||"X402 wallet payment failed.";E.error(String(i))}finally{this.signing=!1,this.paying=!1}},async fetchSolanaLatestBlockhash(e){const{data:t}=await me.get("/x402/solana/latest-blockhash/",{params:{network:e||"solana"}}),s=t?.blockhash;if(!s||typeof s!="string")throw new Error("Invalid blockhash response");return s},async onPayWithWallet(){if(!this.modelValue?.id||!this.evmProvider||!this.evmAddress){const e=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment is not available right now. Please try again later.";E.error(e);return}this.signing=!0;try{let e=await this.getFreshRequirements();if(e||(e=this.selectedRequirements),!e){const S=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.";E.error(S);return}if(await this.ensureNetwork(),this.networkMismatch){E.warning(String(this.$t?.("order.message.x402SwitchNetwork",{network:this.expectedNetworkLabel||this.expectedNetwork})||"Please switch your wallet network and try again."));return}if(!await this.confirmPay(this.expectedNetworkLabel))return;const s=Math.floor(Date.now()/1e3),i=Number(e?.maxTimeoutSeconds||e?.max_timeout_seconds||120),c=BigInt(e?.maxAmountRequired||e?.max_amount_required||0).toString(),d={from:this.evmAddress,to:e.payTo||e.pay_to,value:c,validAfter:s,validBefore:s+i,nonce:this.randomNonce32()},r=this.buildTypedData(e,d),h=await this.evmProvider.request({method:"eth_signTypedData_v4",params:[this.evmAddress,JSON.stringify(r)]}),W={from:d.from,to:d.to,value:d.value,validAfter:String(d.validAfter),validBefore:String(d.validBefore),nonce:d.nonce},$={x402Version:1,scheme:e.scheme||"exact",network:e.network||this.expectedNetwork||"base",payload:{authorization:W,signature:h}},b=btoa(JSON.stringify($));this.paying=!0;const{data:k}=await V.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},b);this.$emit("update:modelValue",k),this.$emit("hide")}catch(e){let t;const s=e?.response?.data;if(s){const i=s?.error||s?.detail;typeof i=="string"&&(t=i)}t||(t=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.");try{E.error(t)}catch{}}finally{this.signing=!1,this.paying=!1}}}}),xe={class:"x402-content"},ze={class:"x402-intro"},je={class:"x402-intro-text"},Ge={class:"x402-wallet"},Je={class:"x402-wallet-head"},Ke={class:"x402-network"},Qe={class:"x402-network-label"},Ye={key:1,class:"x402-requirements-actions"},Ze={class:"x402-wallet-card"},et={class:"x402-wallet-card-head"},tt={key:0,class:"x402-wallet-card-sub x402-wallet-name"},st=["src","alt"],at={key:1,class:"x402-wallet-card-sub"},it={class:"x402-wallet-card-actions"},rt={class:"x402-actions"},nt={class:"x402-wallet-card"},ot={class:"x402-wallet-card-head"},lt={key:0,class:"x402-wallet-card-sub x402-wallet-name"},dt=["src","alt"],ct={key:1,class:"x402-wallet-card-sub"},ut={class:"x402-wallet-card-actions"},pt={class:"x402-actions"},ht={class:"x402-steps"},mt={class:"x402-steps-title"},yt={class:"x402-steps-list"},ft={class:"x402-step-index"},gt={class:"x402-step-text"},wt={class:"wallet-list"},vt=["disabled","onClick"],bt=["src","alt"],kt={class:"wallet-list-name"},Pt={key:1,class:"wallet-list-status"},St={class:"wallet-list"},Wt=["disabled","onClick"],$t=["src","alt"],Ct={class:"wallet-list-name"},At={key:0,class:"text-center text-[13px] text-[var(--el-text-color-regular)]"};function _t(e,t,s,i,c,d){const r=f("credit-card"),h=f("el-icon"),W=f("el-radio-button"),$=f("el-radio-group"),b=f("el-alert"),k=f("el-button"),S=f("el-tag"),C=f("el-dialog");return a(),p(R,null,[u(C,{"model-value":e.visible,title:e.$t("order.title.x402"),width:e.dialogWidth,top:"8vh",class:"x402-dialog"},{default:n(()=>[o("section",xe,[o("header",ze,[u(h,{size:20,class:"x402-intro-icon"},{default:n(()=>[u(r)]),_:1}),o("p",je,l(e.$t("order.message.x402IntroShort")),1)]),o("section",Ge,[o("div",Je,[o("div",Ke,[o("span",Qe,l(e.$t("order.message.x402IntegrationNetworkLabel")),1),u($,{modelValue:e.selectedNetwork,"onUpdate:modelValue":t[0]||(t[0]=m=>e.selectedNetwork=m),size:"small",class:"x402-network-group"},{default:n(()=>[(a(!0),p(R,null,T(e.networkOptions,m=>(a(),g(W,{key:m.network,label:m.network},{default:n(()=>[P(l(m.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])]),e.selectedNetworkResolved==="solana"&&!e.selectedRequirements&&!e.requirementsLoading?(a(),g(b,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402SolanaNotEnabled")},null,8,["description"])):y("",!0),!e.selectedRequirements&&!e.requirementsLoading?(a(),p("div",Ye,[u(k,{link:"",type:"primary",size:"small",onClick:t[1]||(t[1]=m=>e.maybeLoadRequirements(!0))},{default:n(()=>[P(l(e.$t("common.button.refresh")),1)]),_:1})])):y("",!0),e.isSolanaNetwork?(a(),p(R,{key:2},[o("div",Ze,[o("div",et,[t[5]||(t[5]=o("span",{class:"x402-wallet-card-title"},"Solana Wallet",-1)),e.solanaConnected?(a(),g(S,{key:0,class:"x402-wallet-card-tag"},{default:n(()=>[P(l(e.$t("order.message.x402WalletConnected")),1)]),_:1})):y("",!0)]),e.solanaConnected&&e.selectedSolanaWalletName?(a(),p("div",tt,[e.selectedSolanaWalletIcon?(a(),p("img",{key:0,class:"wallet-list-icon",src:e.selectedSolanaWalletIcon,alt:e.selectedSolanaWalletName},null,8,st)):y("",!0),o("span",null,l(e.selectedSolanaWalletName),1)])):y("",!0),e.solanaConnected&&e.solanaAddress?(a(),p("div",at,l(e.solanaAddress.substring(0,10))+"..."+l(e.solanaAddress.substring(e.solanaAddress.length-10)),1)):y("",!0),o("div",it,[e.solanaConnected?(a(),g(k,{key:1,onClick:e.disconnectSolanaWallet},{default:n(()=>[P(l(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),g(k,{key:0,type:"primary",onClick:t[2]||(t[2]=m=>e.solanaWalletModalVisible=!0)},{default:n(()=>[P(l(e.$t("order.message.x402ConnectWallet")),1)]),_:1}))])]),o("div",rt,[u(k,{type:"primary",disabled:!e.solanaConnected||!e.solanaAddress||!e.requirementsAvailable,loading:e.signing||e.paying,onClick:e.onPayWithSolanaWallet},{default:n(()=>[P(l(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])])],64)):(a(),p(R,{key:3},[o("div",nt,[o("div",ot,[t[6]||(t[6]=o("span",{class:"x402-wallet-card-title"},"EVM Wallet",-1)),e.evmConnected?(a(),g(S,{key:0,class:"x402-wallet-card-tag"},{default:n(()=>[P(l(e.$t("order.message.x402WalletConnected")),1)]),_:1})):y("",!0)]),e.evmConnected&&e.selectedEvmWalletName?(a(),p("div",lt,[e.selectedEvmWalletIcon?(a(),p("img",{key:0,class:"wallet-list-icon",src:e.selectedEvmWalletIcon,alt:e.selectedEvmWalletName},null,8,dt)):y("",!0),o("span",null,l(e.selectedEvmWalletName),1)])):y("",!0),e.evmConnected&&e.evmAddress?(a(),p("div",ct,l(e.evmAddress.substring(0,10))+"..."+l(e.evmAddress.substring(e.evmAddress.length-10)),1)):y("",!0),o("div",ut,[e.evmConnected?(a(),g(k,{key:1,onClick:e.disconnectEvmWallet},{default:n(()=>[P(l(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),g(k,{key:0,type:"primary",onClick:e.openEvmWalletModal},{default:n(()=>[P(l(e.$t("order.message.x402ConnectWallet")),1)]),_:1},8,["onClick"]))])]),e.hasEvmProvider?e.networkMismatch?(a(),g(b,{key:1,type:"warning",closable:!1,"show-icon":"",class:"x402-alert",title:e.$t("order.message.x402SwitchNetwork",{network:e.expectedNetworkLabel||e.expectedNetwork})},null,8,["title"])):y("",!0):(a(),g(b,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402NoWalletDesc")},null,8,["description"])),o("div",pt,[e.hasEvmProvider?(a(),g(k,{key:0,type:"primary",disabled:!e.evmConnected||!e.requirementsAvailable||e.networkMismatch,loading:e.signing||e.paying,onClick:e.onPayWithWallet},{default:n(()=>[P(l(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])):y("",!0)])],64)),o("div",ht,[o("div",mt,l(e.$t("order.message.x402StepsTitle")),1),o("ol",yt,[(a(!0),p(R,null,T(e.paymentSteps,(m,A)=>(a(),p("li",{key:A,class:"x402-step"},[o("span",ft,l(A+1),1),o("span",gt,l(m),1)]))),128))])])])])]),_:1},8,["model-value","title","width"]),u(C,{modelValue:e.solanaWalletModalVisible,"onUpdate:modelValue":t[3]||(t[3]=m=>e.solanaWalletModalVisible=m),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:n(()=>[o("div",wt,[(a(!0),p(R,null,T(e.solanaWalletsOrdered,m=>(a(),p("button",{key:m.adapter.name,class:"wallet-list-item",disabled:e.solanaWalletConnecting,onClick:A=>e.onSelectSolanaWallet(m)},[m.adapter.icon?(a(),p("img",{key:0,class:"wallet-list-icon",src:m.adapter.icon,alt:m.adapter.name},null,8,bt)):y("",!0),o("span",kt,l(m.adapter.name),1),m.readyState==="Installed"?(a(),p("span",Pt,"Detected")):y("",!0)],8,vt))),128))])]),_:1},8,["modelValue","title"]),u(C,{modelValue:e.evmWalletModalVisible,"onUpdate:modelValue":t[4]||(t[4]=m=>e.evmWalletModalVisible=m),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:n(()=>[o("div",St,[(a(!0),p(R,null,T(e.evmWalletsOrdered,m=>(a(),p("button",{key:m.id,class:"wallet-list-item",disabled:e.evmWalletConnecting,onClick:A=>e.onSelectEvmWallet(m)},[m.icon?(a(),p("img",{key:0,class:"wallet-list-icon",src:m.icon,alt:m.name},null,8,$t)):y("",!0),o("span",Ct,l(m.name),1),t[7]||(t[7]=o("span",{class:"wallet-list-status"},"Detected",-1))],8,Wt))),128)),e.evmWalletsOrdered.length===0?(a(),p("div",At,l(e.$t("order.message.x402NoWalletDesc")),1)):y("",!0)])]),_:1},8,["modelValue","title"])],64)}const Et=M(He,[["render",_t],["__scopeId","data-v-13c47121"]]),Nt=7e3,Z=2e3;var re=(e=>(e.WechatPay="WechatPay",e.Stripe="Stripe",e.AliPay="AliPay",e.X402="X402",e))(re||{});const It=X({name:"ConsoleOrderDetail",components:{ElButton:ie,CopyToClipboard:_e,ElRow:te,ElCard:$e,ElCol:ee,ElSkeleton:We,ElDivider:Se,ElAlert:ae,ElDescriptions:Pe,ElDescriptionsItem:ke,ElTag:se,WechatPayOrder:De,StripePayOrder:qe,AlipayPayOrder:Fe,X402PayOrder:Et},data(){return{PayWay:re,payWay:"WechatPay",OrderState:N,order:void 0,x402Session:void 0,showPayWays:!0,loading:!1,paying:!1,prepaying:!1}},computed:{config(){return this.$store.getters.config},id(){return this.$route.params?.id?.toString()},redirect(){return this.$route.query?.redirect},pricingInfo(){const e=this.order?.metadata?.pricing||{},t=S=>typeof S=="number"&&Number.isFinite(S)?S:void 0,s=t(e?.original_price),i=t(e?.discounted_price),c=t(e?.discount_rate),d=t(e?.discount_rate_vip),r=t(e?.discount_rate_x402),h=t(this.order?.price),W=s??h??0,$=i??h??W,b=t(this.order?.discount)??c??0,k=Array.isArray(e?.discounted_methods)?e.discounted_methods.filter(S=>typeof S=="string"&&S.length>0):[];return{original:W,discounted:$,discountRate:b,discountedMethods:k,discountRateVip:d,discountRateX402:r}},appliedDiscountMethods(){return this.pricingInfo.discountedMethods||[]},hasVipApplied(){return this.appliedDiscountMethods.includes("vip")},hasX402Applied(){return this.appliedDiscountMethods.includes("x402")},pendingX402Preview(){return this.payWay==="X402"&&this.order?.pay_way!=="X402"&&this.x402DiscountRate>0},finalOriginalPrice(){return this.pricingInfo.original||0},baseEffectivePrice(){const e=this.order?.price;return typeof e=="number"&&Number.isFinite(e)?e:this.pricingInfo.discounted},previewX402Price(){const e=this.baseEffectivePrice||0,t=this.x402DiscountRate;return!t||t<=0?e:e*(1-t)},finalDiscountedPrice(){return this.pendingX402Preview?this.previewX402Price:this.baseEffectivePrice},showOriginalPrice(){return this.finalOriginalPrice<=0?!1:this.finalOriginalPrice>this.finalDiscountedPrice},totalDiscountRate(){const e=this.pricingInfo.discountRate??0;return this.pendingX402Preview?1-(1-e)*(1-this.x402DiscountRate):e},hasAnyDiscount(){return this.totalDiscountRate>0},discountBadges(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push({key:"vip",text:this.$t("order.message.discountTag",{percent:this.vipDiscountPercent}).toString(),type:"success"}),this.shouldDisplayX402Badge&&this.x402BadgePercent&&e.push({key:"x402",text:this.$t("order.message.x402DiscountTag",{percent:this.x402BadgePercent}).toString(),type:"success"}),e},discountHints(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push(this.$t("order.message.discountHint",{percent:this.vipDiscountPercent}).toString()),this.hasX402Applied&&this.x402AppliedPercent?e.push(this.$t("order.message.x402DiscountApplied",{percent:this.x402AppliedPercent}).toString()):this.pendingX402Preview&&this.x402BadgePercent&&e.push(this.$t("order.message.x402DiscountHint",{percent:this.x402BadgePercent}).toString()),e},x402DiscountRate(){const e=this.config?.features?.DISCOUNT_FOR_X402;return typeof e=="number"&&Number.isFinite(e)&&e>0?e:0},vipDiscountPercent(){const e=(this.pricingInfo.discountRateVip??0)*100;return!Number.isFinite(e)||e<=0?"":Number.isInteger(e)?e.toFixed(0):e.toFixed(1)},x402AppliedPercent(){const t=(this.pricingInfo.discountRateX402??0)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},x402BadgePercent(){const t=(this.hasX402Applied?this.pricingInfo.discountRateX402??this.x402DiscountRate:this.x402DiscountRate)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},shouldDisplayX402Badge(){return this.hasX402Applied||this.pendingX402Preview},shouldShowPriceBlock(){return this.finalOriginalPrice>0||this.finalDiscountedPrice>0||this.hasAnyDiscount||this.pendingX402Preview},orderFailedReason(){if(!this.order||this.order.state!==N.FAILED)return;const t=(this.order.metadata||{})?.x402?.last_error||{};return(typeof t.reason=="string"?t.reason.trim():"")||void 0}},watch:{paying(e){e?this.startOrderPolling():this.stopOrderPolling()},order:{handler(e){if(e?.state===N.PAID){this.x402Session=void 0,setTimeout(()=>{this.redirect&&window.location.replace(this.redirect?.toString())},2e3);return}e?.state&&e.state!==N.PENDING&&e.state!==N.FAILED&&(this.x402Session=void 0)},deep:!0},payWay(e){e!=="X402"&&(this.x402Session=void 0)}},created(){this._orderRefreshTimer=void 0},mounted(){this.onFetchData()},beforeUnmount(){this.stopOrderPolling()},methods:{getPriceString:Ae,startOrderPolling(e=0){this.stopOrderPolling();const t=async()=>{try{const{data:s}=await V.refresh(this.id);if(this.order=s,s?.state===N.PAID||s?.state===N.FAILED||s?.state===N.EXPIRED){this.paying=!1,this.stopOrderPolling();return}}catch{}this.paying&&(this._orderRefreshTimer=window.setTimeout(t,Nt))};this._orderRefreshTimer=window.setTimeout(t,e)},stopOrderPolling(){const e=this._orderRefreshTimer;e&&(clearTimeout(e),this._orderRefreshTimer=void 0)},onFetchData(){this.loading=!0,V.refresh(this.id).then(({data:e})=>{this.order=e,e.pay_way&&(this.payWay=e.pay_way),this.loading=!1}).catch(()=>{this.loading=!1})},onRepay(){this.payWay==="X402"&&(this.x402Session=void 0),this.paying=!0,this.startOrderPolling()},onPay(){this.prepaying=!0,this.payWay==="X402"&&(this.x402Session=void 0),V.pay(this.id,{pay_way:this.payWay}).then(({data:e})=>{if(this.prepaying=!1,e?.id&&(this.order=e),this.payWay==="X402"&&e){const t=e;t.accepts&&(this.x402Session=t)}(this.order&&this.order.price&&this.order.price>0||this.payWay==="X402")&&(this.paying=!0,this.startOrderPolling(Z))}).catch(e=>{this.prepaying=!1;const t=e?.response?.data;if(this.payWay==="X402"&&t){this.x402Session=t,this.paying=!0,this.startOrderPolling(Z);return}})}}}),Rt={class:"title"},Vt={key:0,class:"pt-5"},Dt={key:1,class:"order"},Lt={key:0},Tt={key:1},Bt={key:2},qt={key:3},Ot={key:0,class:"price-block"},Mt={class:"price-line"},Xt={key:0,class:"price original"},Ft={class:"price current unfree"},Ut={key:1,class:"price free"},Ht={key:0,class:"payways mb-6"},xt={class:"payname"},zt={class:"payname"},jt={class:"payname"},Gt={class:"payname"},Jt={key:1},Kt={key:2};function Qt(e,t,s,i,c,d){const r=f("el-col"),h=f("el-row"),W=f("el-skeleton"),$=f("copy-to-clipboard"),b=f("el-descriptions-item"),k=f("el-tag"),S=f("el-descriptions"),C=f("el-divider"),m=f("el-alert"),A=f("el-button"),I=f("el-card"),B=f("wechat-pay-order"),z=f("stripe-pay-order"),j=f("alipay-pay-order"),q=f("x402-pay-order");return a(),g(h,{class:"panel"},{default:n(()=>[u(r,{span:24},{default:n(()=>[u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[o("h2",Rt,l(e.$t("order.title.info")),1)]),_:1})]),_:1}),u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[u(I,{shadow:"hover"},{default:n(()=>[u(h,null,{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[e.loading?(a(),p("div",Vt,[u(W,{animated:""})])):(a(),p("div",Dt,[u(S,{column:1},{default:n(()=>[u(b,{label:e.$t("order.field.id")},{default:n(()=>[o("span",null,l(e.order?.id),1),e.order?.id?(a(),g($,{key:0,content:e.order?.id,class:"inline-block"},null,8,["content"])):y("",!0)]),_:1},8,["label"]),u(b,{label:e.$t("order.field.description")},{default:n(()=>[P(l(e.order?.description),1)]),_:1},8,["label"]),e.order?.application?.service?(a(),g(b,{key:0,label:e.$t("order.field.api")},{default:n(()=>[P(l(e.order?.application?.service?.title),1)]),_:1},8,["label"])):y("",!0),e.order?.pay_way?(a(),g(b,{key:1,label:e.$t("order.field.payWay")},{default:n(()=>[e.order?.pay_way===e.PayWay.WechatPay?(a(),p("span",Lt,l(e.$t("order.title.wechatPay")),1)):e.order?.pay_way===e.PayWay.Stripe?(a(),p("span",Tt,l(e.$t("order.title.stripe")),1)):e.order?.pay_way===e.PayWay.AliPay?(a(),p("span",Bt,l(e.$t("order.title.aliPay")),1)):e.order?.pay_way===e.PayWay.X402?(a(),p("span",qt,l(e.$t("order.title.x402")),1)):y("",!0)]),_:1},8,["label"])):y("",!0),u(b,{label:e.$t("order.field.createdAt")},{default:n(()=>[P(l(e.$dayjs.format(e.order?.created_at)),1)]),_:1},8,["label"]),u(b,{label:e.$t("order.field.price")},{default:n(()=>[e.shouldShowPriceBlock?(a(),p("div",Ot,[o("div",Mt,[e.showOriginalPrice?(a(),p("span",Xt,l(e.getPriceString({value:e.finalOriginalPrice})),1)):y("",!0),o("span",Ft,l(e.getPriceString({value:e.finalDiscountedPrice})),1),(a(!0),p(R,null,T(e.discountBadges,w=>(a(),g(k,{key:w.key,class:"discount-tag",effect:"light",size:"small",type:w.type},{default:n(()=>[P(l(w.text),1)]),_:2},1032,["type"]))),128))]),(a(!0),p(R,null,T(e.discountHints,(w,F)=>(a(),p("p",{key:F,class:"discount-hint"},l(w),1))),128))])):(a(),p("span",Ut,l(e.$t("order.message.free")),1))]),_:1},8,["label"])]),_:1})]))]),_:1})]),_:1}),e.order?.state===e.OrderState.PAID||e.order?.state===e.OrderState.FINISHED?(a(),g(h,{key:0,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.message.paidSuccessfully"),type:"success","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.EXPIRED?(a(),g(h,{key:1,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.message.orderExpired"),type:"error","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.FAILED?(a(),g(h,{key:2,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.state.failed"),description:e.orderFailedReason,type:"error","show-icon":"",closable:!1},null,8,["title","description"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.PENDING?(a(),g(h,{key:3},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),e.showPayWays&&e.order.price&&e.order.price>0&&!e.order.pay_way?(a(),p("div",Ht,[o("div",{class:H({payway:!0,wechatpay:!0,active:e.payWay===e.PayWay.WechatPay}),onClick:t[0]||(t[0]=w=>e.payWay=e.PayWay.WechatPay)},[t[12]||(t[12]=o("span",{class:"payicon wechatpay"},null,-1)),o("span",xt,l(e.$t("order.title.wechatPay")),1)],2),o("div",{class:H({payway:!0,alipay:!0,active:e.payWay===e.PayWay.AliPay}),onClick:t[1]||(t[1]=w=>e.payWay=e.PayWay.AliPay)},[t[13]||(t[13]=o("span",{class:"payicon alipay"},null,-1)),o("span",zt,l(e.$t("order.title.aliPay")),1)],2),o("div",{class:H({payway:!0,stripe:!0,active:e.payWay===e.PayWay.Stripe}),onClick:t[2]||(t[2]=w=>e.payWay=e.PayWay.Stripe)},[t[14]||(t[14]=o("span",{class:"payicon stripe"},null,-1)),o("span",jt,l(e.$t("order.title.stripe")),1)],2),o("div",{class:H({payway:!0,x402:!0,relative:!0,active:e.payWay===e.PayWay.X402}),onClick:t[3]||(t[3]=w=>e.payWay=e.PayWay.X402)},[t[15]||(t[15]=o("span",{class:"payicon x402"},null,-1)),o("span",Gt,l(e.$t("order.title.x402")),1),e.x402DiscountRate>0?(a(),g(k,{key:0,class:"absolute -top-2 right-0",effect:"light",size:"small",type:"success"},{default:n(()=>[P(l(e.$t("order.message.x402DiscountTag",{percent:e.x402BadgePercent})),1)]),_:1})):y("",!0)],2)])):y("",!0),e.order?.pay_way?(a(),p("div",Kt,[u(A,{type:"primary",round:"",size:"large",class:"btn-repay",onClick:e.onRepay},{default:n(()=>[P(l(e.$t("common.button.repay")),1)]),_:1},8,["onClick"])])):(a(),p("div",Jt,[u(A,{loading:e.prepaying,round:"",type:"primary",size:"large",class:"btn-pay",onClick:e.onPay},{default:n(()=>[P(l(e.$t("common.button.pay")),1)]),_:1},8,["loading","onClick"])]))]),_:1})]),_:1})):y("",!0)]),_:1})]),_:1})]),_:1}),u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[e.order&&e.payWay===e.PayWay.WechatPay?(a(),g(B,{key:0,modelValue:e.order,"onUpdate:modelValue":t[4]||(t[4]=w=>e.order=w),visible:e.paying,onHide:t[5]||(t[5]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.Stripe?(a(),g(z,{key:1,modelValue:e.order,"onUpdate:modelValue":t[6]||(t[6]=w=>e.order=w),visible:e.paying,onHide:t[7]||(t[7]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.AliPay?(a(),g(j,{key:2,modelValue:e.order,"onUpdate:modelValue":t[8]||(t[8]=w=>e.order=w),visible:e.paying,onHide:t[9]||(t[9]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.X402?(a(),g(q,{key:3,modelValue:e.order,"onUpdate:modelValue":t[10]||(t[10]=w=>e.order=w),session:e.x402Session,visible:e.paying,onHide:t[11]||(t[11]=w=>e.paying=!1)},null,8,["modelValue","session","visible"])):y("",!0)]),_:1})]),_:1})]),_:1})]),_:1})}const cs=M(It,[["render",Qt],["__scopeId","data-v-0cc9f57e"]]);export{cs as default};
2
+ import{o as V}from"./order-CF_iRX2R.js";import{_ as M,a6 as me}from"./index-C2dwXG9x.js";import{O as N}from"./order-CB3uOPHS.js";import{ae as ye,a5 as Y,bP as fe}from"./vendor-Bf_m-mDd.js";import{w as ee,x as te,E as x,z as ge,A as we,e as ve,a as se,B as ae,o as ie,r as E,C as be,D as ke,F as Pe,m as Se,G as We,s as $e}from"./vendor-element-plus-DMm68DKM.js";import{d as X,R as g,S as n,l as u,al as f,a as o,W as y,Z as l,o as a,p as Ce,c as p,F as R,ai as T,Y as P,V as H}from"./vendor-vue-Bb02XvLT.js";import{g as Ae}from"./price-wlzJM_Pk.js";import{C as _e}from"./CopyToClipboard-DNdZ5BOO.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-D4avMJL1.js";import"./vendor-dayjs-BHF5lY3m.js";import"./vendor-katex-DHBGsivc.js";function Ee(){const e=navigator.userAgent.toLowerCase();return/iphone|ipad|ipod|android|windows phone/i.test(e)}const Ne=X({name:"PayOrderDialog",components:{ElDialog:x,QrCode:ye,ElRow:te,ElCol:ee},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},2e3)})}}}),Ie={class:"paycode wechat"},Re={class:"help-text block bg-[#00c800] text-white text-[14px] h-[35px] w-[240px] text-center leading-[35px] mt-[10px] mx-auto"};function Ve(e,t,s,i,c,d){const r=f("qr-code"),h=f("el-col"),W=f("el-row"),$=f("el-dialog");return a(),g($,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[u(W,{class:"paycodes py-[30px] w-[500px] mx-auto"},{default:n(()=>[u(h,{span:12},{default:n(()=>[o("div",Ie,[e.modelValue?.pay_url?(a(),g(r,{key:0,value:e.modelValue?.pay_url,size:200,class:"qrcode m-auto w-[200px] h-[200px]",type:"image/png",color:{dark:"#000000",light:"#ffffff"}},null,8,["value"])):y("",!0),o("p",Re,l(e.$t("order.message.wechatPayHelp")),1)])]),_:1}),u(h,{span:12},{default:n(()=>t[0]||(t[0]=[o("div",{class:"help-img"},[o("img",{src:"https://midas.gtimg.cn/enterprise/images/ep_sys_wx_tip.jpg"})],-1)])),_:1,__:[0]})]),_:1})]),_:1},8,["model-value","title"])}const De=M(Ne,[["render",Ve]]),Le=X({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),Te={class:"text-center"};function Be(e,t,s,i,c,d){const r=f("el-dialog");return a(),g(r,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[o("p",Te,l(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const qe=M(Le,[["render",Be],["__scopeId","data-v-fbea8aa1"]]),Oe=X({name:"PayOrderDialog",components:{ElDialog:x},props:{modelValue:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:["hide","update:modelValue"],data(){return{refreshTimer:void 0}},watch:{visible:{handler(e){e&&this.modelValue.pay_url&&window.open(this.modelValue.pay_url,"_blank")}}},mounted(){this.onRefresh()},unmounted(){this.refreshTimer&&clearTimeout(this.refreshTimer)},methods:{onRefresh(){if(!this.modelValue.id){console.error("id does not exist");return}V.refresh(this.modelValue.id).then(({data:e})=>{e.state!==N.PAID?setTimeout(()=>{this.onRefresh()},2e3):this.$emit("hide"),this.$emit("update:modelValue",e)}).catch(()=>{setTimeout(()=>{this.onRefresh()},5e3)})}}}),Me={class:"text-center"};function Xe(e,t,s,i,c,d){const r=f("el-dialog");return a(),g(r,{"model-value":e.visible,title:e.$t("application.title.buyService"),width:"500px",center:""},{default:n(()=>[o("p",Me,l(e.$t("order.message.buyInExternalUrl")),1)]),_:1},8,["model-value","title"])}const Fe=M(Oe,[["render",Xe]]);async function Ue(e){const{requirements:t,payerAddress:s,signTransaction:i,signAllTransactions:c,fetchLatestBlockhash:d}=e,{PublicKey:r,Transaction:h,ComputeBudgetProgram:W,TransactionInstruction:$}=await Y(async()=>{const{PublicKey:v,Transaction:_,ComputeBudgetProgram:D,TransactionInstruction:pe}=await import("./vendor-Bf_m-mDd.js").then(he=>he.b$);return{PublicKey:v,Transaction:_,ComputeBudgetProgram:D,TransactionInstruction:pe}},__vite__mapDeps([0,1,2,3,4,5])),{Buffer:b}=await Y(async()=>{const{Buffer:v}=await import("./vendor-Bf_m-mDd.js").then(_=>_.i);return{Buffer:v}},__vite__mapDeps([0,1,2,3,4,5])),k=new r("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"),S=new r("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"),C=new r(s),m=new r(String(t.payTo||t.pay_to)),A=new r(String(t.asset)),I=t.extra||{},B=String(I.feePayer||I.fee_payer||"");if(!B)throw new Error("Missing feePayer in Solana payment requirements");if(B===s)throw new Error("Invalid Solana payment: payer wallet must not be the fee payer wallet (switch wallet and try again).");const z=new r(B),j=Number(I.decimals??6),q=Number(I.computeUnitLimit??I.compute_unit_limit??0),w=Number(I.computeUnitPriceMicroLamports??I.compute_unit_price_micro_lamports??I.computeUnitPriceLamports??0),F=BigInt(String(t.maxAmountRequired||t.max_amount_required||"0"));if(F<=0n)throw new Error("Invalid amount");const J=(v,_)=>{const[D]=r.findProgramAddressSync([v.toBuffer(),k.toBuffer(),_.toBuffer()],S);return D},ne=J(C,A),oe=J(m,A),U=new Uint8Array(10);U[0]=12,new DataView(U.buffer).setBigUint64(1,F,!0),U[9]=j;const le=new $({programId:k,keys:[{pubkey:ne,isSigner:!1,isWritable:!0},{pubkey:A,isSigner:!1,isWritable:!1},{pubkey:oe,isSigner:!1,isWritable:!0},{pubkey:C,isSigner:!0,isWritable:!1}],data:b.from(U)}),L=new h;L.feePayer=z,Number.isFinite(q)&&q>0&&L.add(W.setComputeUnitLimit({units:Math.floor(q)})),Number.isFinite(w)&&w>0&&L.add(W.setComputeUnitPrice({microLamports:Math.floor(w)})),L.add(le);const de=String(t.network||"solana").toLowerCase();L.recentBlockhash=await d(de);const G=v=>{if(!v)return"Unknown error";const _=typeof v?.message=="string"?v.message:String(v),D=typeof v?.name=="string"?v.name:"";return D&&D!=="Error"&&!_.startsWith(D)?`${D}: ${_}`:_},K=async()=>{if(!c)return;const v=await c([L]);return Array.isArray(v)?v[0]:void 0};let O;try{i?O=await i(L):O=await K()}catch(v){if(i&&c)try{O=await K()}catch(_){throw new Error(`Solana wallet signing failed: ${G(v)} (fallback failed: ${G(_)})`)}else throw new Error(`Solana wallet signing failed: ${G(v)}`)}if(!O)throw new Error("Solana wallet did not return a signed transaction");const ce=O.serialize({requireAllSignatures:!1,verifySignatures:!1}),Q=b.from(ce).toString("base64"),ue={x402Version:1,scheme:t.scheme||"exact",network:t.network||"solana",payload:{serializedTransaction:Q,transaction:Q}};return btoa(JSON.stringify(ue))}const He=X({name:"X402PayOrderDialog",components:{ElDialog:x,ElButton:ie,ElAlert:ae,ElTag:se,ElIcon:ve,ElRadioGroup:we,ElRadioButton:ge,CreditCard:fe},props:{modelValue:{type:Object,required:!0},session:{type:Object,default:void 0},visible:{type:Boolean,default:!1}},emits:["hide","update:modelValue"],data(){return{signing:!1,paying:!1,chainId:void 0,selectedNetwork:void 0,solanaWalletModalVisible:!1,solanaWalletConnecting:!1,evmWalletModalVisible:!1,evmWalletConnecting:!1,evmWallets:[],selectedEvmWalletId:void 0,evmAddress:void 0,requirementsLoading:!1,runtimeRequirementsByNetwork:{},requirementsAttemptedByNetwork:{}}},computed:{dialogWidth(){return Ee()?"100%":"680px"},acceptsList(){const e=this.session?.accepts;if(Array.isArray(e)&&e.length>0)return e.filter(s=>!!(s&&typeof s=="object"));const t=this.paymentRequirements;return Array.isArray(t)&&t.length>0?t.filter(s=>!!(s&&typeof s=="object")):t&&typeof t=="object"?[t]:[]},selectedNetworkResolved(){return String(this.selectedNetwork||this.acceptsList[0]?.network||"base").toLowerCase()},selectedRequirements(){const e=String(this.selectedNetworkResolved||"").toLowerCase();if(!e)return this.acceptsList[0];const t=this.runtimeRequirementsByNetwork[e];if(t)return t;const s=this.acceptsList.find(i=>String(i.network||"").toLowerCase()===e);if(s)return s;if(!this.selectedNetwork)return this.acceptsList[0]},orderMetadata(){const e=this.modelValue?.metadata;return e&&typeof e=="object"?e:void 0},paymentRequirements(){const e=this.session?.payment_requirements||this.session?.paymentRequirements;if(e&&typeof e=="object")return e;const t=this.orderMetadata?.payment_requirements||this.orderMetadata?.paymentRequirements;if(t&&typeof t=="object")return t},expectedNetwork(){return this.selectedNetworkResolved},expectedNetworkLabel(){return this.formatNetworkLabel(this.expectedNetwork)},isSolanaNetwork(){return!!String(this.selectedNetworkResolved||"").toLowerCase().startsWith("solana")},expectedChainIdHex(){const e={base:"0x2105","base-sepolia":"0x14A34",ethereum:"0x1",sepolia:"0xAA36A7",polygon:"0x89",arbitrum:"0xA4B1",optimism:"0xA",bsc:"0x38",avalanche:"0xA86A"},t=(this.expectedNetwork||"").toLowerCase();return e[t]},networkMismatch(){return this.isSolanaNetwork?!1:!!(this.evmAddress&&this.chainId&&this.expectedChainIdHex&&this.chainId.toLowerCase()!==this.expectedChainIdHex.toLowerCase())},hasEvmProvider(){return this.isSolanaNetwork?!1:this.evmWalletsOrdered.length>0},requirementsAvailable(){return!!this.selectedRequirements},networkOptions(){const e=new Set(this.acceptsList.map(s=>String(s.network||"").toLowerCase()).filter(Boolean));if(e.size===0)return[{network:"base",label:"Base"},{network:"solana",label:"Solana"}];const t=s=>s==="base"?0:s.startsWith("solana")?1:2;return Array.from(e).sort((s,i)=>t(s)-t(i)||s.localeCompare(i)).map(s=>({network:s,label:this.formatNetworkLabel(s)}))},paymentSteps(){const e=this.expectedNetworkLabel||this.expectedNetwork||"";return[String(this.$t("order.message.x402Step1")),String(this.$t("order.message.x402Step2",{network:e})),String(this.$t("order.message.x402Step3")),String(this.$t("order.message.x402Step4"))]},evmConnected(){return!!(this.selectedEvmWalletId&&this.evmAddress)},evmProvider(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.provider},selectedEvmWalletName(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.name},selectedEvmWalletIcon(){if(this.selectedEvmWalletId)return this.evmWallets.find(e=>e.id===this.selectedEvmWalletId)?.icon},evmWalletsOrdered(){return[...this.evmWallets].sort((e,t)=>e.name.localeCompare(t.name))},solanaConnected(){return!!this.$wallet?.connected?.value},solanaAddress(){const e=this.$wallet?.publicKey?.value;if(!(!e||typeof e.toBase58!="function"))return e.toBase58()},solanaWalletsOrdered(){const e=this.$wallet?.wallets?.value??[],t=s=>s==="Installed"?0:s==="Loadable"?1:s==="NotDetected"?2:3;return[...e].sort((s,i)=>t(s.readyState)-t(i.readyState))},selectedSolanaWalletName(){return this.$wallet?.wallet?.value?.adapter?.name},selectedSolanaWalletIcon(){return this.$wallet?.wallet?.value?.adapter?.icon}},watch:{visible(e){if(!e){this.solanaWalletModalVisible=!1,this.evmWalletModalVisible=!1;return}if(!this.selectedNetwork){const i=this.acceptsList[0]?.network;this.selectedNetwork=String(i||"base").toLowerCase()}const t=new Set(this.networkOptions.map(i=>i.network)),s=String(this.selectedNetwork||"").toLowerCase();if(s&&!t.has(s)){const i=this.networkOptions[0]?.network;i&&(this.selectedNetwork=i)}this.maybeLoadRequirements()},selectedNetwork(){this.visible&&this.maybeLoadRequirements()}},mounted(){this.refreshEvmWallets()},methods:{sleep(e){return new Promise(t=>setTimeout(t,e))},getErrorMessage(e){if(!e)return"";if(typeof e=="string")return e;if(typeof e?.message=="string")return e.message;try{return JSON.stringify(e)}catch{return String(e)}},isRetryableSolanaConnectError(e){if(String(e?.name||"")==="WalletNotSelectedError")return!0;const s=this.getErrorMessage(e).toLowerCase();return s.includes("disconnected port object")||s.includes("failed to send message to service worker")||s.includes("message port closed")||s.includes("extension context invalidated")},async connectSolanaWalletWithRetry(e){const t=this.$wallet;if(!t)throw new Error("Wallet API not available");const s=2;let i;for(let c=1;c<=s;c+=1)try{e&&t.select(e),await Ce(),await t.connect();return}catch(d){if(i=d,c<s&&this.isRetryableSolanaConnectError(d)){const h=String(d?.name||"")==="WalletNotSelectedError"?0:300;h&&await this.sleep(h);continue}throw d}throw i},formatNetworkLabel(e){const t=String(e||"").toLowerCase();return t==="base"?"Base":t==="solana"?"Solana":t==="solana-devnet"?"Solana Devnet":t==="ethereum"?"Ethereum":t==="sepolia"?"Sepolia":t==="polygon"?"Polygon":t==="arbitrum"?"Arbitrum":t==="optimism"?"Optimism":t==="bsc"?"BNB Chain":t==="avalanche"?"Avalanche":e||"Unknown"},async confirmPay(e){const t=e||this.expectedNetworkLabel||this.expectedNetwork||"",s=String(this.$t?.("order.message.x402ConfirmTitle")||"Confirm Payment"),i=String(this.$t?.("order.message.x402ConfirmDesc",{network:t})||`Confirm USDC payment on ${t}?`),c=String(this.$t?.("common.button.pay")||"Pay"),d=String(this.$t?.("common.button.cancel")||"Cancel");return be.confirm(i,s,{confirmButtonText:c,cancelButtonText:d,type:"warning"}).then(()=>!0).catch(()=>!1)},async onSelectSolanaWallet(e){if(!this.solanaWalletConnecting&&e?.adapter?.name){this.solanaWalletConnecting=!0;try{await this.connectSolanaWalletWithRetry(e.adapter.name),this.solanaWalletModalVisible=!1}catch(t){console.warn("wallet connect failed",t),E.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed"))}finally{this.solanaWalletConnecting=!1}}},async disconnectSolanaWallet(){try{await this.$wallet.disconnect()}catch{}},openEvmWalletModal(){this.evmWalletModalVisible=!0,this.refreshEvmWallets()},async refreshEvmWallets(){if(typeof window>"u")return;const e=new Map,t=s=>{const i=s?.detail,c=i?.info,d=i?.provider;if(!c||!d)return;const r=String(c.uuid||c.rdns||c.name||"");r&&(e.has(r)||e.set(r,{id:r,name:String(c.name||"Wallet"),icon:typeof c.icon=="string"?c.icon:void 0,provider:d}))};try{window.addEventListener("eip6963:announceProvider",t),window.dispatchEvent(new Event("eip6963:requestProvider")),await new Promise(s=>window.setTimeout(s,120))}finally{window.removeEventListener("eip6963:announceProvider",t)}if(e.size===0){const s=window.ethereum;(Array.isArray(s?.providers)?s.providers:s?[s]:[]).forEach((c,d)=>{if(!c)return;let r="Injected";c.isMetaMask?r="MetaMask":c.isCoinbaseWallet?r="Coinbase Wallet":c.isBraveWallet?r="Brave Wallet":c.isRabby?r="Rabby":c.isPhantom&&(r="Phantom");const h=`injected:${r}:${d}`;e.set(h,{id:h,name:r,icon:void 0,provider:c})})}this.evmWallets=Array.from(e.values())},async onSelectEvmWallet(e){if(e?.provider){this.evmWalletModalVisible=!1,this.evmWalletConnecting=!0;try{const t=await e.provider.request({method:"eth_requestAccounts"}),s=Array.isArray(t)?t[0]:void 0;if(!s)throw new Error("No account returned from wallet");this.selectedEvmWalletId=e.id,this.evmAddress=s,await this.refreshChainId(),await this.ensureNetwork()}catch(t){console.warn("EVM wallet connect failed",t),E.error(String(this.$t?.("coin.message.connectError")||"Wallet connect failed")),this.disconnectEvmWallet()}finally{this.evmWalletConnecting=!1}}},disconnectEvmWallet(){this.selectedEvmWalletId=void 0,this.evmAddress=void 0,this.chainId=void 0},async getFreshRequirements(){const e=this.selectedRequirements;if(e)return e;try{const s=(await V.pay(this.modelValue.id,{pay_way:"X402"}))?.data,i=Array.isArray(s?.accepts)?s.accepts:void 0,c=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(i)&&i.length){const r=i.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:i[0])}const d=s?.payment_requirements;if(Array.isArray(d)&&d.length){const r=d.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:d[0])}return d&&typeof d=="object"?d:void 0}catch(t){const s=t?.response?.data;if(s){const i=Array.isArray(s?.accepts)?s.accepts:void 0,c=String(this.selectedNetworkResolved||"").toLowerCase();if(Array.isArray(i)&&i.length){const r=i.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:i[0])}const d=s?.payment_requirements;if(Array.isArray(d)&&d.length){const r=d.find(h=>String(h?.network||"").toLowerCase()===c);return r||(this.selectedNetwork?void 0:d[0])}if(d&&typeof d=="object")return d}return}},async maybeLoadRequirements(e=!1){const t=String(this.selectedNetworkResolved||"").toLowerCase();if(!(!t||this.runtimeRequirementsByNetwork[t]||this.acceptsList.some(i=>String(i.network||"").toLowerCase()===t))&&!(!e&&this.requirementsAttemptedByNetwork[t])){this.requirementsAttemptedByNetwork[t]=!0,this.requirementsLoading=!0;try{const i=await this.getFreshRequirements();i&&(this.runtimeRequirementsByNetwork[t]=i)}finally{this.requirementsLoading=!1}}},async refreshChainId(){if(this.evmProvider)try{const e=await this.evmProvider.request({method:"eth_chainId"});typeof e=="string"&&(this.chainId=e)}catch{}},async ensureNetwork(){if(!(!this.evmProvider||!this.expectedChainIdHex)&&(await this.refreshChainId(),!(this.chainId&&this.chainId.toLowerCase()===this.expectedChainIdHex.toLowerCase()))){try{await this.evmProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:this.expectedChainIdHex}]})}catch{try{await this.evmProvider.request({method:"wallet_addEthereumChain",params:[this.getExpectedChainParams()]})}catch(e){console.error("Failed to add Ethereum chain:",e);try{const t=this.$t&&this.$t("order.message.x402NetworkSwitchFailed")||"Your wallet does not support automatic network switching. Please switch to the required network in the wallet and try again.";E.warning(t)}catch{}}}await this.refreshChainId()}},getExpectedChainParams(){const e={base:{chainId:"0x2105",chainName:"Base",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://mainnet.base.org"],blockExplorerUrls:["https://basescan.org"]},"base-sepolia":{chainId:"0x14A34",chainName:"Base Sepolia",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:["https://sepolia.base.org"],blockExplorerUrls:["https://sepolia.basescan.org"]}},t=(this.expectedNetwork||"").toLowerCase();return e[t]||{chainId:this.expectedChainIdHex}},buildTypedData(e,t){const s=e?.extra||{};return{types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],TransferWithAuthorization:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"validAfter",type:"uint256"},{name:"validBefore",type:"uint256"},{name:"nonce",type:"bytes32"}]},primaryType:"TransferWithAuthorization",domain:{name:s?.name||"USD Coin",version:s?.version||"2",chainId:parseInt(this.expectedChainIdHex||"0x0",16),verifyingContract:e.asset},message:t}},randomNonce32(){const e=new Uint8Array(32);return crypto.getRandomValues(e),"0x"+Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")},async onPayWithSolanaWallet(){if(!this.modelValue?.id)return;const e=this.solanaAddress;if(!e){E.error(String(this.$t?.("order.message.x402NeedConnectAccount")||"Please connect a wallet first."));return}if(!this.requirementsAvailable){E.error(String(this.$t?.("order.message.x402SolanaNotEnabled")||"Solana payment is not available."));return}this.signing=!0;try{if(!await this.confirmPay(this.expectedNetworkLabel))return;let s=await this.getFreshRequirements();if(s||(s=this.selectedRequirements),!s){E.error(String(this.$t?.("order.message.x402PaymentFailed")||"X402 payment failed."));return}const i=this.$wallet?.wallet?.value?.adapter;if(!i?.signTransaction&&!i?.signAllTransactions)throw new Error("Wallet does not support signing transactions");const c=await Ue({requirements:s,payerAddress:e,signTransaction:i.signTransaction?i.signTransaction.bind(i):void 0,signAllTransactions:i.signAllTransactions?i.signAllTransactions.bind(i):void 0,fetchLatestBlockhash:r=>this.fetchSolanaLatestBlockhash(r)});this.paying=!0;const{data:d}=await V.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},c);this.$emit("update:modelValue",d),this.$emit("hide")}catch(t){const s=t?.response?.data,i=s?.error||s?.detail||"X402 wallet payment failed.";E.error(String(i))}finally{this.signing=!1,this.paying=!1}},async fetchSolanaLatestBlockhash(e){const{data:t}=await me.get("/x402/solana/latest-blockhash/",{params:{network:e||"solana"}}),s=t?.blockhash;if(!s||typeof s!="string")throw new Error("Invalid blockhash response");return s},async onPayWithWallet(){if(!this.modelValue?.id||!this.evmProvider||!this.evmAddress){const e=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment is not available right now. Please try again later.";E.error(e);return}this.signing=!0;try{let e=await this.getFreshRequirements();if(e||(e=this.selectedRequirements),!e){const S=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.";E.error(S);return}if(await this.ensureNetwork(),this.networkMismatch){E.warning(String(this.$t?.("order.message.x402SwitchNetwork",{network:this.expectedNetworkLabel||this.expectedNetwork})||"Please switch your wallet network and try again."));return}if(!await this.confirmPay(this.expectedNetworkLabel))return;const s=Math.floor(Date.now()/1e3),i=Number(e?.maxTimeoutSeconds||e?.max_timeout_seconds||120),c=BigInt(e?.maxAmountRequired||e?.max_amount_required||0).toString(),d={from:this.evmAddress,to:e.payTo||e.pay_to,value:c,validAfter:s,validBefore:s+i,nonce:this.randomNonce32()},r=this.buildTypedData(e,d),h=await this.evmProvider.request({method:"eth_signTypedData_v4",params:[this.evmAddress,JSON.stringify(r)]}),W={from:d.from,to:d.to,value:d.value,validAfter:String(d.validAfter),validBefore:String(d.validBefore),nonce:d.nonce},$={x402Version:1,scheme:e.scheme||"exact",network:e.network||this.expectedNetwork||"base",payload:{authorization:W,signature:h}},b=btoa(JSON.stringify($));this.paying=!0;const{data:k}=await V.payX402WithHeader(this.modelValue.id,{pay_way:"X402"},b);this.$emit("update:modelValue",k),this.$emit("hide")}catch(e){let t;const s=e?.response?.data;if(s){const i=s?.error||s?.detail;typeof i=="string"&&(t=i)}t||(t=this.$t&&this.$t("order.message.x402PaymentFailed")||"X402 wallet payment failed. Please try again later.");try{E.error(t)}catch{}}finally{this.signing=!1,this.paying=!1}}}}),xe={class:"x402-content"},ze={class:"x402-intro"},je={class:"x402-intro-text"},Ge={class:"x402-wallet"},Je={class:"x402-wallet-head"},Ke={class:"x402-network"},Qe={class:"x402-network-label"},Ye={key:1,class:"x402-requirements-actions"},Ze={class:"x402-wallet-card"},et={class:"x402-wallet-card-head"},tt={key:0,class:"x402-wallet-card-sub x402-wallet-name"},st=["src","alt"],at={key:1,class:"x402-wallet-card-sub"},it={class:"x402-wallet-card-actions"},rt={class:"x402-actions"},nt={class:"x402-wallet-card"},ot={class:"x402-wallet-card-head"},lt={key:0,class:"x402-wallet-card-sub x402-wallet-name"},dt=["src","alt"],ct={key:1,class:"x402-wallet-card-sub"},ut={class:"x402-wallet-card-actions"},pt={class:"x402-actions"},ht={class:"x402-steps"},mt={class:"x402-steps-title"},yt={class:"x402-steps-list"},ft={class:"x402-step-index"},gt={class:"x402-step-text"},wt={class:"wallet-list"},vt=["disabled","onClick"],bt=["src","alt"],kt={class:"wallet-list-name"},Pt={key:1,class:"wallet-list-status"},St={class:"wallet-list"},Wt=["disabled","onClick"],$t=["src","alt"],Ct={class:"wallet-list-name"},At={key:0,class:"text-center text-[13px] text-[var(--el-text-color-regular)]"};function _t(e,t,s,i,c,d){const r=f("credit-card"),h=f("el-icon"),W=f("el-radio-button"),$=f("el-radio-group"),b=f("el-alert"),k=f("el-button"),S=f("el-tag"),C=f("el-dialog");return a(),p(R,null,[u(C,{"model-value":e.visible,title:e.$t("order.title.x402"),width:e.dialogWidth,top:"8vh",class:"x402-dialog"},{default:n(()=>[o("section",xe,[o("header",ze,[u(h,{size:20,class:"x402-intro-icon"},{default:n(()=>[u(r)]),_:1}),o("p",je,l(e.$t("order.message.x402IntroShort")),1)]),o("section",Ge,[o("div",Je,[o("div",Ke,[o("span",Qe,l(e.$t("order.message.x402IntegrationNetworkLabel")),1),u($,{modelValue:e.selectedNetwork,"onUpdate:modelValue":t[0]||(t[0]=m=>e.selectedNetwork=m),size:"small",class:"x402-network-group"},{default:n(()=>[(a(!0),p(R,null,T(e.networkOptions,m=>(a(),g(W,{key:m.network,label:m.network},{default:n(()=>[P(l(m.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])]),e.selectedNetworkResolved==="solana"&&!e.selectedRequirements&&!e.requirementsLoading?(a(),g(b,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402SolanaNotEnabled")},null,8,["description"])):y("",!0),!e.selectedRequirements&&!e.requirementsLoading?(a(),p("div",Ye,[u(k,{link:"",type:"primary",size:"small",onClick:t[1]||(t[1]=m=>e.maybeLoadRequirements(!0))},{default:n(()=>[P(l(e.$t("common.button.refresh")),1)]),_:1})])):y("",!0),e.isSolanaNetwork?(a(),p(R,{key:2},[o("div",Ze,[o("div",et,[t[5]||(t[5]=o("span",{class:"x402-wallet-card-title"},"Solana Wallet",-1)),e.solanaConnected?(a(),g(S,{key:0,class:"x402-wallet-card-tag"},{default:n(()=>[P(l(e.$t("order.message.x402WalletConnected")),1)]),_:1})):y("",!0)]),e.solanaConnected&&e.selectedSolanaWalletName?(a(),p("div",tt,[e.selectedSolanaWalletIcon?(a(),p("img",{key:0,class:"wallet-list-icon",src:e.selectedSolanaWalletIcon,alt:e.selectedSolanaWalletName},null,8,st)):y("",!0),o("span",null,l(e.selectedSolanaWalletName),1)])):y("",!0),e.solanaConnected&&e.solanaAddress?(a(),p("div",at,l(e.solanaAddress.substring(0,10))+"..."+l(e.solanaAddress.substring(e.solanaAddress.length-10)),1)):y("",!0),o("div",it,[e.solanaConnected?(a(),g(k,{key:1,onClick:e.disconnectSolanaWallet},{default:n(()=>[P(l(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),g(k,{key:0,type:"primary",onClick:t[2]||(t[2]=m=>e.solanaWalletModalVisible=!0)},{default:n(()=>[P(l(e.$t("order.message.x402ConnectWallet")),1)]),_:1}))])]),o("div",rt,[u(k,{type:"primary",disabled:!e.solanaConnected||!e.solanaAddress||!e.requirementsAvailable,loading:e.signing||e.paying,onClick:e.onPayWithSolanaWallet},{default:n(()=>[P(l(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])])],64)):(a(),p(R,{key:3},[o("div",nt,[o("div",ot,[t[6]||(t[6]=o("span",{class:"x402-wallet-card-title"},"EVM Wallet",-1)),e.evmConnected?(a(),g(S,{key:0,class:"x402-wallet-card-tag"},{default:n(()=>[P(l(e.$t("order.message.x402WalletConnected")),1)]),_:1})):y("",!0)]),e.evmConnected&&e.selectedEvmWalletName?(a(),p("div",lt,[e.selectedEvmWalletIcon?(a(),p("img",{key:0,class:"wallet-list-icon",src:e.selectedEvmWalletIcon,alt:e.selectedEvmWalletName},null,8,dt)):y("",!0),o("span",null,l(e.selectedEvmWalletName),1)])):y("",!0),e.evmConnected&&e.evmAddress?(a(),p("div",ct,l(e.evmAddress.substring(0,10))+"..."+l(e.evmAddress.substring(e.evmAddress.length-10)),1)):y("",!0),o("div",ut,[e.evmConnected?(a(),g(k,{key:1,onClick:e.disconnectEvmWallet},{default:n(()=>[P(l(e.$t("coin.button.disconnect")),1)]),_:1},8,["onClick"])):(a(),g(k,{key:0,type:"primary",onClick:e.openEvmWalletModal},{default:n(()=>[P(l(e.$t("order.message.x402ConnectWallet")),1)]),_:1},8,["onClick"]))])]),e.hasEvmProvider?e.networkMismatch?(a(),g(b,{key:1,type:"warning",closable:!1,"show-icon":"",class:"x402-alert",title:e.$t("order.message.x402SwitchNetwork",{network:e.expectedNetworkLabel||e.expectedNetwork})},null,8,["title"])):y("",!0):(a(),g(b,{key:0,type:"info",closable:!1,class:"x402-alert",description:e.$t("order.message.x402NoWalletDesc")},null,8,["description"])),o("div",pt,[e.hasEvmProvider?(a(),g(k,{key:0,type:"primary",disabled:!e.evmConnected||!e.requirementsAvailable||e.networkMismatch,loading:e.signing||e.paying,onClick:e.onPayWithWallet},{default:n(()=>[P(l(e.$t("order.message.x402WalletPayCta")),1)]),_:1},8,["disabled","loading","onClick"])):y("",!0)])],64)),o("div",ht,[o("div",mt,l(e.$t("order.message.x402StepsTitle")),1),o("ol",yt,[(a(!0),p(R,null,T(e.paymentSteps,(m,A)=>(a(),p("li",{key:A,class:"x402-step"},[o("span",ft,l(A+1),1),o("span",gt,l(m),1)]))),128))])])])])]),_:1},8,["model-value","title","width"]),u(C,{modelValue:e.solanaWalletModalVisible,"onUpdate:modelValue":t[3]||(t[3]=m=>e.solanaWalletModalVisible=m),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:n(()=>[o("div",wt,[(a(!0),p(R,null,T(e.solanaWalletsOrdered,m=>(a(),p("button",{key:m.adapter.name,class:"wallet-list-item",disabled:e.solanaWalletConnecting,onClick:A=>e.onSelectSolanaWallet(m)},[m.adapter.icon?(a(),p("img",{key:0,class:"wallet-list-icon",src:m.adapter.icon,alt:m.adapter.name},null,8,bt)):y("",!0),o("span",kt,l(m.adapter.name),1),m.readyState==="Installed"?(a(),p("span",Pt,"Detected")):y("",!0)],8,vt))),128))])]),_:1},8,["modelValue","title"]),u(C,{modelValue:e.evmWalletModalVisible,"onUpdate:modelValue":t[4]||(t[4]=m=>e.evmWalletModalVisible=m),title:e.$t("order.message.x402ConnectWallet"),width:"420px","align-center":""},{default:n(()=>[o("div",St,[(a(!0),p(R,null,T(e.evmWalletsOrdered,m=>(a(),p("button",{key:m.id,class:"wallet-list-item",disabled:e.evmWalletConnecting,onClick:A=>e.onSelectEvmWallet(m)},[m.icon?(a(),p("img",{key:0,class:"wallet-list-icon",src:m.icon,alt:m.name},null,8,$t)):y("",!0),o("span",Ct,l(m.name),1),t[7]||(t[7]=o("span",{class:"wallet-list-status"},"Detected",-1))],8,Wt))),128)),e.evmWalletsOrdered.length===0?(a(),p("div",At,l(e.$t("order.message.x402NoWalletDesc")),1)):y("",!0)])]),_:1},8,["modelValue","title"])],64)}const Et=M(He,[["render",_t],["__scopeId","data-v-13c47121"]]),Nt=7e3,Z=2e3;var re=(e=>(e.WechatPay="WechatPay",e.Stripe="Stripe",e.AliPay="AliPay",e.X402="X402",e))(re||{});const It=X({name:"ConsoleOrderDetail",components:{ElButton:ie,CopyToClipboard:_e,ElRow:te,ElCard:$e,ElCol:ee,ElSkeleton:We,ElDivider:Se,ElAlert:ae,ElDescriptions:Pe,ElDescriptionsItem:ke,ElTag:se,WechatPayOrder:De,StripePayOrder:qe,AlipayPayOrder:Fe,X402PayOrder:Et},data(){return{PayWay:re,payWay:"WechatPay",OrderState:N,order:void 0,x402Session:void 0,showPayWays:!0,loading:!1,paying:!1,prepaying:!1}},computed:{config(){return this.$store.getters.config},id(){return this.$route.params?.id?.toString()},redirect(){return this.$route.query?.redirect},pricingInfo(){const e=this.order?.metadata?.pricing||{},t=S=>typeof S=="number"&&Number.isFinite(S)?S:void 0,s=t(e?.original_price),i=t(e?.discounted_price),c=t(e?.discount_rate),d=t(e?.discount_rate_vip),r=t(e?.discount_rate_x402),h=t(this.order?.price),W=s??h??0,$=i??h??W,b=t(this.order?.discount)??c??0,k=Array.isArray(e?.discounted_methods)?e.discounted_methods.filter(S=>typeof S=="string"&&S.length>0):[];return{original:W,discounted:$,discountRate:b,discountedMethods:k,discountRateVip:d,discountRateX402:r}},appliedDiscountMethods(){return this.pricingInfo.discountedMethods||[]},hasVipApplied(){return this.appliedDiscountMethods.includes("vip")},hasX402Applied(){return this.appliedDiscountMethods.includes("x402")},pendingX402Preview(){return this.payWay==="X402"&&this.order?.pay_way!=="X402"&&this.x402DiscountRate>0},finalOriginalPrice(){return this.pricingInfo.original||0},baseEffectivePrice(){const e=this.order?.price;return typeof e=="number"&&Number.isFinite(e)?e:this.pricingInfo.discounted},previewX402Price(){const e=this.baseEffectivePrice||0,t=this.x402DiscountRate;return!t||t<=0?e:e*(1-t)},finalDiscountedPrice(){return this.pendingX402Preview?this.previewX402Price:this.baseEffectivePrice},showOriginalPrice(){return this.finalOriginalPrice<=0?!1:this.finalOriginalPrice>this.finalDiscountedPrice},totalDiscountRate(){const e=this.pricingInfo.discountRate??0;return this.pendingX402Preview?1-(1-e)*(1-this.x402DiscountRate):e},hasAnyDiscount(){return this.totalDiscountRate>0},discountBadges(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push({key:"vip",text:this.$t("order.message.discountTag",{percent:this.vipDiscountPercent}).toString(),type:"success"}),this.shouldDisplayX402Badge&&this.x402BadgePercent&&e.push({key:"x402",text:this.$t("order.message.x402DiscountTag",{percent:this.x402BadgePercent}).toString(),type:"success"}),e},discountHints(){const e=[];return this.hasVipApplied&&this.vipDiscountPercent&&e.push(this.$t("order.message.discountHint",{percent:this.vipDiscountPercent}).toString()),this.hasX402Applied&&this.x402AppliedPercent?e.push(this.$t("order.message.x402DiscountApplied",{percent:this.x402AppliedPercent}).toString()):this.pendingX402Preview&&this.x402BadgePercent&&e.push(this.$t("order.message.x402DiscountHint",{percent:this.x402BadgePercent}).toString()),e},x402DiscountRate(){const e=this.config?.features?.DISCOUNT_FOR_X402;return typeof e=="number"&&Number.isFinite(e)&&e>0?e:0},vipDiscountPercent(){const e=(this.pricingInfo.discountRateVip??0)*100;return!Number.isFinite(e)||e<=0?"":Number.isInteger(e)?e.toFixed(0):e.toFixed(1)},x402AppliedPercent(){const t=(this.pricingInfo.discountRateX402??0)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},x402BadgePercent(){const t=(this.hasX402Applied?this.pricingInfo.discountRateX402??this.x402DiscountRate:this.x402DiscountRate)*100;return!Number.isFinite(t)||t<=0?"":Number.isInteger(t)?t.toFixed(0):t.toFixed(1)},shouldDisplayX402Badge(){return this.hasX402Applied||this.pendingX402Preview},shouldShowPriceBlock(){return this.finalOriginalPrice>0||this.finalDiscountedPrice>0||this.hasAnyDiscount||this.pendingX402Preview},orderFailedReason(){if(!this.order||this.order.state!==N.FAILED)return;const t=(this.order.metadata||{})?.x402?.last_error||{};return(typeof t.reason=="string"?t.reason.trim():"")||void 0}},watch:{paying(e){e?this.startOrderPolling():this.stopOrderPolling()},order:{handler(e){if(e?.state===N.PAID){this.x402Session=void 0,setTimeout(()=>{this.redirect&&window.location.replace(this.redirect?.toString())},2e3);return}e?.state&&e.state!==N.PENDING&&e.state!==N.FAILED&&(this.x402Session=void 0)},deep:!0},payWay(e){e!=="X402"&&(this.x402Session=void 0)}},created(){this._orderRefreshTimer=void 0},mounted(){this.onFetchData()},beforeUnmount(){this.stopOrderPolling()},methods:{getPriceString:Ae,startOrderPolling(e=0){this.stopOrderPolling();const t=async()=>{try{const{data:s}=await V.refresh(this.id);if(this.order=s,s?.state===N.PAID||s?.state===N.FAILED||s?.state===N.EXPIRED){this.paying=!1,this.stopOrderPolling();return}}catch{}this.paying&&(this._orderRefreshTimer=window.setTimeout(t,Nt))};this._orderRefreshTimer=window.setTimeout(t,e)},stopOrderPolling(){const e=this._orderRefreshTimer;e&&(clearTimeout(e),this._orderRefreshTimer=void 0)},onFetchData(){this.loading=!0,V.refresh(this.id).then(({data:e})=>{this.order=e,e.pay_way&&(this.payWay=e.pay_way),this.loading=!1}).catch(()=>{this.loading=!1})},onRepay(){this.payWay==="X402"&&(this.x402Session=void 0),this.paying=!0,this.startOrderPolling()},onPay(){this.prepaying=!0,this.payWay==="X402"&&(this.x402Session=void 0),V.pay(this.id,{pay_way:this.payWay}).then(({data:e})=>{if(this.prepaying=!1,e?.id&&(this.order=e),this.payWay==="X402"&&e){const t=e;t.accepts&&(this.x402Session=t)}(this.order&&this.order.price&&this.order.price>0||this.payWay==="X402")&&(this.paying=!0,this.startOrderPolling(Z))}).catch(e=>{this.prepaying=!1;const t=e?.response?.data;if(this.payWay==="X402"&&t){this.x402Session=t,this.paying=!0,this.startOrderPolling(Z);return}})}}}),Rt={class:"title"},Vt={key:0,class:"pt-5"},Dt={key:1,class:"order"},Lt={key:0},Tt={key:1},Bt={key:2},qt={key:3},Ot={key:0,class:"price-block"},Mt={class:"price-line"},Xt={key:0,class:"price original"},Ft={class:"price current unfree"},Ut={key:1,class:"price free"},Ht={key:0,class:"payways mb-6"},xt={class:"payname"},zt={class:"payname"},jt={class:"payname"},Gt={class:"payname"},Jt={key:1},Kt={key:2};function Qt(e,t,s,i,c,d){const r=f("el-col"),h=f("el-row"),W=f("el-skeleton"),$=f("copy-to-clipboard"),b=f("el-descriptions-item"),k=f("el-tag"),S=f("el-descriptions"),C=f("el-divider"),m=f("el-alert"),A=f("el-button"),I=f("el-card"),B=f("wechat-pay-order"),z=f("stripe-pay-order"),j=f("alipay-pay-order"),q=f("x402-pay-order");return a(),g(h,{class:"panel"},{default:n(()=>[u(r,{span:24},{default:n(()=>[u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[o("h2",Rt,l(e.$t("order.title.info")),1)]),_:1})]),_:1}),u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[u(I,{shadow:"hover"},{default:n(()=>[u(h,null,{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[e.loading?(a(),p("div",Vt,[u(W,{animated:""})])):(a(),p("div",Dt,[u(S,{column:1},{default:n(()=>[u(b,{label:e.$t("order.field.id")},{default:n(()=>[o("span",null,l(e.order?.id),1),e.order?.id?(a(),g($,{key:0,content:e.order?.id,class:"inline-block"},null,8,["content"])):y("",!0)]),_:1},8,["label"]),u(b,{label:e.$t("order.field.description")},{default:n(()=>[P(l(e.order?.description),1)]),_:1},8,["label"]),e.order?.application?.service?(a(),g(b,{key:0,label:e.$t("order.field.api")},{default:n(()=>[P(l(e.order?.application?.service?.title),1)]),_:1},8,["label"])):y("",!0),e.order?.pay_way?(a(),g(b,{key:1,label:e.$t("order.field.payWay")},{default:n(()=>[e.order?.pay_way===e.PayWay.WechatPay?(a(),p("span",Lt,l(e.$t("order.title.wechatPay")),1)):e.order?.pay_way===e.PayWay.Stripe?(a(),p("span",Tt,l(e.$t("order.title.stripe")),1)):e.order?.pay_way===e.PayWay.AliPay?(a(),p("span",Bt,l(e.$t("order.title.aliPay")),1)):e.order?.pay_way===e.PayWay.X402?(a(),p("span",qt,l(e.$t("order.title.x402")),1)):y("",!0)]),_:1},8,["label"])):y("",!0),u(b,{label:e.$t("order.field.createdAt")},{default:n(()=>[P(l(e.$dayjs.format(e.order?.created_at)),1)]),_:1},8,["label"]),u(b,{label:e.$t("order.field.price")},{default:n(()=>[e.shouldShowPriceBlock?(a(),p("div",Ot,[o("div",Mt,[e.showOriginalPrice?(a(),p("span",Xt,l(e.getPriceString({value:e.finalOriginalPrice})),1)):y("",!0),o("span",Ft,l(e.getPriceString({value:e.finalDiscountedPrice})),1),(a(!0),p(R,null,T(e.discountBadges,w=>(a(),g(k,{key:w.key,class:"discount-tag",effect:"light",size:"small",type:w.type},{default:n(()=>[P(l(w.text),1)]),_:2},1032,["type"]))),128))]),(a(!0),p(R,null,T(e.discountHints,(w,F)=>(a(),p("p",{key:F,class:"discount-hint"},l(w),1))),128))])):(a(),p("span",Ut,l(e.$t("order.message.free")),1))]),_:1},8,["label"])]),_:1})]))]),_:1})]),_:1}),e.order?.state===e.OrderState.PAID||e.order?.state===e.OrderState.FINISHED?(a(),g(h,{key:0,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.message.paidSuccessfully"),type:"success","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.EXPIRED?(a(),g(h,{key:1,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.message.orderExpired"),type:"error","show-icon":"",closable:!1},null,8,["title"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.FAILED?(a(),g(h,{key:2,class:"mb-5"},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),u(m,{title:e.$t("order.state.failed"),description:e.orderFailedReason,type:"error","show-icon":"",closable:!1},null,8,["title","description"])]),_:1})]),_:1})):y("",!0),e.order?.state===e.OrderState.PENDING?(a(),g(h,{key:3},{default:n(()=>[u(r,{span:16,offset:4},{default:n(()=>[u(C,{"border-style":"dashed"}),e.showPayWays&&e.order.price&&e.order.price>0&&!e.order.pay_way?(a(),p("div",Ht,[o("div",{class:H({payway:!0,wechatpay:!0,active:e.payWay===e.PayWay.WechatPay}),onClick:t[0]||(t[0]=w=>e.payWay=e.PayWay.WechatPay)},[t[12]||(t[12]=o("span",{class:"payicon wechatpay"},null,-1)),o("span",xt,l(e.$t("order.title.wechatPay")),1)],2),o("div",{class:H({payway:!0,alipay:!0,active:e.payWay===e.PayWay.AliPay}),onClick:t[1]||(t[1]=w=>e.payWay=e.PayWay.AliPay)},[t[13]||(t[13]=o("span",{class:"payicon alipay"},null,-1)),o("span",zt,l(e.$t("order.title.aliPay")),1)],2),o("div",{class:H({payway:!0,stripe:!0,active:e.payWay===e.PayWay.Stripe}),onClick:t[2]||(t[2]=w=>e.payWay=e.PayWay.Stripe)},[t[14]||(t[14]=o("span",{class:"payicon stripe"},null,-1)),o("span",jt,l(e.$t("order.title.stripe")),1)],2),o("div",{class:H({payway:!0,x402:!0,relative:!0,active:e.payWay===e.PayWay.X402}),onClick:t[3]||(t[3]=w=>e.payWay=e.PayWay.X402)},[t[15]||(t[15]=o("span",{class:"payicon x402"},null,-1)),o("span",Gt,l(e.$t("order.title.x402")),1),e.x402DiscountRate>0?(a(),g(k,{key:0,class:"absolute -top-2 right-0",effect:"light",size:"small",type:"success"},{default:n(()=>[P(l(e.$t("order.message.x402DiscountTag",{percent:e.x402BadgePercent})),1)]),_:1})):y("",!0)],2)])):y("",!0),e.order?.pay_way?(a(),p("div",Kt,[u(A,{type:"primary",round:"",size:"large",class:"btn-repay",onClick:e.onRepay},{default:n(()=>[P(l(e.$t("common.button.repay")),1)]),_:1},8,["onClick"])])):(a(),p("div",Jt,[u(A,{loading:e.prepaying,round:"",type:"primary",size:"large",class:"btn-pay",onClick:e.onPay},{default:n(()=>[P(l(e.$t("common.button.pay")),1)]),_:1},8,["loading","onClick"])]))]),_:1})]),_:1})):y("",!0)]),_:1})]),_:1})]),_:1}),u(h,null,{default:n(()=>[u(r,{span:24},{default:n(()=>[e.order&&e.payWay===e.PayWay.WechatPay?(a(),g(B,{key:0,modelValue:e.order,"onUpdate:modelValue":t[4]||(t[4]=w=>e.order=w),visible:e.paying,onHide:t[5]||(t[5]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.Stripe?(a(),g(z,{key:1,modelValue:e.order,"onUpdate:modelValue":t[6]||(t[6]=w=>e.order=w),visible:e.paying,onHide:t[7]||(t[7]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.AliPay?(a(),g(j,{key:2,modelValue:e.order,"onUpdate:modelValue":t[8]||(t[8]=w=>e.order=w),visible:e.paying,onHide:t[9]||(t[9]=w=>e.paying=!1)},null,8,["modelValue","visible"])):y("",!0),e.order&&e.payWay===e.PayWay.X402?(a(),g(q,{key:3,modelValue:e.order,"onUpdate:modelValue":t[10]||(t[10]=w=>e.order=w),session:e.x402Session,visible:e.paying,onHide:t[11]||(t[11]=w=>e.paying=!1)},null,8,["modelValue","session","visible"])):y("",!0)]),_:1})]),_:1})]),_:1})]),_:1})}const cs=M(It,[["render",Qt],["__scopeId","data-v-0cc9f57e"]]);export{cs as default};