1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/GroupBadge.vue_vue_type_script_setup_true_lang-xgjYBrct.js","assets/index-B0-mRxwY.js","assets/vendor-vue-BUKKVBnS.js","assets/vendor-i18n-CEzKrPUe.js","assets/vendor-misc-BMg1mc9a.js","assets/vendor-misc-DB0Q8XAf.css","assets/index-CPblPAYZ.css","assets/AppLayout.vue_vue_type_script_setup_true_lang-Dxag50KQ.js","assets/payment-DKQW2DpX.js","assets/useClipboard-DfWtOnxk.js","assets/LocaleSwitcher-CrTiLyrs.js","assets/LocaleSwitcher-BT83JRlq.css","assets/apiError-BL_sRCM7.js","assets/AppHeader-CPaPHR7f.css","assets/peak-rate-qZGUWdry.js","assets/PlatformIcon.vue_vue_type_script_setup_true_lang-BtQvaLV9.js"])))=>i.map(i=>d[i]); 2import{d as qe,z as d,A as e,C as n,I as X,K as r,u as a,L as h,k as g,c as B,F as R,M as N,E as Xe,w as pt,r as U,B as $e,U as Me,O as c,G as I,P as u,p as ye,a3 as on,a4 as Se,Q as qa,o as ct,S as dt,n as No,Z as ze,R as qs,a0 as Ns,a as Ko,D as ln,$ as Ie,a5 as Ks,W as Wo}from"./vendor-vue-BUKKVBnS.js";import{_ as de,B as Go,q as Qo,a as Vt,c as O,w as rn,f as Ws,b as Ht,a5 as Yo,aL as Fa,aM as La,aN as Ha,aO as Gs,aP as Jo,aQ as Ia,aR as Ra,aS as Nt,aT as Kt,ab as Mt,aU as Xo,aV as Zo,aW as el,aX as tl,aY as Qs,aZ as al,a_ as sl}from"./index-B0-mRxwY.js";import{m as nl,o as il,d as wt,r as ol,_ as ll}from"./AppLayout.vue_vue_type_script_setup_true_lang-Dxag50KQ.js";import{S as ke}from"./Select-Bg5qXyfo.js";import{l as rl}from"./vendor-misc-BMg1mc9a.js";import{P as Lt,b as Oa,c as za,d as dn,S as dl,e as Wt,f as Gt,p as cl,h as Ba,j as Ys,s as ul,W as _l}from"./providerConfig-BiMVXo-X.js";import{u as Ge}from"./vendor-i18n-CEzKrPUe.js";import{_ as Js}from"./GroupBadge.vue_vue_type_script_setup_true_lang-xgjYBrct.js";import{G as Xs}from"./GroupOptionItem-BbAjn3pc.js";import{_ as T}from"./Toggle.vue_vue_type_script_setup_true_lang-BKlACmDs.js";import{P as ml}from"./ProxySelector-rznS3G7R.js";import{_ as cn,u as un,a as vt,i as _n,s as mn}from"./TotpStepUpDialog.vue_vue_type_script_setup_true_lang-DXFeSBMj.js";import{O as pl,g as gl,a as yl,b as bl,e as xl,f as hl}from"./oidcClients-BU7S0uvG.js";import{b as pe,e as kt}from"./apiError-BL_sRCM7.js";import{u as fl}from"./useClipboard-DfWtOnxk.js";import{n as ja}from"./paymentFlow-3Bkabr7L.js";import{a as Zs,p as kl,b as en,c as vl}from"./registrationEmailPolicy-BIuq-4e8.js";/* empty css */import"./payment-DKQW2DpX.js";import"./LocaleSwitcher-CrTiLyrs.js";/* empty css */import"./peak-rate-qZGUWdry.js";import"./PlatformIcon.vue_vue_type_script_setup_true_lang-BtQvaLV9.js";import"./totp-DzqInKCL.js";const ue={bodyMiB:1024,minBudgetMiB:512,budgetMiB:65536,requests:4096,imageMiB:512,totalMiB:512,images:65536,storageMiB:262144,storageEntries:1048576,ttlMinutes:10080},wl={class:"flex flex-col items-center gap-0.5 cursor-pointer"},Cl={class:"text-xs text-gray-500 dark:text-gray-400 whitespace-nowrap"},Vl=["aria-checked"],Ct=qe({__name:"ToggleSwitch",props:{label:{},checked:{type:Boolean}},emits:["toggle"],setup(M,{emit:t}){const E=t;return(k,L)=>(r(),d("label",wl,[e("span",Cl,n(M.label),1),e("button",{type:"button",role:"switch","aria-checked":M.checked,onClick:L[0]||(L[0]=P=>E("toggle")),class:X(["relative inline-flex h-5 w-9 shrink-0 rounded-full border-2 border-transparent transition-colors duration-200",M.checked?"bg-primary-500":"bg-gray-300 dark:bg-dark-600"])},[e("span",{class:X(["pointer-events-none inline-block h-4 w-4 rounded-full bg-white shadow-sm transition-transform duration-200",M.checked?"translate-x-4":"translate-x-0"])},null,2)],10,Vl)]))}}),Ul=["title"],Sl={class:"flex items-center gap-3"},$l={class:"text-sm font-medium text-gray-900 dark:text-white"},Pl={class:"text-xs text-gray-400 dark:text-gray-500"},El={key:0,class:"text-xs text-gray-400 dark:text-gray-500"},Tl={key:1,class:"text-xs text-gray-300 dark:text-gray-600"},Al={key:2,class:"flex items-center gap-1"},Ml=["onClick"],Fl={class:"flex items-center gap-4"},Ll={class:"flex items-center gap-2 border-l border-gray-200 pl-3 dark:border-dark-600"},Hl={class:"text-xs"},Il={class:"text-xs"}
2,Rl=qe({__name:"ProviderCard",props:{provider:{},enabled:{type:Boolean},availableTypes:{}},emits:["toggleField","toggleType","edit","delete"],setup(M,{emit:t}){const E={easypay:"admin.settings.payment.providerEasypay",alipay:"admin.settings.payment.providerAlipay",wxpay:"admin.settings.payment.providerWxpay",stripe:"admin.settings.payment.providerStripe",airwallex:"admin.settings.payment.providerAirwallex"},k=M,L=t,{t:P}=Ge(),H=B(()=>P(E[k.provider.provider_key]||k.provider.provider_key)),x=B(()=>k.provider.payment_mode===Lt?P("admin.settings.payment.modeQRCode"):k.provider.payment_mode===Oa?P("admin.settings.payment.modePopup"):k.provider.payment_mode===za?P("admin.settings.payment.modeRedirect"):"");function w(f){return Array.isArray(k.provider.supported_types)&&k.provider.supported_types.includes(f)}return(f,S)=>(r(),d("div",{class:X(["group relative rounded-lg border transition-all",M.enabled?"border-gray-200 dark:border-dark-600":"border-gray-200 bg-gray-50 opacity-50 dark:border-dark-700 dark:bg-dark-800/50"]),title:M.enabled?void 0:a(P)("admin.settings.payment.typeDisabled")+" â "+a(P)("admin.settings.payment.enableTypesFirst")},[e("div",{class:X(["flex items-center justify-between px-4 py-2.5",!M.enabled&&"pointer-events-none"])},[e("div",Sl,[e("div",{class:X(["rounded-md p-1.5",M.provider.enabled&&M.enabled?"bg-green-100 dark:bg-green-900/30":"bg-gray-100 dark:bg-dark-700"])},[g(de,{name:"server",size:"sm",class:X(M.provider.enabled&&M.enabled?"text-green-600 dark:text-green-400":"text-gray-400")},null,8,["class"])],2),e("span",$l,n(M.provider.name),1),e("span",Pl,n(H.value),1),M.provider.payment_mode?(r(),d("span",El,"· "+n(x.value),1)):h("",!0),M.enabled&&M.availableTypes.length?(r(),d("span",Tl,"|")):h("",!0),M.enabled?(r(),d("div",Al,[(r(!0),d(R,null,N(M.availableTypes,A=>(r(),d("button",{key:A.value,type:"button",onClick:ee=>L("toggleType",A.value),class:X(["rounded px-2 py-0.5 text-xs font-medium transition-all",w(A.value)?"bg-primary-500 text-white":"bg-gray-100 text-gray-400 dark:bg-dark-700 dark:text-gray-500"])},n(A.label),11,Ml))),128))])):h("",!0)]),e("div",Fl,[g(Ct,{label:a(P)("common.enabled"),checked:M.provider.enabled,onToggle:S[0]||(S[0]=A=>L("toggleField","enabled"))},null,8,["label","checked"]),g(Ct,{label:a(P)("admin.settings.payment.refundEnabled"),checked:M.provider.refund_enabled,onToggle:S[1]||(S[1]=A=>L("toggleField","refund_enabled"))},null,8,["label","checked"]),M.provider.refund_enabled?(r(),Xe(Ct,{key:0,label:a(P)("admin.settings.payment.allowUserRefund"),checked:M.provider.allow_user_refund,onToggle:S[2]||(S[2]=A=>L("toggleField","allow_user_refund"))},null,8,["label","checked"])):h("",!0),e("div",Ll,[e("button",{type:"button",onClick:S[3]||(S[3]=A=>L("edit")),class:"flex flex-col items-center gap-0.5 rounded-lg p-1.5 text-gray-500 transition-colors hover:bg-blue-50 hover:text-blue-600 dark:hover:bg-blue-900/20 dark:hover:text-blue-400"},[g(de,{name:"edit",size:"sm"}),e("span",Hl,n(a(P)("common.edit")),1)]),e("button",{type:"button",onClick:S[4]||(S[4]=A=>L("delete")),class:"flex flex-col items-center gap-0.5 rounded-lg p-1.5 text-gray-500 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20 dark:hover:text-red-400"},[g(de,{name:"trash",size:"sm"}),e("span",Il,n(a(P)("common.delete")),1)])])])],2)],10,Ul))}}),Bl={class:"card"},jl={class:"border-b border-gray-100 px-4 py-3 dark:border-dark-700"},Dl={class:"flex items-center justify-between"},Ol={class:"text-base font-semibold text-gray-900 dark:text-white"},zl={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},ql={class:"flex items-center gap-2"},Nl=["disabled","title"],Kl=["disabled"],Wl={class:"p-4"},Gl={key:0,class:"flex items-center justify-center py-6"},Ql={class:"min-w-0 flex-1"},Yl={key:2,class:"py-6 text-center"},Jl={class:"text-sm text-gray-500 dark:text-gray-400"},Xl=qe({__name:"PaymentProviderList",props:{providers:{},loading:{type:Boolean},canCreate:{type:Boolean},enabledPaymentTypes:{},allPaymentTypes:{},redirectLabel:{}},emits:["refresh","create","edit","delete","toggleField","toggleType","reorder"],setup(M,{emit:t}){const E=M,k=t,{t:L}=Ge(),P=U([]);pt(()=>E.providers,f=>{P.value=[...f]},{immediate:!0});function H(){const f=P.value.map((S,A)=>({id:S.id,sort_order:A}));k("reorder",f)}function x(f){return E.enabledPaymentTypes.includes(f)}function w(f){return dn(f,E.allPaymentTypes,E.redirectLabel).map(S=>S.label===S.value?{...S,label:L(`payment.methods.${S.value}`,S.value)}:S)}return(f,S)=>
2(r(),d("div",Bl,[e("div",jl,[e("div",Dl,[e("div",null,[e("h2",Ol,n(a(L)("admin.settings.payment.providerManagement")),1),e("p",zl,n(a(L)("admin.settings.payment.providerManagementDesc")),1)]),e("div",ql,[e("button",{type:"button",onClick:S[0]||(S[0]=A=>k("refresh")),disabled:M.loading,class:"btn btn-secondary btn-sm",title:a(L)("common.refresh")},[g(de,{name:"refresh",size:"sm",class:X(M.loading?"animate-spin":"")},null,8,["class"])],8,Nl),e("button",{type:"button",onClick:S[1]||(S[1]=A=>k("create")),disabled:!M.canCreate,class:X(M.canCreate?"btn btn-primary btn-sm":"btn btn-secondary btn-sm cursor-not-allowed opacity-50")},n(a(L)("admin.settings.payment.createProvider")),11,Kl)])])]),e("div",Wl,[M.loading&&!M.providers.length?(r(),d("div",Gl,[...S[4]||(S[4]=[e("div",{class:"h-5 w-5 animate-spin rounded-full border-2 border-primary-500 border-t-transparent"},null,-1)])])):h("",!0),M.providers.length?(r(),Xe(a(rl),{key:1,modelValue:P.value,"onUpdate:modelValue":S[2]||(S[2]=A=>P.value=A),animation:200,handle:".drag-handle",class:"space-y-3",onEnd:H},{default:$e(()=>[(r(!0),d(R,null,N(P.value,A=>(r(),d("div",{key:A.id,class:"flex items-start gap-2"},[S[5]||(S[5]=e("div",{class:"drag-handle mt-3 flex cursor-grab items-center text-gray-300 hover:text-gray-500 active:cursor-grabbing dark:text-dark-600 dark:hover:text-dark-400"},[e("svg",{class:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor"},[e("path",{d:"M7 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM13 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM7 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM13 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM7 14a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM13 14a2 2 0 1 0 0 4 2 2 0 0 0 0-4z"})])],-1)),e("div",Ql,[g(Rl,{provider:A,enabled:x(A.provider_key),"available-types":w(A.provider_key),onToggleField:ee=>k("toggleField",A,ee),onToggleType:ee=>k("toggleType",A,ee),onEdit:ee=>k("edit",A),onDelete:ee=>k("delete",A)},null,8,["provider","enabled","available-types","onToggleField","onToggleType","onEdit","onDelete"])])]))),128))]),_:1},8,["modelValue"])):M.loading?h("",!0):(r(),d("div",Yl,[e("p",Jl,n(M.canCreate?a(L)("admin.settings.payment.noProviders"):a(L)("admin.settings.payment.enableTypesFirst")),1),M.canCreate?(r(),d("button",{key:0,type:"button",onClick:S[3]||(S[3]=A=>k("create")),class:"btn btn-primary btn-sm mt-2"},n(a(L)("admin.settings.payment.createProvider")),1)):h("",!0)]))])]))}}),Zl={class:"grid grid-cols-2 gap-4"},er={class:"input-label"},tr={class:"input-label"},ar={class:"flex flex-wrap items-center gap-x-5 gap-y-2"},sr={key:1,class:"flex items-center gap-2"},nr={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},ir={class:"flex gap-1.5"},or=["onClick"],lr={key:2,class:"flex items-center gap-2"},rr={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},dr={class:"flex flex-wrap gap-1.5"},cr=["onClick"],ur={key:0,class:"space-y-3 rounded-lg border border-gray-100 p-3 dark:border-dark-700"},_r={class:"flex items-center justify-between gap-3"},mr={class:"text-sm font-medium text-gray-900 dark:text-white"},pr={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},gr={key:0,class:"space-y-2"},yr={class:"text-xs text-gray-500 dark:text-gray-400"},br=["onUpdate:modelValue"],xr={class:"text-xs text-gray-500 dark:text-gray-400"},hr=["onUpdate:modelValue"],fr={class:"text-xs text-gray-500 dark:text-gray-400"},kr=["onUpdate:modelValue","placeholder"],vr=["onClick"],wr={class:"border-t border-gray-200 pt-4 dark:border-dark-700"},Cr={class:"mb-3 flex items-center gap-2"},Vr={class:"text-sm font-semibold text-gray-900 dark:text-white"},Ur=["aria-label","title"],Sr={class:"space-y-3"},$r={class:"font-medium text-white"},Pr={class:"font-medium text-white"},Er={class:"text-gray-300"},Tr={class:"text-gray-300"},Ar={class:"text-gray-300"},Mr={key:0,class:"border-t border-white/10 pt-2 text-[11px] text-gray-300"},Fr={key:0,class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},Lr={class:"space-y-3"},Hr={class:"input-label"},Ir={key:0,class:"text-xs text-gray-400"},Rr={key:1,class:"text-red-500"},Br=["onUpdate:modelValue","placeholder"],jr={key:1,class:"relative"},Dr=["type","onUpdate:modelValue","placeholder"],Or=["onClick"],zr={key:0,class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},qr={key:1,class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Nr=["onUpdate:modelValue","placeholder"],Kr={key:4,class:"mt-1 text-xs leading-relaxed text-gray-500 dark:text-gray-400"},Wr={key:1,class:"mt-4 space-y-3"},Gr={key:0},Qr={class:"input-label"},Yr={class:"flex"},Jr=["placeholder"],Xr={class:"inline-flex items-center whitespace-nowrap rounded-r-lg border border-gray-300 bg-gray-50 px-3 text-xs text-gray-500 dark:border-dark-600 dark:bg-dark-700 dark:text-gray-400"},Zr={key:1},ed={class:"input-label"},td={class:"flex"},ad=["placeholder"],sd={class:"inline-flex items-center whitespace-nowrap rounded-r-lg border border-gray-300 bg-gray-50 px-3 text-xs text-gray-500 dark:border-dark-600 dark:bg-dark-700 dark:text-gray-400"},nd={key:2,class:"mt-3 rounded-lg border border-blue-200 bg-blue-50 p-3 dark:border-blue-800/50 dark:bg-blue-900/20"},id={class:"text-xs text-blue-700 dark:text-blue-300"},od={class:"mt-1 block break-all rounded bg-blue-100 px-2 py-1 text-xs text-blue-800 dark:bg-blue-900/40 dark:text-blue-200"},ld={key:0,class:"mt-2 text-xs leading-relaxed text-blue-700 dark:text-blue-300"}
2,rd={key:1,class:"border-t border-gray-200 pt-4 dark:border-dark-700"},dd={class:"text-sm font-semibold text-gray-900 dark:text-white"},cd={class:"mt-3 space-y-3"},ud={class:"mb-2 text-xs font-medium text-gray-700 dark:text-gray-300"},_d={class:"grid grid-cols-3 gap-3"},md={class:"text-xs text-gray-500 dark:text-gray-400"},pd=["value","onInput","placeholder"],gd={class:"text-xs text-gray-500 dark:text-gray-400"},yd=["value","onInput","placeholder"],bd={class:"text-xs text-gray-500 dark:text-gray-400"},xd=["value","onInput","placeholder"],hd={class:"text-xs text-gray-400 dark:text-gray-500"},fd={class:"flex justify-end gap-3"},kd=["disabled"],vd=qe({__name:"PaymentProviderDialog",props:{show:{type:Boolean},saving:{type:Boolean},editing:{},allKeyOptions:{},enabledKeyOptions:{},allPaymentTypes:{},redirectLabel:{}},emits:["close","save"],setup(M,{expose:t,emit:E}){function k(b){return b==="easypay"?Lt:""}function L(b){return b==="easypay"||b==="alipay"}function P(b,y){return b==="easypay"?y===Lt||y===Oa:b==="alipay"?y===""||y===za:y===""}const H=M,x=E,{t:w}=Ge(),f=ye({name:"",provider_key:"easypay",supported_types:[],enabled:!0,payment_mode:Lt,refund_enabled:!1,allow_user_refund:!1}),S=ye({}),A=ye({}),ee=U(""),J=U(""),me=U(!1),te=ye({}),le=ye([]),ce=typeof window<"u"?window.location.origin:"",oe={stripe:"admin.settings.payment.stripeWebhookHint",airwallex:"admin.settings.payment.airwallexWebhookHint"},D=B(()=>{const b=_l[f.provider_key];return oe[f.provider_key]&&b?ce+b:""}),Q=B(()=>oe[f.provider_key]||"admin.settings.payment.stripeWebhookHint"),z=B(()=>Ba[f.provider_key]||null),K=B(()=>L(f.provider_key)),Z=B(()=>f.provider_key==="alipay"?[{value:"",label:w("admin.settings.payment.modeQRCode")},{value:za,label:w("admin.settings.payment.modeRedirect")}]:[{value:Lt,label:w("admin.settings.payment.modeQRCode")},{value:Oa,label:w("admin.settings.payment.modePopup")}]),Y=B(()=>{const b=dn(f.provider_key,H.allPaymentTypes,H.redirectLabel);if(f.provider_key==="easypay")for(const y of ve())b.some(V=>V.value===y.type)||b.push({value:y.type,label:y.displayName||y.type});return b.map(y=>y.label===y.value?{...y,label:w(`payment.methods.${y.value}`,y.value)}:y)}),ge=B(()=>(Gt[f.provider_key]||[]).map(y=>({...y,label:y.label||w(`admin.settings.payment.field_${y.key}`)}))),j=B(()=>f.provider_key==="alipay"?{summary:w("admin.settings.payment.alipayGuideSummary"),items:[{title:w("admin.settings.payment.alipayGuideFaceToFaceTitle"),open:w("admin.settings.payment.alipayGuideFaceToFaceOpen"),call:w("admin.settings.payment.alipayGuideFaceToFaceCall"),fallback:w("admin.settings.payment.alipayGuideFaceToFaceFallback")},{title:w("admin.settings.payment.alipayGuidePagePayTitle"),open:w("admin.settings.payment.alipayGuidePagePayOpen"),call:w("admin.settings.payment.alipayGuidePagePayCall"),fallback:w("admin.settings.payment.alipayGuidePagePayFallback")},{title:w("admin.settings.payment.alipayGuideWapTitle"),open:w("admin.settings.payment.alipayGuideWapOpen"),call:w("admin.settings.payment.alipayGuideWapCall"),fallback:w("admin.settings.payment.alipayGuideWapFallback")}]}:f.provider_key==="wxpay"?{summary:w("admin.settings.payment.wxpayGuideSummary"),note:w("admin.settings.payment.wxpayGuideNote"),items:[{title:w("admin.settings.payment.wxpayGuideNativeTitle"),open:w("admin.settings.payment.wxpayGuideNativeOpen"),call:w("admin.settings.payment.wxpayGuideNativeCall"),fallback:w("admin.settings.payment.wxpayGuideNativeFallback")},{title:w("admin.settings.payment.wxpayGuideJsapiTitle"),open:w("admin.settings.payment.wxpayGuideJsapiOpen"),call:w("admin.settings.payment.wxpayGuideJsapiCall"),fallback:w("admin.settings.payment.wxpayGuideJsapiFallback")},{title:w("admin.settings.payment.wxpayGuideH5Title"),open:w("admin.settings.payment.wxpayGuideH5Open"),call:w("admin.settings.payment.wxpayGuideH5Call"),fallback:w("admin.settings.payment.wxpayGuideH5Fallback")}]}:f.provider_key==="airwallex"?{summary:w("admin.settings.payment.airwallexGuideSummary"),note:w("admin.settings.payment.airwallexGuideNote"),items:[]}:null),se=B(()=>
2f.provider_key==="stripe"?[{value:"stripe",label:"Stripe"}]:f.supported_types.filter(y=>y!=="easypay").map(y=>H.allPaymentTypes.find(F=>F.value===y)||{value:y,label:y}));function ne(b){return f.supported_types.includes(b)}function Fe(b){f.supported_types.includes(b)?f.supported_types=f.supported_types.filter(y=>y!==b):f.supported_types=[...f.supported_types,b]}function ve(){return le.map(b=>({type:he(b.type),upstreamType:he(b.upstreamType),displayName:b.displayName.trim()})).filter(b=>b.type||b.upstreamType||b.displayName)}function he(b){return b.trim().toLowerCase()}function Le(){le.push({type:"",upstreamType:"",displayName:""})}function Pe(b){le.splice(b,1)}function He(){f.supported_types=[...Wt[f.provider_key]||[]],f.payment_mode=k(f.provider_key),Ne(),Re()}function Ne(){Object.keys(S).forEach(b=>delete S[b]),Object.keys(A).forEach(b=>delete A[b]),Object.keys(te).forEach(b=>delete te[b]),ee.value="",J.value="",me.value=!1,le.splice(0,le.length)}function Re(){for(const b of Gt[f.provider_key]||[])b.defaultValue&&!S[b.key]&&(S[b.key]=b.defaultValue)}function Ze(b,y){var F;const V=(F=A[b])==null?void 0:F[y];return V&&V>0?String(V):""}function et(b){const y=A[b];return y?y.singleMin>0||y.singleMax>0||y.dailyLimit>0:!1}function Ee(b){return et(b)?w("admin.settings.payment.limitsNoLimit"):w("admin.settings.payment.limitsUseGlobal")}function Be(b,y,V){A[b]||(A[b]={});const F=Number(V);if(V===""||isNaN(F)){delete A[b][y];return}F<=0||(A[b][y]=F)}function tt(){const b={};for(const[y,V]of Object.entries(A)){const F={};for(const[ie,Ve]of Object.entries(V))Ve>0&&(F[ie]=Ve);Object.keys(F).length>0&&(b[y]=F)}return Object.keys(b).length>0?JSON.stringify(b):""}function Te(){if(!f.name.trim()){we(w("admin.settings.payment.validationNameRequired"));return}if(f.provider_key==="easypay"){const F=Ke();if(F){we(F);return}ot()}for(const F of Gt[f.provider_key]||[]){if(F.optional||H.editing&&F.sensitive)continue;if(!(S[F.key]||"").trim()){const Ve=F.label||w(`admin.settings.payment.field_${F.key}`);we(w("admin.settings.payment.validationFieldRequired",{field:Ve}));return}}const b=new Set((Gt[f.provider_key]||[]).filter(F=>F.clearable).map(F=>F.key)),y={};for(const[F,ie]of Object.entries(S)){if(!ie||!ie.trim()){b.has(F)&&(y[F]="");continue}y[F]=ie}f.provider_key==="easypay"&&(y.customMethods=ul(ve()));const V=Ba[f.provider_key];if(V){const F=(ee.value.trim()||ce).replace(/\/+$/,""),ie=(J.value.trim()||ce).replace(/\/+$/,"");ee.value=F,J.value=ie,V.notifyUrl&&(y.notifyUrl=F+V.notifyUrl),V.returnUrl&&(y.returnUrl=ie+V.returnUrl)}x("save",{provider_key:f.provider_key,name:f.name,supported_types:f.supported_types,enabled:f.enabled,payment_mode:K.value?f.payment_mode:"",refund_enabled:f.refund_enabled,allow_user_refund:f.refund_enabled?f.allow_user_refund:!1,config:y,limits:tt()})}function ot(){if(f.provider_key!=="easypay")return[];const b=new Set(Wt.easypay||[]),y=[],V=new Set;for(const F of ve())!F.type||!F.upstreamType||V.has(F.type)||(V.add(F.type),y.push(F.type));f.supported_types=f.supported_types.map(F=>he(F)).filter(F=>b.has(F)||y.includes(F));for(const F of y)f.supported_types.includes(F)||f.supported_types.push(F);return y}function Ke(){const b=new Set;for(const y of ve())if(y.type||y.upstreamType||y.displayName){if(!y.type||!y.upstreamType)return w("admin.settings.payment.validationEasyPayCustomMethodRequired");if(!/^[a-z0-9_-]+$/.test(y.type))return w("admin.settings.payment.validationEasyPayCustomMethodTypeInvalid");if(!/^[a-z0-9_.-]+$/.test(y.upstreamType))return w("admin.settings.payment.validationEasyPayCustomMethodUpstreamTypeInvalid");if((Wt.easypay||[]).includes(y.type))return w("admin.settings.payment.validationEasyPayCustomMethodReserved");if(y.type.startsWith("alipay")||y.type.startsWith("wxpay"))return w("admin.settings.payment.validationEasyPayCustomMethodPrefixReserved");if(b.has(y.type))return w("admin.settings.payment.validationEasyPayCustomMethodDuplicate");b.add(y.type)}return null}function we(b){Qo(()=>import("./GroupBadge.vue_vue_type_script_setup_true_lang-xgjYBrct.js").then(y=>y.i),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])).then(y=>y.useAppStore().showError(b))}function je(b){f.name="",f.provider_key=b,f.supported_types=[...Wt[b]||[]],f.enabled=!0,f.payment_mode=k(b),f.refund_enabled=!1,f.allow_user_refund=!1,Ne(),Re()}
2function at(b){if(f.name=b.name,f.provider_key=b.provider_key,f.supported_types=Array.isArray(b.supported_types)?[...b.supported_types]:[],f.enabled=b.enabled,f.payment_mode=P(b.provider_key,b.payment_mode||"")?b.payment_mode||"":k(b.provider_key),f.refund_enabled=b.refund_enabled,f.allow_user_refund=b.allow_user_refund,Ne(),b.config){for(const[V,F]of Object.entries(b.config))if(!(V==="notifyUrl"||V==="returnUrl")){if(V==="customMethods"&&b.provider_key==="easypay"){le.push(...cl(F));continue}S[V]=F}const y=Ba[b.provider_key];y!=null&&y.notifyUrl&&b.config.notifyUrl&&(ee.value=Ys(b.config.notifyUrl,y.notifyUrl)),y!=null&&y.returnUrl&&b.config.returnUrl&&(J.value=Ys(b.config.returnUrl,y.returnUrl))}if(Re(),b.limits)try{const y=JSON.parse(b.limits);for(const[V,F]of Object.entries(y))A[V]={...F};me.value=Object.keys(A).length>0}catch{}}return t({reset:je,loadProvider:at}),(b,y)=>(r(),Xe(Go,{show:M.show,title:M.editing?a(w)("admin.settings.payment.editProvider"):a(w)("admin.settings.payment.createProvider"),width:"wide",onClose:y[9]||(y[9]=V=>x("close"))},{footer:$e(()=>[e("div",fd,[e("button",{type:"button",onClick:y[8]||(y[8]=V=>x("close")),class:"btn btn-secondary"},n(a(w)("common.cancel")),1),e("button",{type:"submit",form:"provider-form",disabled:M.saving,class:"btn btn-primary"},n(M.saving?a(w)("common.saving"):a(w)("common.save")),9,kd)])]),default:$e(()=>[e("form",{id:"provider-form",onSubmit:Me(Te,["prevent"]),class:"space-y-4"},[e("div",Zl,[e("div",null,[e("label",er,[I(n(a(w)("admin.settings.payment.providerName"))+" ",1),y[10]||(y[10]=e("span",{class:"text-red-500"},"*",-1))]),c(e("input",{"onUpdate:modelValue":y[0]||(y[0]=V=>f.name=V),type:"text",class:"input",required:""},null,512),[[u,f.name]])]),e("div",null,[e("label",tr,[I(n(a(w)("admin.settings.payment.providerKey"))+" ",1),y[11]||(y[11]=e("span",{class:"text-red-500"},"*",-1))]),g(ke,{modelValue:f.provider_key,"onUpdate:modelValue":y[1]||(y[1]=V=>f.provider_key=V),options:M.editing?M.allKeyOptions:M.enabledKeyOptions,disabled:!!M.editing,onChange:He},null,8,["modelValue","options","disabled"])])]),e("div",ar,[g(Ct,{label:a(w)("common.enabled"),checked:f.enabled,onToggle:y[2]||(y[2]=V=>f.enabled=!f.enabled)},null,8,["label","checked"]),g(Ct,{label:a(w)("admin.settings.payment.refundEnabled"),checked:f.refund_enabled,onToggle:y[3]||(y[3]=V=>{f.refund_enabled=!f.refund_enabled,f.refund_enabled||(f.allow_user_refund=!1)})},null,8,["label","checked"]),f.refund_enabled?(r(),Xe(Ct,{key:0,label:a(w)("admin.settings.payment.allowUserRefund"),checked:f.allow_user_refund,onToggle:y[4]||(y[4]=V=>f.allow_user_refund=!f.allow_user_refund)},null,8,["label","checked"])):h("",!0),K.value?(r(),d("div",sr,[e("span",nr,n(a(w)("admin.settings.payment.paymentMode")),1),e("div",ir,[(r(!0),d(R,null,N(Z.value,V=>(r(),d("button",{key:V.value,type:"button",onClick:F=>f.payment_mode=V.value,class:X(["rounded-lg border px-2.5 py-1 text-xs font-medium transition-all",f.payment_mode===V.value?"border-primary-500 bg-primary-500 text-white shadow-sm":"border-gray-300 bg-white text-gray-600 hover:border-gray-400 hover:bg-gray-50 dark:border-dark-600 dark:bg-dark-800 dark:text-gray-300 dark:hover:border-dark-500"])},n(V.label),11,or))),128))])])):h("",!0),Y.value.length>1?(r(),d("div",lr,[e("span",rr,n(a(w)("admin.settings.payment.supportedTypes")),1),e("div",dr,[(r(!0),d(R,null,N(Y.value,V=>(r(),d("button",{key:V.value,type:"button",onClick:F=>Fe(V.value),class:X(["rounded-lg border px-2.5 py-1 text-xs font-medium transition-all",ne(V.value)?"border-primary-500 bg-primary-500 text-white shadow-sm":"border-gray-300 bg-white text-gray-600 hover:border-gray-400 hover:bg-gray-50 dark:border-dark-600 dark:bg-dark-800 dark:text-gray-300 dark:hover:border-dark-500"])},n(V.label),11,cr))),128))])])):h("",!0)]),f.provider_key==="easypay"?(r(),d("div",ur,[e("div",_r,[e("div",null,[e("h5",mr,n(a(w)("admin.settings.payment.easypayCustomMethods")),1),e("p",pr,n(a(w)("admin.settings.payment.easypayCustomMethodsHint")),1)]),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:Le},n(a(w)("admin.settings.payment.addCustomMethod")),1)]),le.length?(r(),d("div",gr,[(r(!0),d(R,null,N(le,(V,F)=>(r(),d("div",{key:F,class:"grid grid-cols-[1fr_1fr_1fr_auto] items-end gap-2"},[e("div",null,[e("label",yr,n(a(w)("admin.settings.payment.customMethodT
2ype")),1),c(e("input",{"onUpdate:modelValue":ie=>V.type=ie,type:"text",class:"input mt-0.5",placeholder:"credit_card"},null,8,br),[[u,V.type]])]),e("div",null,[e("label",xr,n(a(w)("admin.settings.payment.customMethodUpstreamType")),1),c(e("input",{"onUpdate:modelValue":ie=>V.upstreamType=ie,type:"text",class:"input mt-0.5",placeholder:"credit_card"},null,8,hr),[[u,V.upstreamType]])]),e("div",null,[e("label",fr,n(a(w)("admin.settings.payment.customMethodDisplayName")),1),c(e("input",{"onUpdate:modelValue":ie=>V.displayName=ie,type:"text",class:"input mt-0.5",placeholder:a(w)("admin.settings.payment.customMethodDisplayNamePlaceholder")},null,8,kr),[[u,V.displayName]])]),e("button",{type:"button",class:"rounded-lg border border-red-200 px-2.5 py-2 text-xs font-medium text-red-600 transition-colors hover:bg-red-50 dark:border-red-800/60 dark:text-red-300 dark:hover:bg-red-900/20",onClick:ie=>Pe(F)},n(a(w)("common.delete")),9,vr)]))),128))])):h("",!0)])):h("",!0),e("div",wr,[e("div",Cr,[e("h4",Vr,n(a(w)("admin.settings.payment.providerConfig")),1),j.value?(r(),Xe(nl,{key:0,trigger:"click","width-class":"w-80"},{trigger:$e(()=>[e("button",{type:"button",class:"inline-flex h-5 w-5 items-center justify-center rounded-full border border-gray-300 text-[11px] font-semibold text-gray-400 transition-colors hover:border-primary-500 hover:text-primary-600 dark:border-dark-500 dark:text-gray-500 dark:hover:border-primary-400 dark:hover:text-primary-400","aria-label":a(w)("admin.settings.payment.paymentGuideTrigger"),title:a(w)("admin.settings.payment.paymentGuideTrigger")}," ? ",8,Ur)]),default:$e(()=>[e("div",Sr,[e("p",$r,n(j.value.summary),1),(r(!0),d(R,null,N(j.value.items,V=>(r(),d("div",{key:V.title,class:"space-y-1.5 border-t border-white/10 pt-2 first:border-t-0 first:pt-0"},[e("p",Pr,n(V.title),1),e("p",null,[e("span",Er,n(a(w)("admin.settings.payment.guideOpenLabel")),1),I(n(V.open),1)]),e("p",null,[e("span",Tr,n(a(w)("admin.settings.payment.guideCallLabel")),1),I(n(V.call),1)]),e("p",null,[e("span",Ar,n(a(w)("admin.settings.payment.guideFallbackLabel")),1),I(n(V.fallback),1)])]))),128)),j.value.note?(r(),d("p",Mr,n(j.value.note),1)):h("",!0)])]),_:1})):h("",!0)]),j.value?(r(),d("p",Fr,n(j.value.summary),1)):h("",!0),e("div",Lr,[(r(!0),d(R,null,N(ge.value,V=>{var F;return r(),d("div",{key:V.key},[e("label",Hr,[I(n(V.label)+" ",1),V.optional?(r(),d("span",Ir,"("+n(a(w)("common.optional"))+")",1)):(r(),d("span",Rr," *"))]),V.sensitive&&V.key.toLowerCase().includes("key")&&V.key!=="pkey"?c((r(),d("textarea",{key:0,"onUpdate:modelValue":ie=>S[V.key]=ie,rows:"3",class:"input font-mono text-xs",autocomplete:"new-password","data-1p-ignore":"","data-lpignore":"true","data-bwignore":"true",spellcheck:"false",placeholder:M.editing?a(w)("admin.accounts.leaveEmptyToKeep"):""},null,8,Br)),[[u,S[V.key]]]):V.sensitive?(r(),d("div",jr,[c(e("input",{type:te[V.key]?"text":"password","onUpdate:modelValue":ie=>S[V.key]=ie,class:"input pr-10",autocomplete:"new-password","data-1p-ignore":"","data-lpignore":"true","data-bwignore":"true",spellcheck:"false",placeholder:M.editing?a(w)("admin.accounts.leaveEmptyToKeep"):V.defaultValue||""},null,8,Dr),[[on,S[V.key]]]),e("button",{type:"button",onClick:ie=>te[V.key]=!te[V.key],class:"absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300"},[te[V.key]?(r(),d("svg",zr,[...y[12]||(y[12]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.878 9.878L3 3m6.878 6.878L21 21"},null,-1)])])):(r(),d("svg",qr,[...y[13]||(y[13]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"},null,-1),e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"},null,-1)])]))],8,Or)])):(F=V.options)!=null&&F.length?(r(),Xe(ke,{key:2,modelValue:S[V.key],"onUpdate:modelValue":ie=>S[V.key]=ie,options:V.options,searchable:V.options.length>5},null,8,["modelValue","onUpdate:modelValue","options","searchable"])):c((r(),d("input",{key:3,type:"text","onUpdate:modelValue":ie=>S[V.key]=ie,class:"input",placeholder:V.defaultValue||""},null,8,Nr)),[[u,S[V.key]]]),V.hintKey?(r(),d("p",Kr,n(a(w)(V.hintKey)),1)):h("",!0)])}),128))]),z.value?(r(),d("div",Wr,[z.value.notifyUrl?(r(),d("div",Gr,[e("label",Qr,[I(n(a(w)("admin.settings.payment.field_notifyUrl"))+" ",1),y[14]||(y[14]=e("span",{class:"text-red-500"},"*",-1))]),e("div",Yr,[c(e("input",{"onUpdate:modelValue":y[5]||(y[5]=V=>ee.value=V),type:"text",class:"input min-w-0 flex-1 !rounded-r-none !border-r-0",placeholder:a(ce)},null,8,Jr),[[u,ee.value]]),e("span",Xr,n(z.value.notifyUrl),1)])])):h("",!0),z.value.returnUrl?(r(),d("div",Zr,[e("label",ed,[I(n(a(w)("admin.settings.payment.field_returnUrl"))+" ",1),y[15]||(y[15]=e("span",{class:"text-red-500"},"*",-1))]),e("div",td,[c(e("input",{"onUpdate:modelValue":y[6]||(y[6]=V=>J.value=V),type:"text",class:"input min-w-0 flex-1 !rounded-r-none !border-r-0",placeholder:a(ce)},null,8,ad),[[u,J.value]]),e("span",sd,n(z.value.returnUrl),1)])])):h("",!0)])):h("",!0),D.value?(r(),d("div",nd,[e("p",id,n(a(w)(Q.value)),1),e("code",od,n(D.value),1),f.provider_key==="str
2ipe"?(r(),d("p",ld,n(a(w)("admin.settings.payment.stripeWebhookApiVersionHint",{version:a(dl)})),1)):h("",!0)])):h("",!0)]),se.value.length?(r(),d("div",rd,[e("button",{type:"button",onClick:y[7]||(y[7]=V=>me.value=!me.value),class:"flex w-full items-center justify-between"},[e("h4",dd,n(a(w)("admin.settings.payment.limitsTitle")),1),(r(),d("svg",{class:X(["h-4 w-4 text-gray-400 transition-transform",me.value&&"rotate-180"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...y[16]||(y[16]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2))]),c(e("div",cd,[(r(!0),d(R,null,N(se.value,V=>(r(),d("div",{key:V.value,class:"rounded-lg border border-gray-100 p-3 dark:border-dark-700"},[e("p",ud,n(V.label),1),e("div",_d,[e("div",null,[e("label",md,n(a(w)("admin.settings.payment.limitSingleMin")),1),e("input",{type:"number",value:Ze(V.value,"singleMin"),onInput:F=>Be(V.value,"singleMin",F.target.value),class:"input mt-0.5",min:"1",step:"0.01",placeholder:Ee(V.value)},null,40,pd)]),e("div",null,[e("label",gd,n(a(w)("admin.settings.payment.limitSingleMax")),1),e("input",{type:"number",value:Ze(V.value,"singleMax"),onInput:F=>Be(V.value,"singleMax",F.target.value),class:"input mt-0.5",min:"1",step:"0.01",placeholder:Ee(V.value)},null,40,yd)]),e("div",null,[e("label",bd,n(a(w)("admin.settings.payment.limitDaily")),1),e("input",{type:"number",value:Ze(V.value,"dailyLimit"),onInput:F=>Be(V.value,"dailyLimit",F.target.value),class:"input mt-0.5",min:"1",step:"0.01",placeholder:Ee(V.value)},null,40,xd)])])]))),128)),e("p",hd,n(a(w)("admin.settings.payment.limitsHint")),1)],512),[[Se,me.value]])])):h("",!0)],32)]),_:1},8,["show","title"]))}}),wd={class:"flex items-start gap-4"},Cd={class:"flex-shrink-0"},Vd=["innerHTML"],Ud=["src"],Sd={class:"flex-1 space-y-2"},$d={class:"flex items-center gap-2"},Pd={class:"btn btn-secondary btn-sm cursor-pointer"},Ed=["accept"],Td={key:0,class:"text-xs text-gray-500 dark:text-gray-400"},Ad={key:1,class:"text-xs text-red-500"},Qt=qe({__name:"ImageUpload",props:{modelValue:{},mode:{default:"image"},size:{default:"md"},uploadLabel:{default:""},removeLabel:{default:""},hint:{default:""},maxSize:{default:300*1024}},emits:["update:modelValue"],setup(M,{emit:t}){const{t:E}=Ge(),k=M,L=t,P=U("");let H=null;qa(()=>H==null?void 0:H.abort());function x(){H==null||H.abort(),L("update:modelValue","")}const w=B(()=>k.uploadLabel||E("common.upload")),f=B(()=>k.removeLabel||E("common.remove")),S=B(()=>k.mode==="svg"?".svg":"image/*"),A=B(()=>k.mode==="svg"?il(k.modelValue??""):""),ee=B(()=>k.size==="sm"?"h-14 w-14":"h-20 w-20"),J=B(()=>k.size==="sm"?"h-7 w-7":"h-12 w-12"),me=B(()=>k.size==="sm"?"h-5 w-5":"h-8 w-8");function te(le){var D;const ce=le.target,oe=(D=ce.files)==null?void 0:D[0];if(P.value="",!!oe){if(H==null||H.abort(),k.maxSize&&oe.size>k.maxSize){P.value=E("common.fileTooLargeKb",{size:(oe.size/1024).toFixed(1),max:(k.maxSize/1024).toFixed(0)}),ce.value="";return}if(H=new FileReader,k.mode==="svg")H.onload=Q=>{var K;const z=(K=Q.target)==null?void 0:K.result;z&&L("update:modelValue",z.trim())},H.readAsText(oe);else{if(!oe.type.startsWith("image/")){P.value=E("common.selectImageFile"),ce.value="";return}H.onload=Q=>{var z;L("update:modelValue",(z=Q.target)==null?void 0:z.result)},H.readAsDataURL(oe)}H.onerror=()=>{P.value=E("common.fileReadFailed")},ce.value=""}}return(le,ce)=>(r(),d("div",wd,[e("div",Cd,[e("div",{class:X(["flex items-center justify-center overflow-hidden rounded-xl border-2 border-dashed border-gray-300 bg-gray-50 dark:border-dark-600 dark:bg-dark-800",[ee.value,{"border-solid":!!M.modelValue}]])},[M.mode==="svg"&&M.modelValue?(r(),d("span",{key:0,class:X(["text-gray-600 dark:text-gray-300 [&>svg]:h-full [&>svg]:w-full",J.value]),innerHTML:A.value},null,10,Vd)):M.mode==="image"&&M.modelValue?(r(),d("img",{key:1,src:M.modelValue,alt:"",class:"h-full w-full object-contain"},null,8,Ud)):(r(),d("svg",{key:2,class:X(["text-gray-400 dark:text-dark-500",me.value]),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[...ce[0]||(ce[0]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"},null,-1)])],2))],2)]),e("div",Sd,[e("div",$d,[e("label",Pd,[e("input",{type:"file",accept:S.value,class:"hidden",onChange:te},null,40,Ed),g(de,{name:"upload",size:"sm",class:"mr-1.5","stroke-width":2}
2),I(" "+n(w.value),1)]),M.modelValue?(r(),d("button",{key:0,type:"button",class:"btn btn-secondary btn-sm text-red-600 hover:text-red-700 dark:text-red-400",onClick:x},[g(de,{name:"trash",size:"sm",class:"mr-1.5","stroke-width":2}),I(" "+n(f.value),1)])):h("",!0)]),M.hint?(r(),d("p",Td,n(M.hint),1)):h("",!0),P.value?(r(),d("p",Ad,n(P.value),1)):h("",!0)])]))}}),Md={class:"mt-5 border-t border-gray-200 pt-5 dark:border-dark-600","aria-labelledby":"backup-archive-title"},Fd={class:"mb-3 flex items-center justify-between gap-3"},Ld={id:"backup-archive-title",class:"text-sm font-medium text-gray-900 dark:text-white"},Hd={class:"inline-flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},Id=["checked"],Rd={key:0},Bd={class:"grid grid-cols-1 items-start gap-3 md:grid-cols-2"},jd={for:"backup-archive-dates",class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Dd=["aria-expanded","onKeydown"],Od={class:"flex min-w-0 flex-wrap items-center gap-1"},zd={key:0,class:"text-gray-400"},qd={key:1,class:"text-xs"},Nd={key:0,id:"backup-archive-options",class:"absolute left-0 top-full z-30 mt-1 w-full rounded-xl border border-gray-200 bg-white p-2 shadow-lg dark:border-dark-600 dark:bg-dark-800"},Kd={class:"mb-1 flex items-center justify-between gap-2 px-1 text-xs text-gray-500 dark:text-gray-400"},Wd=["aria-label"],Gd=["value","checked","aria-label","onChange"],Qd={class:"flex min-h-10 cursor-pointer items-center gap-1.5 rounded px-1 text-xs hover:bg-gray-100 dark:hover:bg-dark-700"},Yd=["checked","aria-label"],Jd={id:"backup-archive-dates-hint",class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Xd={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Zd={class:"flex min-h-10 flex-wrap items-center gap-3"},ec={key:0,class:"flex min-w-0 flex-1 items-center gap-2"},tc=["value","aria-label"],ac={class:"shrink-0 text-sm"},sc={class:"inline-flex min-h-10 shrink-0 items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},nc=["checked"],ic={id:"backup-archive-retention-hint",class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},oc={class:"mt-3 text-xs text-gray-500 dark:text-gray-400"},lc={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},rc={key:1,class:"text-xs text-gray-500 dark:text-gray-400"},dc=qe({__name:"BackupArchiveSettings",props:{modelValue:{}},emits:["update:modelValue"],setup(M,{emit:t}){const E=M,k=t,{t:L}=Ge(),P=U(!1),H=U(null),x=U(null),w=U(12),f=B(()=>E.modelValue.retain_count===0),S=B(()=>[...[...E.modelValue.days].sort((D,Q)=>D-Q).map(D=>L("admin.backup.archive.day",{day:D})),...E.modelValue.include_month_end?[L("admin.backup.archive.monthEnd")]:[]]);pt(()=>E.modelValue.retain_count,D=>{Number.isInteger(D)&&D>0&&(w.value=D)},{immediate:!0}),pt(()=>E.modelValue.enabled,D=>{D||(P.value=!1)});function A(D){k("update:modelValue",{...E.modelValue,...D})}function ee(D){const Q=E.modelValue.days.includes(D)?E.modelValue.days.filter(z=>z!==D):[...E.modelValue.days,D];A({days:Q.sort((z,K)=>z-K)})}function J(D){const Q=D.target.valueAsNumber;A({retain_count:Q===0?Number.NaN:Q})}function me(D){A({retain_count:D.target.checked?0:w.value})}function te(D=!1){var Q;P.value=!1,D&&((Q=x.value)==null||Q.focus())}async function le(){var D,Q;P.value=!0,await No(),(Q=(D=H.value)==null?void 0:D.querySelector("input"))==null||Q.focus()}function ce(D){var Q;D.relatedTarget instanceof Node&&!((Q=H.value)!=null&&Q.contains(D.relatedTarget))&&te()}function oe(D){var Q;D.target instanceof Node&&!((Q=H.value)!=null&&Q.contains(D.target))&&te()}return ct(()=>document.addEventListener("click",oe)),qa(()=>document.removeEventListener("click",oe)),(D,Q)=>(r(),d("section",Md,[e("div",Fd,[e("h4",Ld,n(a(L)("admin.backup.archive.title")),1),e("label",Hd,[e("input",{"data-testid":"archive-enabled",type:"checkbox",checked:M.modelValue.enabled,onChange:Q[0]||(Q[0]=z=>A({enabled:z.target.checked}))},null,40,Id),I(" "+n(a(L)("admin.backup.archive.enabled")),1)])]),M.modelValue.enabled?(r(),d("div",Rd,[e("div",Bd,[e("div",null,[e("label",jd,n(a(L)("admin.backup.archive.dates")),1),e("div",{ref_key:"datePicker",ref:H,class:"relative",onKeydown:Q[4]||(Q[4]=dt(Me(z=>te(!0),["stop","prevent"]),["esc"])),onFocusout:ce},[e("button",{id:"backup-archive-dates",ref_key:"dateTrigger",ref:x,type:"button",class:"input flex w-full items-center justify-between gap-2 text-left","aria-expanded":P.value,"aria-controls":"backup-archive-options","aria-describedby":"backup-archive-dates-hint",onClick:Q[1]||(Q[1]=z=>P.value=!P.value),onKeydown:dt(Me(le,["prevent"]),["down"])},[e("span",Od,[S.value.length?h("",!0):(r(),d("span",zd,n(a(L)("admin.backup.archive.
2selectDates")),1)),(r(!0),d(R,null,N(S.value.slice(0,3),z=>(r(),d("span",{key:z,class:"rounded bg-primary-50 px-1.5 py-0.5 text-xs text-primary-700 dark:bg-primary-900/30 dark:text-primary-300"},n(z),1))),128)),S.value.length>3?(r(),d("span",qd,"+"+n(S.value.length-3),1)):h("",!0)]),g(de,{name:"chevronDown",size:"sm",class:"shrink-0"})],40,Dd),P.value?(r(),d("div",Nd,[e("div",Kd,[e("span",null,n(a(L)("admin.backup.archive.selectedDates",{count:S.value.length})),1),e("button",{type:"button",class:"min-h-9 px-2 text-primary-600 dark:text-primary-400",onClick:Q[2]||(Q[2]=z=>te(!0))},n(a(L)("admin.backup.archive.done")),1)]),e("div",{class:"grid grid-cols-4 gap-1",role:"group","aria-label":a(L)("admin.backup.archive.dates")},[(r(),d(R,null,N(31,z=>e("label",{key:z,class:"flex min-h-10 cursor-pointer items-center gap-1.5 rounded px-1 text-xs hover:bg-gray-100 dark:hover:bg-dark-700"},[e("input",{type:"checkbox",value:z,checked:M.modelValue.days.includes(z),"aria-label":a(L)("admin.backup.archive.day",{day:z}),onChange:K=>ee(z)},null,40,Gd),I(" "+n(z),1)])),64)),e("label",Qd,[e("input",{type:"checkbox",value:"last",checked:M.modelValue.include_month_end,"aria-label":a(L)("admin.backup.archive.monthEnd"),onChange:Q[3]||(Q[3]=z=>A({include_month_end:z.target.checked}))},null,40,Yd),I(" "+n(a(L)("admin.backup.archive.monthEnd")),1)])],8,Wd)])):h("",!0)],544),e("p",Jd,n(a(L)("admin.backup.archive.datesHint")),1)]),e("div",null,[e("span",Xd,n(a(L)("admin.backup.archive.retention")),1),e("div",Zd,[f.value?h("",!0):(r(),d("label",ec,[e("input",{"data-testid":"archive-count",value:M.modelValue.retain_count,type:"number",min:"1",step:"1",class:"input w-full min-w-0","aria-label":a(L)("admin.backup.archive.count"),"aria-describedby":"backup-archive-retention-hint",onInput:J},null,40,tc),e("span",ac,n(a(L)("admin.backup.archive.copies")),1)])),e("label",sc,[e("input",{"data-testid":"archive-forever",type:"checkbox",checked:f.value,onChange:me},null,40,nc),I(" "+n(a(L)("admin.backup.archive.forever")),1)])]),e("p",ic,n(a(L)(f.value?"admin.backup.archive.foreverHint":"admin.backup.archive.countHint")),1)])]),e("p",oc,n(a(L)("admin.backup.archive.fallbackHint")),1),e("p",lc,n(a(L)("admin.backup.archive.independentHint")),1)])):(r(),d("p",rc,n(a(L)("admin.backup.archive.disabledHint")),1))]))}}),cc={class:"space-y-6"},uc={class:"card p-6"},_c={class:"mb-4 flex flex-wrap items-center justify-between gap-3"},mc={class:"text-base font-semibold text-gray-900 dark:text-white"},pc={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},gc={class:"grid grid-cols-1 gap-3 md:grid-cols-2"},yc={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},bc={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},xc={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},hc={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},fc={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},kc={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},vc=["placeholder"],wc={class:"inline-flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300 md:col-span-2"},Cc={class:"mt-4 flex flex-wrap gap-2"},Vc=["disabled"],Uc=["disabled"],Sc={class:"card p-6"},$c={class:"mb-4 flex flex-wrap items-center justify-between gap-3"},Pc={class:"text-base font-semibold text-gray-900 dark:text-white"},Ec={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Tc={class:"inline-flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},Ac={class:"inline-flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},Mc={class:"mt-3 grid grid-cols-1 gap-3 md:grid-cols-2"},Fc={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Lc=["placeholder"],Hc={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Ic={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Rc={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Bc={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},jc={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Dc=["placeholder"],Oc={class:"inline-flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300 md:col-span-2"},zc={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},qc=["placeholder"],Nc={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Kc={class:"mt-4 flex flex-wrap gap-2"},Wc=["disabled"],Gc=["disabled"],Qc={class:"card p-6","data-testid":"backup-schedule"},Yc={class:"mb-4"},Jc={class:"text-base font-semibold text-gray-900 dark:text-white"},Xc={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Zc={class:"grid grid-cols-1 gap-3 md:grid-cols-2"},eu={class:"inline-flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300 md:col-span-2"},tu={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},au={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},su={class:"mt-2 text-sm font-medium text-gray-900 dark:text-white md:col-span-2"},nu={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},iu={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},ou={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},lu={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},ru={class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},du={key:0,class:"mt-3 text-sm text-red-600 dark:text-red-400",role:"alert"}
2,cu={class:"mt-4 rounded-lg bg-gray-50 p-3 text-sm text-gray-700 dark:bg-dark-800 dark:text-gray-300","aria-live":"polite"},uu={class:"font-medium"},_u={class:"mt-4"},mu=["disabled"],pu={class:"card p-6"},gu={class:"mb-4 flex flex-wrap items-center justify-between gap-3"},yu={class:"text-base font-semibold text-gray-900 dark:text-white"},bu={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},xu={class:"flex flex-wrap items-center gap-2"},hu={class:"flex items-center gap-1"},fu={class:"text-xs text-gray-600 dark:text-gray-400"},ku=["disabled"],vu=["disabled"],wu={class:"overflow-x-auto"},Cu={class:"w-full min-w-[800px] text-sm"},Vu={class:"border-b border-gray-200 text-left text-xs uppercase tracking-wide text-gray-500 dark:border-dark-700 dark:text-gray-400"},Uu={class:"py-2 pr-4"},Su={class:"py-2 pr-4"},$u={class:"py-2 pr-4"},Pu={class:"py-2 pr-4"},Eu={class:"py-2 pr-4"},Tu={class:"py-2 pr-4"},Au={class:"py-2 pr-4"},Mu={class:"py-2"},Fu={class:"py-3 pr-4 font-mono text-xs"},Lu={class:"py-3 pr-4"},Hu={class:"py-3 pr-4 text-xs"},Iu={key:0,class:"ml-1 inline-block rounded bg-primary-50 px-1.5 py-0.5 text-primary-700 dark:bg-primary-900/30 dark:text-primary-300"},Ru={key:1,class:"mt-1 text-gray-500 dark:text-gray-400"},Bu={class:"py-3 pr-4 text-xs"},ju={class:"py-3 pr-4 text-xs"},Du={class:"py-3 pr-4 text-xs"},Ou={class:"py-3 pr-4 text-xs"},zu={class:"py-3 pr-4 text-xs"},qu={class:"py-3 text-xs"},Nu={class:"flex flex-wrap gap-1"},Ku=["onClick"],Wu=["disabled","onClick"],Gu=["onClick"],Qu={key:0},Yu={colspan:"9",class:"py-6 text-center text-sm text-gray-500 dark:text-gray-400"},Ju={class:"relative max-h-[85vh] w-full max-w-2xl overflow-y-auto rounded-xl bg-white p-6 shadow-2xl dark:bg-dark-800"},Xu={class:"mb-4 text-lg font-bold text-gray-900 dark:text-white"},Zu={class:"mb-4 text-sm text-gray-500 dark:text-gray-400"},e_={class:"mb-5"},t_={class:"mb-2 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},a_={class:"ml-8 list-decimal space-y-1 text-sm text-gray-600 dark:text-gray-300"},s_={class:"mb-5"},n_={class:"mb-2 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},i_={class:"ml-8 list-decimal space-y-1 text-sm text-gray-600 dark:text-gray-300"},o_={class:"mt-2 rounded-lg bg-amber-50 p-3 text-xs text-amber-700 dark:bg-amber-900/20 dark:text-amber-300"},l_={class:"mb-5"},r_={class:"mb-2 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},d_={class:"ml-8 text-sm text-gray-600 dark:text-gray-300"},c_={class:"ml-8 mt-1 block rounded bg-gray-100 px-3 py-2 text-xs text-gray-800 dark:bg-dark-700 dark:text-gray-200"},u_={class:"mb-5"},__={class:"mb-2 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},m_={class:"ml-8 overflow-hidden rounded-lg border border-gray-200 dark:border-dark-600"},p_={class:"w-full text-sm"},g_={class:"whitespace-nowrap bg-gray-50 px-3 py-2 font-medium text-gray-700 dark:bg-dark-700 dark:text-gray-300"},y_={class:"px-3 py-2 text-gray-600 dark:text-gray-400"},b_={class:"text-xs"},x_={class:"rounded-lg bg-green-50 p-3 text-xs text-green-700 dark:bg-green-900/20 dark:text-green-300"},h_={class:"mt-4 text-right"},f_={class:"relative max-h-[85vh] w-full max-w-lg overflow-y-auto rounded-xl bg-white p-6 shadow-2xl dark:bg-dark-800"},k_=["aria-label"],v_={class:"mb-1 text-lg font-bold text-gray-900 dark:text-white"},w_={class:"mb-4 text-sm text-gray-500 dark:text-gray-400"},C_={class:"space-y-2"},V_={class:"text-sm text-gray-700 dark:text-gray-300"},U_={class:"ml-2 text-xs text-gray-500 dark:text-gray-400"},S_=["href"],$_={class:"mt-4 text-right"},tn=900,P_=qe({__name:"BackupView",setup(M){const{t}=Ge(),E=Vt(),k=un();function L($){return _n($)?(E.showError(mn($)==="STEP_UP_ADMIN_API_KEY_FORBIDDEN"?t("stepUp.adminApiKeyForbidden"):t("stepUp.notEnabled")),!0):!1}const P=U({endpoint:"",region:"auto",bucket:"",access_key_id:"",secret_access_key:"",prefix:"backups/",force_path_style:!1}),H=U(!1),x=U(!1),w=U(!1),f=U({enabled:!1,reuse_backup_s3:!0,bucket:"",prefix:"images/",public_base_url:"",presign_expiry_hours:24,max_download_bytes:33554432,endpoint:"",region:"auto",access_key_id:"",secret_access_key:"",force_path_style:!1}),S=U(!1),A=U(!1),ee=U(!1),J=U({enabled:!1,cron_expr:"0 2 * * *",retain_days:14,retain_count:10}),me=U(!1),te=U({enabled:!1,days:[1],include_month_end:!1,retain_count:0}),le=U(oe(te.value)),ce=B(()=>te.value.enabled?oe(te.value):{...oe(le.value),enabled:!1});function oe($){return{...$,days:[...$.days]}}const D=B(()=>{const $=[J.value.retain_days,J.value.retain_count];return te.value.enabled&&$.push(te.value.retain_count),$.every(C=>Number.isSafeInteger(C)&&C>=0)?te.value.enabled&&!te.value.days.length&&!te.value.include_month_end?t("admin.backup.archive.
2selectDates"):"":t("admin.backup.archive.invalidRetention")}),Q=B(()=>{if(D.value)return D.value;const{retain_days:$,retain_count:C}=J.value,v=$>0&&C>0?t("admin.backup.schedule.previewBoth",{days:$,count:C}):$>0?t("admin.backup.schedule.previewDays",{days:$}):C>0?t("admin.backup.schedule.previewCount",{count:C}):t("admin.backup.schedule.previewUnlimited");if(!te.value.enabled)return v;const re=[...[...te.value.days].sort((_e,Ut)=>_e-Ut).map(_e=>t("admin.backup.archive.day",{day:_e})),...te.value.include_month_end?[t("admin.backup.archive.monthEnd")]:[]].join(", "),xe=te.value.retain_count===0?t("admin.backup.archive.forever"):t("admin.backup.archive.retainLatest",{count:te.value.retain_count});return`${v} ${t("admin.backup.archive.preview",{dates:re,retention:xe})}`}),z=U([]),K=U(!1),Z=U(!1),Y=U(""),ge=U(14),j=U([]),se=U(!1),ne=U(null),Fe=U(null);function ve($){const C=z.value.findIndex(v=>v.id===$.id);C>=0&&(z.value[C]=$)}function he($){Le();let C=0;ne.value=setInterval(async()=>{if(C++>=tn){Le(),Z.value=!1,E.showWarning(t("admin.backup.operations.backupRunning"));return}try{const v=await O.backup.getBackup($);ve(v),(v.status==="completed"||v.status==="failed")&&(Le(),Z.value=!1,v.status==="completed"?E.showSuccess(t("admin.backup.operations.backupCreated")):E.showError(v.error_message||t("admin.backup.operations.backupFailed")),await je())}catch{}},2e3)}function Le(){ne.value&&(clearInterval(ne.value),ne.value=null)}function Pe($){He();let C=0;Fe.value=setInterval(async()=>{if(C++>=tn){He(),Y.value="",E.showWarning(t("admin.backup.operations.restoreRunning"));return}try{const v=await O.backup.getBackup($);ve(v),(v.restore_status==="completed"||v.restore_status==="failed")&&(He(),Y.value="",v.restore_status==="completed"?E.showSuccess(t("admin.backup.actions.restoreSuccess")):E.showError(v.restore_error||t("admin.backup.operations.restoreFailed")),await je())}catch{}},2e3)}function He(){Fe.value&&(clearInterval(Fe.value),Fe.value=null)}function Ne(){document.hidden?(Le(),He()):je().then(()=>{const $=z.value.find(v=>v.status==="running");$&&(Z.value=!0,he($.id));const C=z.value.find(v=>v.restore_status==="running");C&&(Y.value=C.id,Pe(C.id))})}const Re=U(!1),Ze=B(()=>[{field:t("admin.backup.s3.endpoint"),value:"https://<account_id>.r2.cloudflarestorage.com"},{field:t("admin.backup.s3.region"),value:"auto"},{field:t("admin.backup.s3.bucket"),value:t("admin.backup.r2Guide.step4.bucketValue")},{field:t("admin.backup.s3.prefix"),value:"backups/"},{field:"Access Key ID",value:t("admin.backup.r2Guide.step4.fromStep2")},{field:"Secret Access Key",value:t("admin.backup.r2Guide.step4.fromStep2")},{field:t("admin.backup.s3.forcePathStyle"),value:t("admin.backup.r2Guide.step4.unchecked")}]);async function et(){try{const $=await O.backup.getS3Config();P.value={endpoint:$.endpoint||"",region:$.region||"auto",bucket:$.bucket||"",access_key_id:$.access_key_id||"",secret_access_key:"",prefix:$.prefix||"backups/",force_path_style:$.force_path_style},H.value=!!$.access_key_id}catch($){E.showError(($==null?void 0:$.message)||t("errors.networkError"))}}async function Ee(){x.value=!0;try{await k.run(()=>O.backup.updateS3Config(P.value)),E.showSuccess(t("admin.backup.s3.saved")),await et()}catch($){if(vt($)){x.value=!1;return}E.showError(($==null?void 0:$.message)||t("errors.networkError"))}finally{x.value=!1}}async function Be(){try{const{config:$,secret_configured:C}=await O.backup.getImageStorageConfig();f.value={...$,prefix:$.prefix||"images/",region:$.region||"auto",secret_access_key:""},S.value=C}catch($){E.showError(($==null?void 0:$.message)||t("errors.networkError"))}}async function tt(){A.value=!0;try{await k.run(()=>O.backup.updateImageStorageConfig(f.value)),E.showSuccess(t("admin.backup.imageStorage.saved")),await Be()}catch($){if(vt($)){A.value=!1;return}E.showError(($==null?void 0:$.message)||t("errors.networkError"))}finally{A.value=!1}}async function Te(){ee.value=!0;try{const $=await O.backup.testImageStorageConnection(f.value);$.ok?E.showSuccess($.message||t("admin.backup.s3.testSuccess")):E.showError($.message||t("admin.backup.s3.testFailed"))}catch($){E.showError(($==null?void 0:$.message)||t("errors.networkError"))}finally{ee.value=!1}}async function ot(){w.value=!0;try{const $=await O.backup.testS3Connection(P.value);$.ok?E.showSuccess($.message||t("admin.backup.s3.testSuccess")):E.showError($.message||t("admin.backup.s3.testFailed"))}catch($){E.showError(($==null?void 0:$.message)||t("errors.networkError"))}finally{w.value=!1}}async function Ke(){var $,C,v,re;try{const xe=await O.backup.getSchedule();J.value={enabled:xe.enabled,cron_expr:xe.cron_expr||"0 2 * * *",retain_days:xe.retain_days??14,retain_count:xe.retain_count??10},te.value={enabled:(($=xe.monthly_archive)==null?void 0:$.enabled)??!1,days:((C=xe.monthly_archive)==null?void 0:C.days)??[1],include_month_end:((v=xe.monthly_archive)==null?void 0:v.include_month_end
2)??!1,retain_count:((re=xe.monthly_archive)==null?void 0:re.retain_count)??0},le.value=oe(te.value)}catch(xe){E.showError((xe==null?void 0:xe.message)||t("errors.networkError"))}}async function we(){if(!D.value){me.value=!0;try{const $=ce.value;await O.backup.updateSchedule({...J.value,monthly_archive:$}),le.value=oe($),E.showSuccess(t("admin.backup.schedule.saved"))}catch($){E.showError(($==null?void 0:$.message)||t("errors.networkError"))}finally{me.value=!1}}}async function je(){K.value=!0;try{const $=await O.backup.listBackups();z.value=$.items||[]}catch($){E.showError(($==null?void 0:$.message)||t("errors.networkError"))}finally{K.value=!1}}async function at(){var $;Z.value=!0;try{const C=await k.run(()=>O.backup.createBackup({expire_days:ge.value}));z.value.unshift(C),he(C.id)}catch(C){if(vt(C)){Z.value=!1;return}if(L(C)){Z.value=!1;return}(($=C==null?void 0:C.response)==null?void 0:$.status)===409?E.showWarning(t("admin.backup.operations.alreadyInProgress")):E.showError((C==null?void 0:C.message)||t("errors.networkError")),Z.value=!1}}async function b($){try{const C=await k.run(()=>O.backup.getDownloadURL($));if(C.parts&&C.parts.length>0){j.value=C.parts,se.value=!0;return}if(!C.url)throw new Error(t("admin.backup.actions.downloadFailed"));const v=document.createElement("a");v.href=C.url,v.rel="noopener",v.click()}catch(C){if(vt(C)||L(C))return;E.showError((C==null?void 0:C.message)||t("errors.networkError"))}}function y(){se.value=!1,j.value=[]}async function V($){var v;if(!window.confirm(t("admin.backup.actions.restoreConfirm")))return;const C=window.prompt(t("admin.backup.actions.restorePasswordPrompt"));if(C){Y.value=$;try{const re=await k.run(()=>O.backup.restoreBackup($,C));ve(re),Pe($)}catch(re){if(Y.value="",vt(re)||L(re))return;(re==null?void 0:re.status)===409||((v=re==null?void 0:re.response)==null?void 0:v.status)===409?E.showWarning(t("admin.backup.operations.restoreRunning")):E.showError((re==null?void 0:re.message)||t("errors.networkError"))}}}async function F($){var v;const C=!!((v=z.value.find(re=>re.id===$))!=null&&v.monthly_archive);if(window.confirm(t(C?"admin.backup.archive.deleteConfirm":"admin.backup.actions.deleteConfirm")))try{await O.backup.deleteBackup($,C),E.showSuccess(t("admin.backup.actions.deleted")),await je()}catch(re){E.showError((re==null?void 0:re.message)||t("errors.networkError"))}}function ie($){switch($){case"completed":return"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300";case"running":return"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300";case"failed":return"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-300";default:return"bg-gray-100 text-gray-700 dark:bg-dark-800 dark:text-gray-300"}}function Ve($){return!$||$<=0?"-":$<1024?`${$} B`:$<1024*1024?`${($/1024).toFixed(1)} KB`:`${($/(1024*1024)).toFixed(1)} MB`}function fe($){if(!$)return"-";const C=new Date($);return Number.isNaN(C.getTime())?$:C.toLocaleString()}return ct(async()=>{document.addEventListener("visibilitychange",Ne),await Promise.all([et(),Be(),Ke(),je()]);const $=z.value.find(v=>v.status==="running");$&&(Z.value=!0,he($.id));const C=z.value.find(v=>v.restore_status==="running");C&&(Y.value=C.id,Pe(C.id))}),qa(()=>{Le(),He(),document.removeEventListener("visibilitychange",Ne)}),($,C)=>(r(),d(R,null,[e("div",cc,[e("div",uc,[e("div",_c,[e("div",null,[e("h3",mc,n(a(t)("admin.backup.s3.title")),1),e("p",pc,[I(n(a(t)("admin.backup.s3.descriptionPrefix"))+" ",1),e("button",{type:"button",class:"text-primary-600 underline hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-300",onClick:C[0]||(C[0]=v=>Re.value=!0)},"Cloudflare R2"),I(" "+n(a(t)("admin.backup.s3.descriptionSuffix")),1)])])]),e("div",gc,[e("div",null,[e("label",yc,n(a(t)("admin.backup.s3.endpoint")),1),c(e("input",{"onUpdate:modelValue":C[1]||(C[1]=v=>P.value.endpoint=v),class:"input w-full",placeholder:"https://<account_id>.r2.cloudflarestorage.com"},null,512),[[u,P.value.endpoint]])]),e("div",null,[e("label",bc,n(a(t)("admin.backup.s3.region")),1),c(e("input",{"onUpdate:modelValue":C[2]||(C[2]=v=>P.value.region=v),class:"input w-full",placeholder:"auto"},null,512),[[u,P.value.region]])]),e("div",null,[e("label",xc,n(a(t)("admin.backup.s3.bucket")),1),c(e("input",{"onUpdate:modelValue":C[3]||(C[3]=v=>P.value.bucket=v),class:"input w-full"},null,512),[[u,P.value.bucket]])]),e("div",null,[e("label",hc,n(a(t)("admin.backup.s3.prefix")),1),c(e("input",{"onUpdate:modelValue":C[4]||(C[4]=v=>P.value.prefix=v),class:"input w-full",placeholder:"backups/"},null,512),[[u,P.value.prefix]])]),e("div",null,[e("label",fc,n(a(t)("admin.backup.s3.accessKeyId")),1),c(e("input",{"onUpdate:modelValue":C[5]||(C[5]=v=>P.value.access_key_id=v),class:"input w-full"},null,512),[[u,P.value.access_key_id]])]),e("div",null,[e("label",kc,n(a(t)("admin.backup.s3.secretAccessKey")),1),c(e("input",{"onUpdate:modelValue":C[6]||(C[6]=v=>P.value.secret_access_key=v),type:"password",class:"input w-full",placeholder:H.value?a(t)("admin.backup.s3.secretConfigured"):""},null,8,vc),[[u,P.value.secret_access_key]])]),e("label",wc,[c(e("input",{"onUpdate:modelValue":C[7]||(C[7]=v=>P.value.force_path_style=v),type:"checkbox"},null,512),[[ze,P.value.force_path_style]]),e("span",null,n(a(t)("admin.backup.s3.forcePathStyle")),1)])]),e("div",Cc,[e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:w.value,onClick:ot},n(w.value?a(t)("common.loading"):a(t)("admin.backup.s3.testConnection")),9,Vc),e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:x.value,onClick:Ee},n(x.value?a(t)("common.loading"):a(t)("common.save")),9,Uc)])]),e("div",Sc,[e("div",$c,[e("div",null,[e("h3",Pc,n(a(t)("admin.backup.imageStorage.title")),1),e("p",Ec,n(a(t)("admin.backup.imageStorage.description")),1)]),e("label",Tc,[c(e("input",{"onUpdate:modelValue":C[8]||(C[8]=v=>f.value.enabled=v),type:"checkbox"},null,512),[[ze,f.value.enabled]]),e("span",null,n(a(t)("admin.backup.imageStorage.enabled")),1)])]),e("label",Ac,[c(e("input",{"onUpdate:modelValue":C[9]||(C[9]=v=>f.value.reuse_backup_s3=v),type:"checkbox"},null,512),[[ze,f.value.reuse_backup_s3]]),e("span",null,n(a(t)("admin.backup.imageStorage.reuseBackupS3")),1)]),e("div",Mc,[e("div",null,[e("label",Fc,n(a(t)("admin.backup.imageStorage.bucket")),1),c(e("input",{"onUpdate:modelValue":C[10]||(C[10]=v=>f.value.bucket=v),class:"input w-full",placeholder:f.value.reuse_backup_s3?a(t)("admin.backup.imageStorage.bucketInherited"):""},null,8,Lc),[[u,f.value.bucket]])]),e("div",null,[e("label",Hc,n(a(t)("admin.backup.imageStorage.prefix")),1),c(e("input",{"onUpdate:modelValue":C[11]||(C[11]=v=>f.value.prefix=v),class:"input w-full",placeholder:"images/"},null,512),[[u,f.value.prefix]])]),f.value.reuse_backup_s3?h("",!0):(r(),d(R,{key:0},[e("div",null,[e("label",Ic,n(a(t)("admin.backup.s3.endpoint")),1),c(e("input",{"onUpdate:modelValue":C[12]||(C[12]=v=>f.value.endpoint=v),class:"input w-full",placeholder:"https://<account_id>.r2.cloudflarestorage.com"},null,512),[[u,f.value.endpoint]])]),e("div",null,[e("label",Rc,n(a(t)("admin.backup.s3.region")),1),c(e("input",{"onUpdate:modelValue":C[13]||(C[13]=v=>f.value.region=v),class:"input w-full",placeholder:"auto"},null,512),[[u,f.value.region]])]),e("div",null,[e("label",Bc,n(a(t)("admin.backup.s3.accessKeyId")),1),c(e("input",{"onUpdate:modelValue":C[14]||(C[14]=v=>f.value.access_key_id=v),class:"input w-full"},null,512),[[u,f.value.access_key_id]])]),e("div",null,[e("label",jc,n(a(t)("admin.backup.s3.secretAccessKey")),1),c(e("input",{"onUpdate:modelValue":C[15]||(C[15]=v=>f.value.secret_access_key=v),type:"password",class:"input w-full",placeholder:S.value?a(t)("admin.backup.s3.secretConfigured"):""},null,8,Dc),[[u,f.value.secret_access_key]])]),e("label",Oc,[c(e("input",{"onUpdate:modelValue":C[16]||(C[16]=v=>f.value.force_path_style=v),type:"checkbox"},null,512),[[ze,f.value.force_path_style]]),e("span",null,n(a(t)("admin.backup.s3.forcePathStyle")),1)])],64)),e("div",null,[e("label",zc,n(a(t)("admin.backup.imageStorage.publicBaseUrl")),1),c(e("input",{"onUpdate:modelValue":C[17]||(C[17]=v=>f.value.public_base_url=v),class:"input w-full",placeholder:a(t)("admin.backup.imageStorage.publicBaseUrlPlaceholder")},null,8,qc),[[u,f.value.public_base_url]])]),e("div",null,[e("label",Nc,n(a(t)("admin.backup.imageStorage.presignExpiryHours")),1),c(e("input",{"onUpdate:modelValue":C[18]||(C[18]=v=>f.value.presign_expiry_hours=v),type:"number",min:"1",class:"input w-full"},null,512),[[u,f.value.presign_expiry_hours,void 0,{number:!0}]])])]),e("div",Kc,[e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:ee.value,onClick:Te},n(ee.value?a(t)("common.loading"):a(t)("admin.backup.s3.testConnection")),9,Wc),e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:A.value,onClick:tt},n(A.value?a(t)("common.loading"):a(t)("common.save")),9,Gc)])]),e("div",Qc,[e("div",Yc,[e("h3",Jc,n(a(t)("admin.backup.schedule.title")),1),e("p",Xc,n(a(t)("admin.backup.schedule.description")),1)]),e("div",Zc,[e("label",eu,[c(e("input",{"onUpdate:modelValue":C[19]||(C[19]=v=>J.value.enabled=v),type:"checkbox"},null,512),[[ze,J.value.enabled]]),e("span",null,n(a(t)("admin.backup.schedule.enabled")),1)]),e("div",null,[e("label",tu,n(a(t)("admin.backup.schedule.cronExpr")),1),c(e("input",{"onUpdate:modelValue":C[20]||(C[20]=v=>J.value.cron_expr=v),class:"input w-full",placeholder:"0 2 * * *"},null,512),[[u,J.value.cron_expr]]),e("p",au,n(a(t)("admin.backup.schedule.cronHint")),1)]),e("h4",su,n(a(t)("admin.backup.schedule.ordinaryRetention")),1),e("div",null,[e("label",nu,n(a(t)("admin.backup.schedule.retainDays")),1),c(e("input",{"onUpdate:modelValue":C[21]||(C[21]=v=>J.value.retain_days=v),"data-testid":"backup-retain-days",type:"number",min:"0",step:"1",class:"input w-full"},null,512),[[u,J.value.retain_days,void 0,{number:!0}]]),e("p",iu,n(a(t)("admin.backup.schedule.retainDaysHint")),1)]),e("div",null,[e("label",ou,n(a(t)("admin.backup.schedule.retainCount")),1),c(e("input",{"onUpdate:modelValue":C[22]||(C[22]=v=>J.value.retain_count=v),"data-testid":"backup-retain-count",type:"number",min:"0",step:"1",class:"input w-full"},null,512),[[u,J.value.retain_count,void 0,{number:!0}]]),e("p",lu,n(a(t)("admin.backup.schedule.retainCountHint")),1)])]),e("p",ru,n(a(t)("admin.backup.schedule.ordinaryHint")),1),g(dc,{modelValue:te.value,"onUpdate:modelValue":C[23]||(C[23]=v=>te.value=v)},null,8,["modelValue"]),D.value?(r(),d("p",du,n(D.value),1)):h("",!0),e("div",cu,[e("p",uu,n(a(t)("admin.backup.schedule.preview")),1),e("p",null,n(Q.value),1)]),e("div",_u,[e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:me.value||!!D.value,onClick:we}
2,n(me.value?a(t)("common.loading"):a(t)("common.save")),9,mu)])]),e("div",pu,[e("div",gu,[e("div",null,[e("h3",yu,n(a(t)("admin.backup.operations.title")),1),e("p",bu,n(a(t)("admin.backup.operations.description")),1)]),e("div",xu,[e("div",hu,[e("label",fu,n(a(t)("admin.backup.operations.expireDays")),1),c(e("input",{"onUpdate:modelValue":C[24]||(C[24]=v=>ge.value=v),type:"number",min:"0",class:"input w-20 text-xs"},null,512),[[u,ge.value,void 0,{number:!0}]])]),e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:Z.value,onClick:at},n(Z.value?a(t)("admin.backup.operations.backing"):a(t)("admin.backup.operations.createBackup")),9,ku),e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:K.value,onClick:je},n(K.value?a(t)("common.loading"):a(t)("common.refresh")),9,vu)])]),e("div",wu,[e("table",Cu,[e("thead",null,[e("tr",Vu,[C[29]||(C[29]=e("th",{class:"py-2 pr-4"},"ID",-1)),e("th",Uu,n(a(t)("admin.backup.columns.status")),1),e("th",Su,n(a(t)("admin.backup.columns.fileName")),1),e("th",$u,n(a(t)("admin.backup.columns.size")),1),e("th",Pu,n(a(t)("admin.backup.columns.parts")),1),e("th",Eu,n(a(t)("admin.backup.columns.expiresAt")),1),e("th",Tu,n(a(t)("admin.backup.columns.triggeredBy")),1),e("th",Au,n(a(t)("admin.backup.columns.startedAt")),1),e("th",Mu,n(a(t)("admin.backup.columns.actions")),1)])]),e("tbody",null,[(r(!0),d(R,null,N(z.value,v=>{var re;return r(),d("tr",{key:v.id,class:"border-b border-gray-100 align-top dark:border-dark-800"},[e("td",Fu,n(v.id),1),e("td",Lu,[e("span",{class:X(["rounded px-2 py-0.5 text-xs",ie(v.status)])},n(v.status==="running"&&v.progress?a(t)(`admin.backup.progress.${v.progress}`):a(t)(`admin.backup.status.${v.status}`)),3)]),e("td",Hu,[I(n(v.file_name)+" ",1),v.monthly_archive?(r(),d("span",Iu,n(a(t)("admin.backup.archive.badge")),1)):h("",!0),v.monthly_archive?(r(),d("div",Ru,n(v.monthly_archive.dates.join(" / ")),1)):h("",!0)]),e("td",Bu,n(Ve(v.size_bytes)),1),e("td",ju,n(((re=v.parts)==null?void 0:re.length)||(v.status==="running"?"-":1)),1),e("td",Du,n(v.monthly_archive?v.monthly_archive.retain_count===0?a(t)("admin.backup.archive.forever"):a(t)("admin.backup.archive.retainLatest",{count:v.monthly_archive.retain_count}):v.expires_at?fe(v.expires_at):a(t)("admin.backup.neverExpire")),1),e("td",Ou,n(v.triggered_by==="scheduled"?a(t)("admin.backup.trigger.scheduled"):a(t)("admin.backup.trigger.manual")),1),e("td",zu,n(fe(v.started_at)),1),e("td",qu,[e("div",Nu,[v.status==="completed"?(r(),d("button",{key:0,type:"button",class:"btn btn-secondary btn-xs",onClick:xe=>b(v.id)},n(a(t)("admin.backup.actions.download")),9,Ku)):h("",!0),v.status==="completed"?(r(),d("button",{key:1,type:"button",class:"btn btn-secondary btn-xs",disabled:Y.value===v.id,onClick:xe=>V(v.id)},n(Y.value===v.id?a(t)("common.loading"):a(t)("admin.backup.actions.restore")),9,Wu)):h("",!0),v.status!=="running"?(r(),d("button",{key:2,type:"button",class:"btn btn-danger btn-xs",onClick:xe=>F(v.id)},n(a(t)("common.delete")),9,Gu)):h("",!0)])])])}),128)),z.value.length===0?(r(),d("tr",Qu,[e("td",Yu,n(a(t)("admin.backup.empty")),1)])):h("",!0)])])])])]),(r(),Xe(qs,{to:"body"},[g(Ns,{name:"modal"},{default:$e(()=>[Re.value?(r(),d("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4",onMousedown:C[28]||(C[28]=Me(v=>Re.value=!1,["self"]))},[e("div",{class:"fixed inset-0 bg-black/50",onClick:C[25]||(C[25]=v=>Re.value=!1)}),e("div",Ju,[e("button",{type:"button",class:"absolute right-4 top-4 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200",onClick:C[26]||(C[26]=v=>Re.value=!1)},[...C[30]||(C[30]=[e("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])]),e("h2",Xu,n(a(t)("admin.backup.r2Guide.title")),1),e("p",Zu,n(a(t)("admin.backup.r2Guide.intro")),1),e("div",e_,[e("h3",t_,[C[31]||(C[31]=e("span",{class:"flex h-6 w-6 items-center justify-center rounded-full bg-primary-100 text-xs font-bold text-primary-700 dark:bg-primary-900/40 dark:text-primary-300"},"1",-1)),I(" "+n(a(t)("admin.backup.r2Guide.step1.title")),1)]),e("ol",a_,[e("li",null,n(a(t)("admin.backup.r2Guide.step1.line1")),1),e("li",null,n(a(t)("admin.backup.r2Guide.step1.line2")),1),e("li",null,n(a(t)("admin.backup.r2Guide.step1.line3")),1)])]),e("div",s_,[e("h3",n_,[C[32]||(C[32]=e("span",{class:"flex h-6 w-6 items-center justify-center rounded-full bg-primary-100 text-xs font-bold text-primary-700 dark:bg-primary-900/40 dark:text-primary-300"},"2",-1)),I(" "+n(a(t)("admin.backup.r2Guide.step2.title")),1)]),e("ol",i_,[e("li",null,n(a(t)("admin.backup.r2Guide.step2.line1")),1),e("li",null,n(a(t)("admin.backup.r2Guide.step2.line2")),1),e("li",null,n(a(t)("admin.backup.r2Guide.step2.line3")),1),e("li",null,n(a(t)("admin.backup.r2Guide.step2.line4")),1)]),e("div",o_,n(a(t)("admin.backup.r2Guide.step2.warning")),1)]),e("div",l_,[e("h3",r_,[C[33]||(C[33]=e("span",{class:"flex h-6 w-6 items-center justify-center rounded-full bg-primary-100 text-xs font-bold text-primary-700 dark:bg-primary-900/40 dark:text-primary-300"},"3",-1)),I(" "+n(a(t)("admin.backup.r2Guide.step3.title")),1)]),e("p",d_,n(a(t)("admin.backup.r2Guide.step3.desc")),1
2),e("code",c_,"https://<"+n(a(t)("admin.backup.r2Guide.step3.accountId"))+">.r2.cloudflarestorage.com",1)]),e("div",u_,[e("h3",__,[C[34]||(C[34]=e("span",{class:"flex h-6 w-6 items-center justify-center rounded-full bg-primary-100 text-xs font-bold text-primary-700 dark:bg-primary-900/40 dark:text-primary-300"},"4",-1)),I(" "+n(a(t)("admin.backup.r2Guide.step4.title")),1)]),e("div",m_,[e("table",p_,[e("tbody",null,[(r(!0),d(R,null,N(Ze.value,(v,re)=>(r(),d("tr",{key:re,class:"border-b border-gray-100 dark:border-dark-700 last:border-0"},[e("td",g_,n(v.field),1),e("td",y_,[e("code",b_,n(v.value),1)])]))),128))])])])]),e("div",x_,n(a(t)("admin.backup.r2Guide.freeTier")),1),e("div",h_,[e("button",{type:"button",class:"btn btn-primary btn-sm",onClick:C[27]||(C[27]=v=>Re.value=!1)},n(a(t)("common.close")),1)])])],32)):h("",!0)]),_:1})])),(r(),Xe(qs,{to:"body"},[g(Ns,{name:"modal"},{default:$e(()=>[se.value?(r(),d("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4",onMousedown:Me(y,["self"])},[e("div",{class:"fixed inset-0 bg-black/50",onClick:y}),e("div",f_,[e("button",{type:"button",class:"absolute right-4 top-4 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200","aria-label":a(t)("common.close"),onClick:y},[...C[35]||(C[35]=[e("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])],8,k_),e("h2",v_,n(a(t)("admin.backup.actions.downloadParts")),1),e("p",w_,n(a(t)("admin.backup.actions.downloadPartsHint")),1),e("div",C_,[(r(!0),d(R,null,N(j.value,v=>(r(),d("div",{key:v.index,class:"flex items-center justify-between gap-3 rounded-lg border border-gray-200 px-3 py-2 dark:border-dark-600"},[e("span",V_,[I(n(a(t)("admin.backup.actions.partLabel",{index:v.index}))+" ",1),e("span",U_,n(Ve(v.size_bytes)),1)]),e("a",{href:v.url,class:"btn btn-secondary btn-xs",rel:"noopener"},n(a(t)("admin.backup.actions.download")),9,S_)]))),128))]),e("div",$_,[e("button",{type:"button",class:"btn btn-primary btn-sm",onClick:y},n(a(t)("common.close")),1)])])],32)):h("",!0)]),_:1})])),g(cn,{controller:a(k)},null,8,["controller"])],64))}}),E_=rn(P_,[["__scopeId","data-v-1e49145c"]]),T_={class:"space-y-6"},A_={class:"text-base font-semibold text-gray-900 dark:text-gray-100"},M_={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},F_={key:0,class:"py-8 text-center text-sm text-gray-500 dark:text-gray-400"},L_={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},H_={class:"flex items-start gap-3"},I_=["checked"],R_={class:"block text-sm font-medium text-gray-900 dark:text-gray-100"},B_={class:"block text-xs text-gray-500 dark:text-gray-400"},j_={class:"form-label"},D_=["placeholder"],O_={class:"grid grid-cols-1 gap-4 sm:grid-cols-2"},z_={class:"form-label"},q_={class:"form-label"},N_={class:"form-label"},K_={class:"form-label"},W_={class:"form-label"},G_={class:"form-label"},Q_=["placeholder"],Y_={class:"flex justify-end"},J_=["disabled"],X_={class:"border-t border-gray-200 pt-6 dark:border-dark-700"},Z_={class:"text-base font-semibold text-gray-900 dark:text-gray-100"},em={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},tm={class:"mt-3 flex justify-end"},am=["disabled"],sm={key:0,class:"mt-3 text-sm text-gray-500 dark:text-gray-400"},nm={key:1,class:"mt-3 w-full text-sm"},im={class:"border-b border-gray-200 text-left text-xs text-gray-500 dark:border-dark-700 dark:text-gray-400"},om={class:"py-2"},lm={class:"py-2"},rm={class:"py-2"},dm={class:"py-2"},cm={class:"py-2"},um={class:"text-xs"},_m={class:"py-2"},mm={class:"py-2 text-xs text-gray-500 dark:text-gray-400"},pm={class:"py-2 text-xs text-gray-500 dark:text-gray-400"},gm={class:"py-2 text-right"},ym=["onClick"],bm={class:"border-t border-gray-200 pt-6 dark:border-dark-700"},xm={class:"text-base font-semibold text-gray-900 dark:text-gray-100"},hm={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},fm={class:"mt-4 space-y-3 text-sm"},km={class:"font-medium text-gray-900 dark:text-gray-100"},vm={class:"mt-1"},wm={key:0,class:"break-all text-xs"},Cm={key:1,class:"text-xs text-gray-400"},Vm={class:"font-medium text-gray-900 dark:text-gray-100"},Um={class:"mt-1"},Sm={key:0,class:"break-all text-xs"},$m={key:1,class:"text-xs text-gray-400"},Pm={class:"font-medium text-gray-900 dark:text-gray-100"},Em={class:"mt-1 flex flex-wrap gap-1.5"},Tm={class:"font-medium text-gray-900 dark:text-gray-100"},Am={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Mm={class:"font-medium text-gray-900 dark:text-gray-100"},Fm={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Lm=qe({__name:"OidcProviderSettingsSection",setup(M){const{t}=Ge(),E=Vt(),k=U(!1),L=U(!1),P=ye({enabled:!1,issuer_url:"",access_token_ttl_seconds:3600,id_token_ttl_seconds:3600,refresh_token_ttl_seconds:2592e3,code_ttl_seconds:600,sso_cookie_max_age_seconds:2592e3,sso_cookie_domain:""}),H=pl,x=B(()=>
2{const j=P.issuer_url.trim();return!j||f.value?"":`${j}/.well-known/openid-configuration`}),w=B(()=>{const j=P.issuer_url.trim();return!j||f.value?"":`${j}/.well-known/jwks.json`}),f=B(()=>{const j=P.issuer_url.trim();return j&&(!j.startsWith("https://")||j.endsWith("/")||j.includes("?")||j.includes("#"))?t("oidc.admin.settings.issuerUrlHint"):""});async function S(){k.value=!0;try{const j=await gl();Object.assign(P,j),await oe()}catch{E.showError(t("oidc.admin.settings.loadFailed"))}finally{k.value=!1}}const A=U(!1);function ee(j){const se=j.target.checked;if(se&&!P.enabled){A.value=!0,j.target.checked=!1;return}P.enabled=se}function J(){P.enabled=!0,A.value=!1}function me(){P.enabled=!1,A.value=!1}async function te(){if(P.issuer_url.trim()&&f.value){E.showError(f.value);return}L.value=!0;try{const j=await yl({enabled:P.enabled,issuer_url:P.issuer_url.trim(),access_token_ttl_seconds:P.access_token_ttl_seconds,id_token_ttl_seconds:P.id_token_ttl_seconds,refresh_token_ttl_seconds:P.refresh_token_ttl_seconds,code_ttl_seconds:P.code_ttl_seconds,sso_cookie_max_age_seconds:P.sso_cookie_max_age_seconds,sso_cookie_domain:P.sso_cookie_domain.trim()});Object.assign(P,j),E.showSuccess(t("oidc.admin.settings.saveSuccess")),await oe()}catch(j){E.showError((j==null?void 0:j.message)??t("oidc.admin.settings.saveFailed"))}finally{L.value=!1}}const le=U([]),ce=U(!1);async function oe(){ce.value=!0;try{le.value=await bl()??[]}catch{le.value=[]}finally{ce.value=!1}}const D=U(!1);function Q(){D.value=!0}async function z(){D.value=!1;try{await xl(),E.showSuccess(t("oidc.admin.signingKeys.rotateSuccess")),await oe()}catch(j){E.showError((j==null?void 0:j.message)??t("oidc.admin.signingKeys.rotateFailed"))}}const K=U(!1),Z=U("");function Y(j){Z.value=j,K.value=!0}async function ge(){if(K.value=!1,!!Z.value)try{await hl(Z.value),await oe()}catch(j){E.showError((j==null?void 0:j.message)??t("oidc.admin.signingKeys.deleteFailed"))}finally{Z.value=""}}return ct(S),(j,se)=>(r(),d("div",T_,[e("div",null,[e("h3",A_,n(a(t)("oidc.admin.settings.title")),1),e("p",M_,n(a(t)("oidc.admin.settings.description")),1)]),k.value?(r(),d("div",F_,n(a(t)("common.loading")),1)):(r(),d(R,{key:1},[e("div",L_,[e("label",H_,[e("input",{type:"checkbox",class:"mt-1 h-4 w-4",checked:P.enabled,onChange:ee},null,40,I_),e("span",null,[e("span",R_,n(a(t)("oidc.admin.settings.enabled")),1),e("span",B_,n(a(t)("oidc.admin.settings.enabledHint")),1)])])]),e("div",null,[e("label",j_,n(a(t)("oidc.admin.settings.issuerUrl")),1),c(e("input",{"onUpdate:modelValue":se[0]||(se[0]=ne=>P.issuer_url=ne),type:"text",class:"input",placeholder:a(t)("oidc.admin.settings.issuerUrlPlaceholder")},null,8,D_),[[u,P.issuer_url]]),e("p",{class:X(["mt-1 text-xs",f.value?"text-red-600 dark:text-red-400":"text-gray-500 dark:text-gray-400"])},n(f.value||a(t)("oidc.admin.settings.issuerUrlHint")),3)]),e("div",O_,[e("div",null,[e("label",z_,n(a(t)("oidc.admin.settings.accessTokenTtl")),1),c(e("input",{"onUpdate:modelValue":se[1]||(se[1]=ne=>P.access_token_ttl_seconds=ne),type:"number",min:"1",class:"input"},null,512),[[u,P.access_token_ttl_seconds,void 0,{number:!0}]])]),e("div",null,[e("label",q_,n(a(t)("oidc.admin.settings.idTokenTtl")),1),c(e("input",{"onUpdate:modelValue":se[2]||(se[2]=ne=>P.id_token_ttl_seconds=ne),type:"number",min:"1",class:"input"},null,512),[[u,P.id_token_ttl_seconds,void 0,{number:!0}]])]),e("div",null,[e("label",N_,n(a(t)("oidc.admin.settings.refreshTokenTtl")),1),c(e("input",{"onUpdate:modelValue":se[3]||(se[3]=ne=>P.refresh_token_ttl_seconds=ne),type:"number",min:"1",class:"input"},null,512),[[u,P.refresh_token_ttl_seconds,void 0,{number:!0}]])]),e("div",null,[e("label",K_,n(a(t)("oidc.admin.settings.codeTtl")),1),c(e("input",{"onUpdate:modelValue":se[4]||(se[4]=ne=>P.code_ttl_seconds=ne),type:"number",min:"1",class:"input"},null,512),[[u,P.code_ttl_seconds,void 0,{number:!0}]])]),e("div",null,[e("label",W_,n(a(t)("oidc.admin.settings.ssoCookieMaxAge")),1),c(e("input",{"onUpdate:modelValue":se[5]||(se[5]=ne=>P.sso_cookie_max_age_seconds=ne),type:"number",min:"1",class:"input"},null,512),[[u,P.sso_cookie_max_age_seconds,void 0,{number:!0}]])]),e("div",null,[e("label",G_,n(a(t)("oidc.admin.settings.ssoCookieDomain")),1
2),c(e("input",{"onUpdate:modelValue":se[6]||(se[6]=ne=>P.sso_cookie_domain=ne),type:"text",class:"input",placeholder:a(t)("oidc.admin.settings.ssoCookieDomainPlaceholder")},null,8,Q_),[[u,P.sso_cookie_domain]])])]),e("div",Y_,[e("button",{type:"button",class:"btn btn-primary",disabled:L.value,onClick:te},n(L.value?a(t)("common.saving"):a(t)("oidc.admin.settings.save")),9,J_)]),e("div",X_,[e("h3",Z_,n(a(t)("oidc.admin.signingKeys.title")),1),e("p",em,n(a(t)("oidc.admin.signingKeys.description")),1),e("div",tm,[e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:ce.value,onClick:Q},n(a(t)("oidc.admin.signingKeys.rotate")),9,am)]),le.value.length===0?(r(),d("p",sm,n(a(t)("oidc.admin.signingKeys.empty")),1)):(r(),d("table",nm,[e("thead",null,[e("tr",im,[e("th",om,n(a(t)("oidc.admin.signingKeys.kid")),1),e("th",lm,n(a(t)("oidc.admin.signingKeys.status")),1),e("th",rm,n(a(t)("oidc.admin.signingKeys.createdAt")),1),e("th",dm,n(a(t)("oidc.admin.signingKeys.retiredAt")),1),se[9]||(se[9]=e("th",{class:"py-2"},null,-1))])]),e("tbody",null,[(r(!0),d(R,null,N(le.value,ne=>(r(),d("tr",{key:ne.kid,class:"border-b border-gray-100 dark:border-dark-800"},[e("td",cm,[e("code",um,n(ne.kid),1)]),e("td",_m,[e("span",{class:X(["badge",ne.is_active?"badge-success":"badge-default"])},n(ne.is_active?a(t)("oidc.admin.signingKeys.active"):a(t)("oidc.admin.signingKeys.retired")),3)]),e("td",mm,n(a(Ws)(ne.created_at)),1),e("td",pm,n(ne.retired_at?a(Ws)(ne.retired_at):"â"),1),e("td",gm,[ne.removable?(r(),d("button",{key:0,type:"button",class:"btn btn-danger btn-xs",onClick:Fe=>Y(ne.kid)},n(a(t)("oidc.admin.signingKeys.delete")),9,ym)):h("",!0)])]))),128))])]))]),e("div",bm,[e("h3",xm,n(a(t)("oidc.admin.help.title")),1),e("p",hm,n(a(t)("oidc.admin.help.intro")),1),e("dl",fm,[e("div",null,[e("dt",km,n(a(t)("oidc.admin.help.discoveryLabel")),1),e("dd",vm,[x.value?(r(),d("code",wm,n(x.value),1)):(r(),d("span",Cm,n(a(t)("oidc.admin.help.discoveryNeedIssuer")),1))])]),e("div",null,[e("dt",Vm,n(a(t)("oidc.admin.help.jwksLabel")),1),e("dd",Um,[w.value?(r(),d("code",Sm,n(w.value),1)):(r(),d("span",$m,n(a(t)("oidc.admin.help.discoveryNeedIssuer")),1))])]),e("div",null,[e("dt",Pm,n(a(t)("oidc.admin.help.scopesLabel")),1),e("dd",Em,[(r(!0),d(R,null,N(a(H),ne=>(r(),d("code",{key:ne,class:"rounded bg-gray-100 px-1.5 py-0.5 text-xs dark:bg-dark-800"},n(ne),1))),128))])]),e("div",null,[e("dt",Tm,n(a(t)("oidc.admin.help.redirectLabel")),1),e("dd",Am,n(a(t)("oidc.admin.help.redirectBody")),1)]),e("div",null,[e("dt",Mm,n(a(t)("oidc.admin.help.pkceLabel")),1),e("dd",Fm,n(a(t)("oidc.admin.help.pkceBody")),1)])])])],64)),g(wt,{show:A.value,title:a(t)("oidc.admin.settings.enableConfirm.title"),message:a(t)("oidc.admin.settings.enableConfirm.body"),"confirm-text":a(t)("oidc.admin.settings.enableConfirm.confirm"),"cancel-text":a(t)("oidc.admin.settings.enableConfirm.cancel"),onConfirm:J,onCancel:me},null,8,["show","title","message","confirm-text","cancel-text"]),g(wt,{show:D.value,title:a(t)("oidc.admin.signingKeys.rotateConfirm.title"),message:a(t)("oidc.admin.signingKeys.rotateConfirm.body"),"confirm-text":a(t)("oidc.admin.signingKeys.rotateConfirm.confirm"),"cancel-text":a(t)("oidc.admin.signingKeys.rotateConfirm.cancel"),onConfirm:z,onCancel:se[7]||(se[7]=ne=>D.value=!1)},null,8,["show","title","message","confirm-text","cancel-text"]),g(wt,{show:K.value,title:a(t)("oidc.admin.signingKeys.deleteConfirm.title"),message:a(t)("oidc.admin.signingKeys.deleteConfirm.body"),"confirm-text":a(t)("oidc.admin.signingKeys.deleteConfirm.confirm"),"cancel-text":a(t)("oidc.admin.signingKeys.deleteConfirm.cancel"),danger:"",onConfirm:ge,onCancel:se[8]||(se[8]=ne=>K.value=!1)},null,8,["show","title","message","confirm-text","cancel-text"])]))}});async function Hm(){const{data:M}=await Ht.get("/admin/cos-image/config");return M}async function Im(M){const{data:t}=await Ht.put("/admin/cos-image/config",M);return t}const Rm={class:"space-y-6"},Bm={class:"text-base font-semibold text-gray-900 dark:text-gray-100"},jm={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Dm={key:0,class:"py-8 text-center text-sm text-gray-500 dark:text-gray-400"},Om={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},zm={class:"flex items-start gap-3"},qm={class:"block text-sm font-medium text-gray-900 dark:text-gray-100"},Nm={class:"block text-xs text-gray-500 dark:text-gray-400"},Km={class:"grid grid-cols-1 gap-4 sm:grid-cols-2"},Wm={class:"form-label"},Gm={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Qm={class:"form-label"},Ym={class:"form-label"},Jm={class:"form-label"},Xm={class:"form-label"},Zm=["placeholder"],ep={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},tp={class:"form-label"},ap={class:"sm:col-span-2"},sp={class:"form-label"},np={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},ip={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},op={class:"flex items-start gap-3"},lp={class:"block text-sm font-medium text-gray-900 dark:text-gray-100"},rp={class:"block text-xs text-gray-500 dark:text-gray-400"},dp={class:"flex justify-end"},cp=["disabled"],up=qe({__name:"CosImageSettingsSection",setup(M){const{t}=Ge(),E=Vt(),k=U(!1),L=U(!1),P=U(!1),H=ye({enabled:!1,endpoint:"",region:"",bucket:"",access_key_id:"",secret_access_key:"",prefix:"",force_path_style:!1,public_base_url:""});async function x(){k.value=!0;try{const f=await Hm();Object.assign(H,f.config),H.secret_access_key="",P.value=f.secret_access_key_set}catch(f){E.showError((f==null?void 0:f.message)??t("admin.settings.cosImage.loadFailed"))}finally{k.value=!1}}async function w(){L.value=!0;try{const f={...H};f.secret_access_key||delete f.secret_access_key;const S=await Im(f);Object.assign(H,S),H.secret_access_key="",(f.secret_access_key||P.value)&&(P.value=!0),E.showSuccess(t("admin.settings.cosImage.saveSuccess")),ol()}catch(f){E.showError((f==null?void 0:f.message)??t("admin.settings.cosImage.saveFailed"))}finally{L.value=!1}}return ct(x),(f,S)=>(r(),d("div",Rm,[e("div",null,[e("h3",Bm,n(a(t)("admin.settings.cosImage.title")),1),e("p",jm,n(a(t)("admin.settings.cosImage.description")),1)]),k.value?(r(),d("div",Dm,n(a(t)("common.loading")),1)):(r(),d(R,{key:1},[e("div",Om,[e("label",zm,[c(e("input",{"onUpdate:modelValue":S[0]||(S[0]=A=>H.enabled=A),type:"checkbox",class:"mt-1 h-4 w-4"},null,512),[[ze,H.enabled]]),e("span",null,[e("span",qm,n(a(t)("admin.settings.cosImage.enabled")),1),e("span",Nm,n(a(t)("admin.settings.cosImage.enabledHint")),1)])])]),e("div",Km,[e("div",null,[e("label",Wm,n(a(t)("admin.settings.cosImage.endpoint")),1),c(e("input",{"onUpdate:modelValue":S[1]||(S[1]=A=>H.endpoint=A),type:"text",class:"input",placeholder:"https://cos.ap-guangzhou.myqcloud.com"},null,512),[[u,H.endpoint]]),e("p",Gm,n(a(t)("admin.settings.cosImage.endpointHint")),1)]),e("div",null,[e("label",Qm,n(a(t)("admin.settings.cosImage.regi
2on")),1),c(e("input",{"onUpdate:modelValue":S[2]||(S[2]=A=>H.region=A),type:"text",class:"input",placeholder:"ap-guangzhou"},null,512),[[u,H.region]])]),e("div",null,[e("label",Ym,n(a(t)("admin.settings.cosImage.bucket")),1),c(e("input",{"onUpdate:modelValue":S[3]||(S[3]=A=>H.bucket=A),type:"text",class:"input",placeholder:"mybucket-1250000000"},null,512),[[u,H.bucket]])]),e("div",null,[e("label",Jm,n(a(t)("admin.settings.cosImage.accessKeyId")),1),c(e("input",{"onUpdate:modelValue":S[4]||(S[4]=A=>H.access_key_id=A),type:"text",class:"input",autocomplete:"off"},null,512),[[u,H.access_key_id]])]),e("div",null,[e("label",Xm,n(a(t)("admin.settings.cosImage.secretAccessKey")),1),c(e("input",{"onUpdate:modelValue":S[5]||(S[5]=A=>H.secret_access_key=A),type:"password",class:"input",autocomplete:"new-password",placeholder:P.value?a(t)("admin.settings.cosImage.secretAccessKeySetPlaceholder"):a(t)("admin.settings.cosImage.secretAccessKeyPlaceholder")},null,8,Zm),[[u,H.secret_access_key]]),e("p",ep,n(P.value?a(t)("admin.settings.cosImage.secretAccessKeyKeepHint"):a(t)("admin.settings.cosImage.secretAccessKeyHint")),1)]),e("div",null,[e("label",tp,n(a(t)("admin.settings.cosImage.prefix")),1),c(e("input",{"onUpdate:modelValue":S[6]||(S[6]=A=>H.prefix=A),type:"text",class:"input",placeholder:"images/"},null,512),[[u,H.prefix]])]),e("div",ap,[e("label",sp,n(a(t)("admin.settings.cosImage.publicBaseUrl")),1),c(e("input",{"onUpdate:modelValue":S[7]||(S[7]=A=>H.public_base_url=A),type:"text",class:"input",placeholder:"https://cdn.example.com"},null,512),[[u,H.public_base_url]]),e("p",np,n(a(t)("admin.settings.cosImage.publicBaseUrlHint")),1)])]),e("div",ip,[e("label",op,[c(e("input",{"onUpdate:modelValue":S[8]||(S[8]=A=>H.force_path_style=A),type:"checkbox",class:"mt-1 h-4 w-4"},null,512),[[ze,H.force_path_style]]),e("span",null,[e("span",lp,n(a(t)("admin.settings.cosImage.forcePathStyle")),1),e("span",rp,n(a(t)("admin.settings.cosImage.forcePathStyleHint")),1)])])]),e("div",dp,[e("button",{type:"button",class:"btn btn-primary",disabled:L.value,onClick:w},n(L.value?a(t)("common.saving"):a(t)("common.save")),9,cp)])],64))]))}});async function _p(){const{data:M}=await Ht.get("/admin/async-media/config");return M}async function mp(M){const{data:t}=await Ht.put("/admin/async-media/config",M);return t}const pp={class:"space-y-6"},gp={class:"text-base font-semibold text-gray-900 dark:text-gray-100"},yp={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},bp={key:0,class:"py-8 text-center text-sm text-gray-500 dark:text-gray-400"},xp={class:"grid grid-cols-1 gap-4 sm:grid-cols-2"},hp={class:"form-label"},fp={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},kp={class:"form-label"},vp={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},wp={class:"flex justify-end"},Cp=["disabled"],Vp=qe({__name:"AsyncMediaConfigSection",setup(M){const{t}=Ge(),E=Vt(),k=U(!1),L=U(!1),P=ye({reconcile_interval_seconds:30,fail_timeout_seconds:1800});async function H(){k.value=!0;try{const w=await _p();Object.assign(P,w)}catch(w){E.showError((w==null?void 0:w.message)??t("admin.settings.asyncMedia.loadFailed"))}finally{k.value=!1}}async function x(){L.value=!0;try{const w=await mp({...P});Object.assign(P,w),E.showSuccess(t("admin.settings.asyncMedia.saveSuccess"))}catch(w){E.showError((w==null?void 0:w.message)??t("admin.settings.asyncMedia.saveFailed"))}finally{L.value=!1}}return ct(H),(w,f)=>(r(),d("div",pp,[e("div",null,[e("h3",gp,n(a(t)("admin.settings.asyncMedia.title")),1),e("p",yp,n(a(t)("admin.settings.asyncMedia.description")),1)]),k.value?(r(),d("div",bp,n(a(t)("common.loading")),1)):(r(),d(R,{key:1},[e("div",xp,[e("div",null,[e("label",hp,n(a(t)("admin.settings.asyncMedia.reconcileInterval")),1),c(e("input",{"onUpdate:modelValue":f[0]||(f[0]=S=>
2P.reconcile_interval_seconds=S),type:"number",min:"1",max:"3600",class:"input"},null,512),[[u,P.reconcile_interval_seconds,void 0,{number:!0}]]),e("p",fp,n(a(t)("admin.settings.asyncMedia.reconcileIntervalHint")),1)]),e("div",null,[e("label",kp,n(a(t)("admin.settings.asyncMedia.failTimeout")),1),c(e("input",{"onUpdate:modelValue":f[1]||(f[1]=S=>P.fail_timeout_seconds=S),type:"number",min:"60",max:"86400",class:"input"},null,512),[[u,P.fail_timeout_seconds,void 0,{number:!0}]]),e("p",vp,n(a(t)("admin.settings.asyncMedia.failTimeoutHint")),1)])]),e("div",wp,[e("button",{type:"button",class:"btn btn-primary",disabled:L.value,onClick:x},n(L.value?a(t)("common.saving"):a(t)("common.save")),9,Cp)])],64))]))}}),Up={class:"card"},Sp={class:"flex flex-col gap-3 border-b border-gray-100 px-6 py-4 dark:border-dark-700 lg:flex-row lg:items-start lg:justify-between"},$p={class:"text-lg font-semibold text-gray-900 dark:text-white"},Pp={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Ep={class:"flex flex-wrap gap-2"},Tp=["disabled"],Ap=["disabled"],Mp=["disabled"],Fp={class:"space-y-6 p-6"},Lp={key:0,class:"flex items-center gap-2 text-sm text-gray-500 dark:text-gray-400"},Hp={class:"grid grid-cols-1 gap-4 md:grid-cols-2"},Ip={class:"input-label"},Rp={class:"input-label"},Bp={key:0,class:"rounded-lg border border-primary-100 bg-primary-50/70 p-4 dark:border-primary-900/50 dark:bg-primary-950/20"},jp={class:"flex flex-wrap items-center gap-2"},Dp={class:"text-sm font-semibold text-gray-900 dark:text-white"},Op={class:"rounded-full bg-white px-2.5 py-1 text-xs font-medium text-gray-600 shadow-sm ring-1 ring-gray-200 dark:bg-dark-800 dark:text-gray-300 dark:ring-dark-600"},zp={class:"mt-2 text-sm leading-6 text-gray-600 dark:text-gray-300"},qp={key:0,class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Np={key:1,class:"rounded-lg border border-amber-200 bg-amber-50 p-4 text-sm text-amber-700 dark:border-amber-800 dark:bg-amber-900/20 dark:text-amber-300"},Kp={key:2,class:"grid grid-cols-1 gap-6 xl:grid-cols-2"},Wp={class:"space-y-4"},Gp={class:"input-label",for:"email-template-subject"},Qp=["disabled","placeholder"],Yp={class:"input-label",for:"email-template-html"},Jp=["disabled","placeholder"],Xp={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-dark-700 dark:bg-dark-800/60"},Zp={class:"text-sm font-medium text-gray-900 dark:text-white"},eg={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},tg={class:"mt-3 flex flex-wrap gap-2"},ag=["onClick"],sg={class:"space-y-4"},ng={class:"rounded-lg border border-gray-200 bg-white dark:border-dark-700 dark:bg-dark-800"},ig={class:"flex items-center justify-between border-b border-gray-100 px-4 py-3 dark:border-dark-700"},og={class:"text-sm font-medium text-gray-900 dark:text-white"},lg={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},rg={key:0,class:"rounded-full bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:bg-primary-900/30 dark:text-primary-300"},dg={class:"bg-gray-100 p-3 dark:bg-dark-900"},cg=["srcdoc","title"],ug={class:"text-xs text-gray-500 dark:text-gray-400"},_g=qe({__name:"EmailTemplateEditor",setup(M){const{t,locale:E}=Ge(),k=Vt(),L=["{{site_name}}","{{recipient_name}}","{{recipient_email}}","{{verification_code}}","{{expires_in_minutes}}","{{reset_url}}","{{subscription_group}}","{{subscription_days}}","{{expiry_time}}","{{days_remaining}}","{{current_balance}}","{{threshold}}","{{recharge_url}}","{{recharge_amount}}","{{order_id}}","{{unsubscribe_url}}","{{account_id}}","{{account_name}}","{{platform}}","{{quota_dimension}}","{{quota_used}}","{{quota_limit}}","{{quota_remaining}}","{{quota_threshold}}","{{triggered_at}}","{{group_name}}","{{moderation_category}}","{{moderation_score}}","{{violation_count}}","{{ban_threshold}}","{{rule_name}}","{{severity}}","{{alert_status}}","{{metric_type}}","{{operator}}","{{metric_value}}","{{threshold_value}}","{{alert_description}}","{{report_name}}","{{report_type}}","{{report_start_time}}","{{report_end_time}}","{{report_summary_display}}","{{report_detail_display}}","{{report_total_requests}}","{{report_success_count}}","{{report_sla_error_count}}","{{report_business_limited_count}}","{{report_sla}}","{{report_error_rate}}","{{report_upstream_error_rate}}","{{report_upstream_error_count_excl_429_529}}","{{report_upstream_429_count}}","{{report_upstream_529_count}}","{{report_latency_p50}}","{{report_latency_p99}}","{{report_ttft_p50}}","{{report_ttft_p99}}","{{report_tokens}}","{{report_qps_current}}","{{report_qps_peak}}","{{report_qps_avg}}","{{report_tps_current}}","{{report_tps_peak}}","{{report_tps_avg}}","{{report_html}}"],P=U(!0),H=U(!1),x=U(!1),w=U(!1),f=U(!1),S=U([]),A=U([]),ee=U(""),J=U(""),me=U(""),te=U(""),le=U(!1),ce=U([]),oe=U(""),D=U(""),Q=U(!1),z=U(!1);function K(b,y){return E.value.toLowerCase().startsWith("zh")?b:y}
2const Z={"auth.verify_code":{label:"é®ç®±éªè¯ç ",timing:"注åãç»å®é®ç®±ãOAuth è¡¥å
¨é®ç®±æ TOTP é®ç®±æ ¡éªæ¶åéã",categoryLabel:"认è¯å®å
¨"},"auth.password_reset":{label:"å¯ç éç½®",timing:"ç¨æ·è¯·æ±å¯ç éç½®é¾æ¥æ¶åéã",categoryLabel:"认è¯å®å
¨"},"notification_email.verify_code":{label:"éç¥é®ç®±éªè¯ç ",timing:"ç¨æ·æ·»å å¹¶éªè¯é¢å¤éç¥é®ç®±æ¶åéã",categoryLabel:"认è¯å®å
¨"},"subscription.purchase_success":{label:"订é
å¼éæå",timing:"订é
订å宿æ¯ä»å¹¶æåå¼éæç»æååéã",categoryLabel:"订é
"},"subscription.expiry_reminder":{label:"订é
å°ææé",timing:"åå°ä»»å¡å¨è®¢é
仿æä¸è·ç¦»å°æå©ä½ 7 天ã3 天ã1 天æ¶ååé䏿¬¡ï¼å¯éè¿é®ä»¶è®¾ç½®ä¸çå¼å
³å
³éã",categoryLabel:"订é
"},"balance.low":{label:"ä½é¢ä¸è¶³æé",timing:"ç¨æ·ä½é¢ä½äºå
¨å±æä¸ªäººé
ç½®çæéé弿¶åéã",categoryLabel:"计费"},"balance.recharge_success":{label:"ä½é¢å
弿å",timing:"ä½é¢å
å¼è®¢åæ¯ä»å®æå¹¶å
¥è´¦ååéã",categoryLabel:"计费"},"account.quota_alert":{label:"è´¦å·éé¢åè¦",timing:"䏿¸¸è´¦å·çç¨éè¾¾å°é
ç½®çé¢åº¦åè¦é弿¶åéç»ç®¡çåéç¥é®ç®±ã",categoryLabel:"管çåè¦"},"content_moderation.violation_notice":{label:"å
容审计è¿è§æé",timing:"ç¨æ·è¯·æ±å½ä¸å
容审计æé£æ§è§åãä½å°æªè¢«ç¦ç¨æ¶åéã",categoryLabel:"飿§"},"content_moderation.account_disabled":{label:"å
容审计ç¦ç¨è´¦å·",timing:"å
容审计è¿è§æ¬¡æ°è¾¾å°å°ç¦éå¼å¹¶èªå¨ç¦ç¨ç¨æ·è´¦å·æ¶åéã",categoryLabel:"飿§"},"ops.alert":{label:"è¿ç»´åè¦",timing:"è¿ç»´çæ§è§å触ååè¦å¹¶æ»¡è¶³é®ä»¶éç¥é
ç½®æ¶åéç»è¿ç»´æ¶ä»¶äººã",categoryLabel:"è¿ç»´"},"ops.scheduled_report":{label:"è¿ç»´å®æ¶æ¥è¡¨",timing:"è¿ç»´æ¥æ¥ã卿¥ãé误æè¦æè´¦å·å¥åº·æ¥è¡¨å°è¾¾é
ç½®çåéæ¶é´æ¶åéï¼æ¥æ¥å卿¥ç宿´ææ åå¯å¨æ¨¡æ¿ä¸ç¼è¾ã",categoryLabel:"è¿ç»´"}},Y={"auth.verify_code":{label:"Email Verification Code",timing:"Sent for registration, email binding, OAuth pending email completion, or TOTP email verification.",categoryLabel:"Auth"},"auth.password_reset":{label:"Password Reset",timing:"Sent when a user requests a password reset link.",categoryLabel:"Auth"},"notification_email.verify_code":{label:"Notification Email Verification",timing:"Sent when a user adds and verifies an extra notification email address.",categoryLabel:"Auth"},"subscription.purchase_success":{label:"Subscription Activated",timing:"Sent after a subscription order is paid and the subscription is activated or extended.",categoryLabel:"Subscription"},"subscription.expiry_reminder":{label:"Subscription Expiry Reminder",timing:"Sent by the background job when an active subscription has 7, 3, or 1 day remaining. It can be disabled in Email settings.",categoryLabel:"Subscription"},"balance.low":{label:"Low Balance Alert",timing:"Sent when a user's balance drops below the global or personal reminder threshold.",categoryLabel:"Billing"},"balance.recharge_success":{label:"Balance Recharge Success",timing:"Sent after a balance recharge order is paid and credited.",categoryLabel:"Billing"},"account.quota_alert":{label:"Account Quota Alert",timing:"Sent to admin notification emails when an upstream account reaches the configured quota alert threshold.",categoryLabel:"Admin"},"content_moderation.violation_notice":{label:"Risk Control Violation Notice",timing:"Sent when a user request triggers content moderation or risk-control rules but the account is not disabled yet.",categoryLabel:"Risk Control"},"content_moderation.account_disabled":{label:"Risk Control Account Disabled",timing:"Sent when content moderation reaches the ban threshold and automatically disables the user account.",categoryLabel:"Risk Control"},"ops.alert":{label:"Ops Alert",timing:"Sent to ops recipients when an ops monitoring rule fires and email notification settings allow it.",categoryLabel:"Ops"},"ops.scheduled_report":{label:"Ops Scheduled Report",timing:"Sent when a configured daily, weekly, error digest, or account health report reaches its scheduled send time. Every daily and weekly summary metric is editable in this template.",categoryLabel:"Ops"}};function ge(b){return typeof b=="string"?{value:b}:b}function j(b){if(!b)return null;const y=(E.value.toLowerCase().startsWith("zh")?Z:Y)[b.value],V=(y==null?void 0:y.label)||b.label||b.value,F=(y==null?void 0:y.timing)||b.description||"",ie=(y==null?void 0:y.categoryLabel)||ne(b.category||"");return{label:V,timing:F,categoryLabel:ie,optional:b.optional===!0}
2}function se(b){const y=j(b);return y?y.label:b.label||b.value}function ne(b){const y=b.trim().toLowerCase();if(!y)return K("éç¥","Notification");const F={auth:{zh:"认è¯å®å
¨",en:"Auth"},subscription:{zh:"订é
",en:"Subscription"},billing:{zh:"计费",en:"Billing"},admin:{zh:"管çåè¦",en:"Admin"},risk_control:{zh:"飿§",en:"Risk Control"},ops:{zh:"è¿ç»´",en:"Ops"}}[y];return F?K(F.zh,F.en):b}const Fe=B(()=>S.value.find(b=>b.value===ee.value)||null),ve=B(()=>j(Fe.value)),he=B(()=>{var b;return((b=Fe.value)==null?void 0:b.description)||""}),Le=B(()=>{const b=ce.value.length?ce.value:L;return Array.from(new Set(b.map(y=>Pe(y)).filter(y=>y.length>0)))});function Pe(b){const y=b.trim();return y?y.startsWith("{{")&&y.endsWith("}}")?y:`{{${y}}}`:""}const He=B(()=>!!(ee.value&&J.value)&&me.value.trim().length>0&&te.value.trim().length>0),Ne=B(()=>!!(ee.value&&J.value)&&te.value.trim().length>0);function Re(b){const y=b.toLowerCase();return y==="zh"||y.startsWith("zh-")?t("admin.settings.emailTemplates.localeZh"):y==="en"||y.startsWith("en-")?t("admin.settings.emailTemplates.localeEn"):b}const Ze=B(()=>S.value.map(b=>({value:b.value,label:se(b)}))),et=B(()=>A.value.map(b=>({value:b,label:Re(b)})));function Ee(b){const y=E.value.toLowerCase(),V=b.find(Ve=>Ve.toLowerCase()===y);if(V)return V;const F=y.split("-")[0],ie=b.find(Ve=>Ve.toLowerCase().split("-")[0]===F);return ie||b[0]||""}function Be(b){me.value=b.subject,te.value=b.html,le.value=b.is_custom===!0,ce.value=b.placeholders||[]}async function tt(){if(!(!ee.value||!J.value)){H.value=!0;try{const b=await O.settings.getEmailTemplate(ee.value,J.value);Be(b),await Ke()}catch(b){k.showError(pe(b,t("common.error")))}finally{H.value=!1}}}async function Te(){var b;P.value=!0;try{const y=await O.settings.getEmailTemplates();S.value=y.events.map(ge),A.value=y.locales,ce.value=y.placeholders||[],Q.value=!0,ee.value=((b=S.value[0])==null?void 0:b.value)||"",J.value=Ee(y.locales),await tt(),Q.value=!1}catch(y){Q.value=!1,k.showError(pe(y,t("common.error")))}finally{P.value=!1}}async function ot(){if(!He.value){k.showError(t("admin.settings.emailTemplates.validationRequired"));return}x.value=!0;try{const b=await O.settings.updateEmailTemplate(ee.value,J.value,{subject:me.value,html:te.value});Be(b),await Ke(),k.showSuccess(t("admin.settings.emailTemplates.saveSuccess"))}catch(b){k.showError(pe(b,t("common.error")))}finally{x.value=!1}}async function Ke(){if(!Ne.value){oe.value="",D.value="";return}w.value=!0;try{const b=await O.settings.previewEmailTemplate({event:ee.value,locale:J.value,subject:me.value,html:te.value});oe.value=b.subject,D.value=b.html}catch(b){k.showError(pe(b,t("common.error")))}finally{w.value=!1}}async function we(){!ee.value||!J.value||(z.value=!0)}async function je(){if(!(!ee.value||!J.value)){z.value=!1,f.value=!0;try{const b=await O.settings.restoreOfficialEmailTemplate(ee.value,J.value);Be(b),await Ke(),k.showSuccess(t("admin.settings.emailTemplates.restoreSuccess"))}catch(b){k.showError(pe(b,t("common.error")))}finally{f.value=!1}}}async function at(b){try{await navigator.clipboard.writeText(b),k.showSuccess(t("admin.settings.emailTemplates.placeholderCopied"))}catch{k.showError(t("common.error"))}}return pt([ee,J],([b,y],[V,F])=>{Q.value||!b||!y||b===V&&y===F||tt()}),ct(()=>{Te()}),(b,y)=>(r(),d("div",Up,[e("div",Sp,[e("div",null,[e("h2",$p,n(a(t)("admin.settings.emailTemplates.title")),1),e("p",Pp,n(a(t)("admin.settings.emailTemplates.description")),1)]),e("div",Ep,[e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:H.value||w.value||!Ne.value,onClick:Ke},n(w.value?a(t)("admin.settings.emailTemplates.previewing"):a(t)("admin.settings.emailTemplates.preview")),9,Tp),e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:H.value||f.value||!ee.value||!J.value,onClick:we},n(f.value?a(t)("admin.settings.emailTemplates.restoring"):a(t)("admin.settings.emailTemplates.restoreOfficial")),9,Ap),e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:H.value||x.value||!He.value,onClick:ot},n(x.value?a(t)("admin.settings.emailTemplates.saving"):a(t)("admin.settings.emailTemplates.save")),9,Mp)])]),e("div",Fp,[P.value?(r(),d("div",Lp,[y[5]||(y[5]=e("span",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),I(" "+n(a(t)("common.loading")),1)])):(r(),d(R,{key:1},[e("div",Hp,[e("div",null,[e("label",Ip,n(a(t)("admin.settings.emailTemplates.event")),1),g(ke,{modelValue:ee.value,"onUpdate:modelValue":y[0]||(y[0]=V=>ee.value=V),options:Ze.value,disabled:H.value||S.value.length===0},null,8,["modelValue","options","disabled"])]),e("div",null,[e("label",Rp,n(a(t)("admin.settings.emailTemplates.locale")),1),g(ke,{modelValue:J.value,"onUpdate:modelValue":y[1]||(y[1]=V=>J.value=V),options:et.value,disabled:H.value||A.value.length===0},null,8,["modelValue","options","disabled"])])]),ve.value?(r(),d("div",Bp,[e("div",jp,[e("div",Dp,n(ve.value.label),1),e("span",Op,n(ve.value.categoryLabel),1),e("span",{class:X(["rounded-full px-2.5 py-1 text-xs font-medium",ve.value.optional?"bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-300":"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-300"])},n(ve.value.optional?K("å¯é订éç¥","Optional"):K("äºå¡é®ä»¶","Transactional")),3)]),e("p",zp,n(ve.value.timing),1),he.value?(r(),d("p",qp,n(he.value),1)):h("",!0)])):h("",!0),!S.value.length||!A.value.length?(r(),d("div",Np,n(a(t)("admin.settings.emailTemplates.empty")),1)):(r(),d("div",Kp,[e("div",Wp,[e("div",null,[e("label",Gp,n(a(t)("admin.settings.emailTemplates.subject")),1),c(e("input",{id:"email-template-subject","onUpdate:modelValue":y[2]||(y[2]=V=>me.value=V),type:"text",class:"input",disabled:H.value,placeholder:a(t)("admin.settings.emailTemplates.subjectPlaceholder")},null,8,Qp),[[u,me.value]])]),e("div",null,[e("label",Yp,n(a(t)("admin.settings.emailTemplates.html")),1),c(e("textarea",{id:"email-template-html","onUpdate:modelValue":y[3]||(y[3]=V=>te.value=V),rows:"18",class:"input min-h-[28rem] resize-y font-mono text-sm leading-6",disabled:H.value,placeholder:a(t)("admin.settings.emailTemplates.htmlPlaceholder")},null,8,Jp),[[u,te.value]])]),e("div",Xp,[e("div",Zp,n(a(t)("admin.settings.emailTemplates.placeholders")),1),e("p",eg,n(a(t)("admin.settings.emailTemplates.placeholdersHelp")),1),e("div",tg,[(r(!0),d(R,null,N(Le.value,V=>(r(),d("button",{key:V,type:"button",class:"rounded-full border border-gray-200 bg-white px-3 py-1 font-mono text-xs text-gray-700 transition-colors hover:border-primary-300 hover:text-primary-600 dark:border-dark-600 dark:bg-dark-700 dark:text-gray-200 dark:hover:border-primary-500 dark:hover:text-primary-300",onClick:F=>at(V)},n(V),9,ag))),128))])])]),e("div",sg,[e("div",ng,[e("div",ig,[e("div",null,[e("div",og,n(a(t)("admin.settings.emailTemplates.livePreview")),1),e("div",lg,n(oe.value||a(t)("admin.settings.emailTemplates.noPreview")),1)]),le.value?(r(),d("span",rg,n(a(t)("admin.settings.emailTemplates.customized")),1)):h("",!0)]),e("div",dg,[e("iframe",{class:"h-[36rem] w-full rounded-md border border-gray-200 bg-white dark:border-dark-700",sandbox:"",srcdoc:D.value,title:a(t)("admin.settings.emailTemplates.livePreview")},null,8,cg)])]),e("p",ug,n(a(t)("admin.settings.emailTemplates.previewSecurityHint")),1)])]))],64))]),g(wt,{show:z.value,title:a(t)("admin.settings.emailTemplates.restoreOfficial"),message:a(t)("admin.settings.emailTemplates.restoreConfirm"),"confirm-text":a(t)("common.confirm"),"cancel-text":a(t)("common.cancel"),onConfirm:je,onCancel:y[4]||(y[4]=V=>z.value=!1)},null,8,["show","title","message","confirm-text","cancel-text"])]))}}),mg={key:0,class:"mb-2 flex flex-wrap gap-2"},pg=["title"],gg={class:"shrink-0 text-gray-400"},yg={key:0,class:"shrink-0 text-gray-400"}
2,bg=["aria-label","title","onClick"],xg={class:"relative"},hg=["placeholder"],fg={key:1,class:"absolute z-50 mt-1 max-h-60 w-full overflow-auto rounded-lg border border-gray-200 bg-white shadow-lg dark:border-dark-600 dark:bg-dark-700"},kg={key:0,class:"px-4 py-3 text-sm text-gray-500 dark:text-gray-400"},vg={key:1,class:"px-4 py-3 text-sm text-gray-500 dark:text-gray-400"},wg=["onClick"],Cg={class:"min-w-0 truncate font-medium text-gray-900 dark:text-white"},Vg={key:0,class:"ml-1 text-xs font-normal text-gray-400"},Ug={class:"shrink-0 text-xs text-gray-400"},an=qe({__name:"OpenAIFastPolicyUserSelector",props:{modelValue:{}},emits:["update:modelValue"],setup(M,{emit:t}){const E=M,k=t,{t:L}=Ge(),P=U(null),H=U(""),x=U([]),w=U(!1),f=U(!1),S=U({});let A=null,ee=0;const J=B(()=>Array.from(new Set(E.modelValue.filter(K=>Number.isInteger(K)&&K>0)))),me=B(()=>{const K=new Set(J.value);return x.value.filter(Z=>!K.has(Z.id)).sort((Z,Y)=>Number(Z.deleted)-Number(Y.deleted))});function te(K){var Z;return((Z=S.value[K])==null?void 0:Z.email)||L("admin.settings.openaiFastPolicy.userIdFallback",{id:K})}function le(){A&&(clearTimeout(A),A=null),ee+=1}function ce(){le();const K=H.value.trim();if(f.value=!0,!K){x.value=[],w.value=!1;return}const Z=ee;A=setTimeout(async()=>{w.value=!0;try{const Y=await O.usage.searchUsers(K);Z===ee&&(x.value=Y)}catch{Z===ee&&(x.value=[])}finally{Z===ee&&(w.value=!1)}},300)}function oe(K){S.value={...S.value,[K.id]:K},k("update:modelValue",[...J.value,K.id]),le(),H.value="",x.value=[],w.value=!1,f.value=!1}function D(K){k("update:modelValue",J.value.filter(Z=>Z!==K))}async function Q(K){const Z=K.filter(j=>!S.value[j]);if(Z.length===0)return;const Y=await Promise.all(Z.map(async j=>{try{const se=await O.users.getById(j,!0);return{id:se.id,email:se.email,deleted:!!se.deleted_at}}catch{return null}})),ge={...S.value};for(const j of Y)j&&E.modelValue.includes(j.id)&&(ge[j.id]=j);S.value=ge}function z(K){var Y;const Z=K.target;Z&&!((Y=P.value)!=null&&Y.contains(Z))&&(f.value=!1)}return pt(J,K=>{Q(K)},{immediate:!0}),ct(()=>{document.addEventListener("click",z)}),Ko(()=>{le(),document.removeEventListener("click",z)}),(K,Z)=>(r(),d("div",{ref_key:"containerRef",ref:P,class:"relative"},[J.value.length>0?(r(),d("div",mg,[(r(!0),d(R,null,N(J.value,Y=>{var ge;return r(),d("span",{key:Y,class:"inline-flex max-w-full items-center gap-1.5 rounded-md bg-gray-100 px-2.5 py-1.5 text-xs text-gray-700 dark:bg-dark-600 dark:text-gray-200"},[e("span",{class:"max-w-64 truncate font-medium",title:te(Y)},n(te(Y)),9,pg),e("span",gg,"#"+n(Y),1),(ge=S.value[Y])!=null&&ge.deleted?(r(),d("span",yg,n(a(L)("admin.settings.openaiFastPolicy.userDeleted")),1)):h("",!0),e("button",{type:"button",class:"shrink-0 rounded text-gray-400 hover:text-red-600 dark:hover:text-red-400","aria-label":a(L)("admin.settings.openaiFastPolicy.removeUser"),title:a(L)("admin.settings.openaiFastPolicy.removeUser"),onClick:j=>D(Y)},[g(de,{name:"x",size:"xs","stroke-width":2})],8,bg)])}),128))])):h("",!0),e("div",xg,[g(de,{name:"search",size:"sm",class:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"}),c(e("input",{"onUpdate:modelValue":Z[0]||(Z[0]=Y=>H.value=Y),type:"text",autocomplete:"off",class:"input input-sm w-full pl-9",placeholder:a(L)("admin.settings.openaiFastPolicy.userSearchPlaceholder"),onInput:ce,onFocus:Z[1]||(Z[1]=Y=>f.value=!0)},null,40,hg),[[u,H.value]])]),f.value&&H.value.trim()?(r(),d("div",fg,[w.value?(r(),d("div",kg,n(a(L)("common.loading")),1)):me.value.length===0?(r(),d("div",vg,n(a(L)("admin.settings.openaiFastPolicy.userSearchEmpty")),1)):(r(!0),d(R,{key:2},N(me.value,Y=>(r(),d("button",{key:Y.id,type:"button",class:"flex w-full items-center justify-between gap-3 px-4 py-2 text-left text-sm hover:bg-gray-100 dark:hover:bg-dark-600",onClick:ge=>oe(Y)},[e("span",Cg,[I(n(Y.email)+" ",1),Y.deleted?(r(),d("span",Vg,n(a(L)("admin.settings.openaiFastPolicy.userDeleted")),1)):h("",!0)]),e("span",Ug,"#"+n(Y.id),1)],8,wg))),128))])):h("",!0)],512))}}),Sg={class:"mt-3 space-y-2"},$g={class:"text-sm text-gray-600 dark:text-gray-400"},Pg={class:"flex flex-wrap gap-2"},Eg=["disabled"],Tg={key:0,role:"alert",class:"text-sm text-red-600"},Ag=qe({__name:"MihomoProxySelector",emits:["ready"],setup(M,{emit:t}){const E=t,{locale:k}=Ge(),L=(w,f)=>k.value.startsWith("zh")?w:f,P=U(!1),H=U("");async function x(){P.value=!0,H.value="";try{const{data:w}=await Ht.get("/admin/system/mihomo");
2if(!w.running||w.busy||!w.nodes||w.endpoint!=="http://127.0.0.1:3101"){H.value=L("å
æ ¸å°æªå°±ç»ªï¼è¯·å
å¨ IP 管çä¸é
置并å¯å¨ã","The kernel is not ready. Configure and start it in IP Management first.");return}E("ready",w.endpoint)}catch{H.value=L("æ æ³è¯»åå
æ ¸ç¶æï¼è¯·ç¨åéè¯ã","Cannot read kernel status. Please retry.")}finally{P.value=!1}}return(w,f)=>{const S=ln("router-link");return r(),d("div",Sg,[e("p",$g,n(L("订é
ã卿代çãå°åºè§åä¸èç¹ç»ä¸å¨ IP 管çä¸ç»´æ¤ã","Manage subscriptions, dynamic proxies, region rules and nodes in IP Management.")),1),e("div",Pg,[g(S,{to:"/admin/proxies#subscriptions",class:"btn btn-secondary"},{default:$e(()=>[I(n(L("åå¾ IP 管ç","Open IP Management")),1)]),_:1}),e("button",{type:"button",class:"btn btn-secondary",disabled:P.value,onClick:x},n(L("设为æç¥¨ä»£ç","Use for ticket harvesting")),9,Eg)]),H.value?(r(),d("p",Tg,n(H.value),1)):h("",!0)])}}}),Mg=["header_exact","header_prefix","body_path"];function Fg(M){if(!M||!M.trim())return[];try{const t=JSON.parse(M);return Array.isArray(t)?t.map(E=>({type:Mg.includes(E==null?void 0:E.type)?E.type:"header_exact",match:Array.isArray(E==null?void 0:E.match)?E.match.filter(k=>typeof k=="string").join(" / "):"",required:(E==null?void 0:E.required)===!0})):[]}catch{return[]}}function Lg(M){const t=M.map(E=>({type:E.type,match:E.match.split("/").map(k=>k.trim()).filter(k=>k.length>0),required:E.required===!0})).filter(E=>E.match.length>0);return JSON.stringify(t)}function Hg(){return[{type:"header_prefix",match:"x-codex-",required:!0},{type:"header_exact",match:"session-id / session_id",required:!1},{type:"header_exact",match:"thread-id / thread_id",required:!1},{type:"body_path",match:"client_metadata.x-codex-window-id / client_metadata.x-codex-installation-id",required:!1}]}const Ig={class:"mx-auto max-w-6xl space-y-6"},Rg={key:0,class:"flex items-center justify-center py-12"},Bg={class:"settings-tabs-shell"},jg=["aria-label"],Dg={class:"settings-tabs"},Og=["id","aria-selected","tabindex","onClick","onKeydown"],zg={class:"settings-tab-icon"},qg={class:"settings-tab-label"},Ng={class:"space-y-6"},Kg={class:"card"},Wg={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Gg={class:"text-lg font-semibold text-gray-900 dark:text-white"},Qg={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Yg={class:"space-y-4 p-6"},Jg={class:"rounded-lg border border-amber-200 bg-amber-50 p-4 dark:border-amber-800 dark:bg-amber-900/20"},Xg={class:"flex items-start"},Zg={class:"ml-3 text-sm text-amber-700 dark:text-amber-300"},e0={key:0,class:"flex items-center gap-2 text-gray-500"},t0={key:1,class:"flex items-center justify-between"},a0={class:"text-gray-500 dark:text-gray-400"},s0=["disabled"],n0={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},i0={key:2,class:"space-y-4"},o0={class:"flex items-center justify-between"},l0={class:"mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300"},r0={class:"rounded bg-gray-100 px-2 py-1 font-mono text-sm text-gray-900 dark:bg-dark-700 dark:text-gray-100"},d0={class:"flex gap-2"},c0=["disabled"],u0=["disabled"],_0={key:0,class:"space-y-3 rounded-lg border border-green-200 bg-green-50 p-4 dark:border-green-800 dark:bg-green-900/20"},m0={class:"text-sm font-medium text-green-700 dark:text-green-300"},p0={class:"flex items-center gap-2"},g0={class:"flex-1 select-all break-all rounded border border-green-300 bg-white px-3 py-2 font-mono text-sm dark:border-green-700 dark:bg-dark-800"},y0={class:"text-xs text-green-600 dark:text-green-400"},b0={class:"space-y-6"},x0={class:"card"},h0={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},f0={class:"text-lg font-semibold text-gray-900 dark:text-white"},k0={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},v0={class:"space-y-5 p-6"},w0={key:0,class:"flex items-center gap-2 text-gray-500"},C0={class:"flex items-center justify-between"},V0={class:"font-medium text-gray-900 dark:text-white"},U0={class:"text-sm text-gray-500 dark:text-gray-400"},S0={key:0,class:"space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},$0={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},P0={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},E0={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},T0=["disabled"],A0={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},M0={class:"card"},F0={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},L0={class:"text-lg font-semibold text-gray-900 dark:text-white"},H0={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},I0={class:"space-y-5 p-6"},R0={key:0,class:"flex items-center gap-2 text-gray-500"},B0={class:"flex items-center justify-between"},j0={class:"font-medium text-gray-900 dark:text-white"},D0={class:"text-sm text-gray-500 dark:text-gray-400"},O0={key:0,class:"space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},z0={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},q0={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},N0={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},K0=["disabled"],W0={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},G0={class:"card"},Q0={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Y0={class:"text-lg font-semibold text-gray-900 dark:text-white"},J0={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},X0={class:"space-y-5 p-6"},Z0={key:0,class:"flex items-center gap-2 text-gray-500"},ey={class:"flex items-center justify-between"},ty={class:"font-medium text-gray-900 dark:text-white"},ay={class:"text-sm text-gray-500 dark:text-gray-400"},sy={key:0,class:"space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},ny={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},iy={value:"temp_unsched"},oy={value:"error"},ly={value:"none"},ry={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"}
vendor: 7,761 bytes, line 2
2,dy={key:0},cy={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},uy={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},_y={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},my={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},py={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},gy={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},yy={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},by=["disabled"],xy={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},hy={class:"card"},fy={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},ky={class:"text-lg font-semibold text-gray-900 dark:text-white"},vy={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},wy={class:"space-y-5 p-6"},Cy={key:0,class:"flex items-center gap-2 text-gray-500"},Vy={class:"flex items-center justify-between"},Uy={class:"font-medium text-gray-900 dark:text-white"},Sy={class:"text-sm text-gray-500 dark:text-gray-400"},$y={key:0,class:"space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},Py={class:"flex items-center justify-between"},Ey={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Ty={class:"text-xs text-gray-500 dark:text-gray-400"},Ay={class:"flex items-center justify-between"},My={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Fy={class:"text-xs text-gray-500 dark:text-gray-400"},Ly={class:"flex items-center justify-between"},Hy={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Iy={class:"text-xs text-gray-500 dark:text-gray-400"},Ry={key:0,class:"ml-4 space-y-3 border-l-2 border-gray-200 pl-4 dark:border-dark-600"},By={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},jy={class:"text-xs text-gray-500 dark:text-gray-400"},Dy=["onUpdate:modelValue","placeholder"],Oy=["onClick"],zy={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},qy=["disabled"],Ny={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},Ky={class:"card"},Wy={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Gy={class:"text-lg font-semibold text-gray-900 dark:text-white"},Qy={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Yy={class:"space-y-5 p-6"},Jy={key:0,class:"flex items-center gap-2 text-gray-500"},Xy={class:"mb-3 flex items-center gap-2"},Zy={class:"text-sm font-medium text-gray-900 dark:text-white"},eb={class:"rounded bg-gray-100 px-2 py-0.5 text-xs text-gray-500 dark:bg-dark-700 dark:text-gray-400"},tb={class:"grid grid-cols-1 gap-4 sm:grid-cols-2"},ab={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},sb={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},nb={key:0,class:"mt-3"},ib={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},ob=["onUpdate:modelValue","placeholder"],lb={class:"mt-1 text-xs text-gray-400 dark:text-gray-500"},rb={key:1,class:"mt-3"},db={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},cb={class:"flex flex-wrap gap-2"},ub=["onClick","title"],_b={class:"mt-3"},mb={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},pb={class:"mb-2 text-xs text-gray-400 dark:text-gray-500"},gb=["onUpdate:modelValue","placeholder"],yb=["onClick"],bb=["onClick"],xb={class:"flex flex-wrap items-center gap-1.5"},hb={class:"text-xs text-gray-400 dark:text-gray-500"},fb=["onClick"],kb={key:2,class:"mt-3"},vb={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},wb={class:"mt-1 text-xs text-gray-400 dark:text-gray-500"},Cb={key:0,class:"mt-2"},Vb=["onUpdate:modelValue","placeholder"],Ub={class:"mt-1 text-xs text-gray-400 dark:text-gray-500"},Sb={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},$b=["disabled"],Pb={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},Eb={class:"card"},Tb={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Ab={class:"text-lg font-semibold text-gray-900 dark:text-white"},Mb={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Fb={class:"space-y-5 p-6"},Lb={key:0,class:"rounded-lg border border-dashed border-gray-200 p-6 text-center text-sm text-gray-500 dark:border-dark-600 dark:text-gray-400"},Hb={class:"mb-3 flex items-center justify-between"},Ib={class:"text-sm font-medium text-gray-900 dark:text-white"},Rb=["onClick","title"],Bb=["data-testid"],jb={class:"font-medium text-gray-700 dark:text-gray-300"},Db={class:"inline-flex items-center rounded bg-primary-50 px-2 py-0.5 font-medium text-primary-700 dark:bg-primary-900/30 dark:text-primary-300"},Ob={class:"font-medium text-gray-700 dark:text-gray-300"},zb={class:"inline-flex items-center rounded bg-gray-100 px-2 py-0.5 font-medium text-gray-700 dark:bg-dark-600 dark:text-gray-300"},qb={class:"grid grid-cols-1 gap-4 md:grid-cols-3"},Nb={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Kb={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Wb={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Gb={class:"mt-3"},Qb={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Yb={class:"mb-2 text-xs text-gray-400 dark:text-gray-500"},Jb={key:0,class:"mt-3"},Xb={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Zb=["onUpdate:modelValue","placeholder"],ex={class:"mt-1 text-xs text-gray-400 dark:text-gray-500"},tx=["aria-labelledby","aria-describedby"],ax=["id"],sx=["id"],nx=["onUpdate:modelValue","placeholder"],ix=["onClick"],ox=["onClick"],lx={key:1,class:"mt-3"},rx={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},dx={class:"mt-1 text-xs text-gray-400 dark:text-gray-500"},cx={key:0,class:"mt-2"},ux=["onUpdate:modelValue","placeholder"],_x={class:"mt-2 text-xs text-gray-400 dark:text-gray-500"},mx={class:"space-y-6"},px={class:"card"},gx={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},yx={class:"text-lg font-semibold text-gray-900 dark:text-white"},bx={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},xx={class:"space-y-5 p-6"},hx={class:"flex items-center justify-between"},fx={class:"font-medium text-gray-900 dark:text-white"},kx={class:"text-sm text-gray-500 dark:text-gray-400"},vx={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},wx={class:"font-medium text-gray-900 dark:text-white"},Cx={class:"text-sm text-gray-500 dark:text-gray-400"},Vx={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},Ux={class:"font-medium text-gray-900 dark:text-white"},Sx={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},$x={class:"mt-3 rounded-lg border border-gray-300 bg-white p-2 dark:border-dark-500 dark:bg-dark-700"},Px={class:"flex flex-wrap items-center gap-2"},Ex=["onClick"],Tx={class:"flex min-w-[220px] flex-1 items-center gap-1 rounded border border-transparent px-2 py-1 focus-within:border-primary-300 dark:focus-within:border-primary-700"},Ax=["placeholder"],Mx={class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},Fx={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},Lx={class:"font-medium text-gray-900 dark:text-white"},Hx={class:"text-sm text-gray-500 dark:text-gray-400"},Ix={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},Rx={class:"font-medium text-gray-900 dark:text-white"},Bx={class:"text-sm text-gray-500 dark:text-gray-400"},jx={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},Dx={class:"font-medium text-gray-900 dark:text-white"},Ox={class:"text-sm text-gray-500 dark:text-gray-400"}
2,zx={key:0,class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},qx={class:"font-medium text-gray-900 dark:text-white"},Nx={class:"text-sm text-gray-500 dark:text-gray-400"},Kx={key:1,class:"border-t border-gray-100 pt-4 dark:border-dark-700"},Wx={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Gx=["placeholder"],Qx={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Yx={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},Jx={class:"font-medium text-gray-900 dark:text-white"},Xx={class:"text-sm text-gray-500 dark:text-gray-400"},Zx={key:0,class:"mt-2 text-sm text-amber-600 dark:text-amber-400"},eh={class:"border-t border-gray-100 pt-4 dark:border-dark-700","data-testid":"passkey-settings"},th={class:"flex items-start justify-between gap-4"},ah={class:"font-medium text-gray-900 dark:text-white"},sh={class:"text-sm text-gray-500 dark:text-gray-400"},nh={class:"font-medium"},ih={class:"mt-1 break-all"},oh={class:"mt-1 break-all"},lh={key:0,class:"mt-2"},rh={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},dh={class:"font-medium text-gray-900 dark:text-white"},ch={class:"text-sm text-gray-500 dark:text-gray-400"},uh={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},_h={class:"font-medium text-gray-900 dark:text-white"},mh={class:"text-sm text-gray-500 dark:text-gray-400"},ph={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},gh={class:"font-medium text-gray-900 dark:text-white"},yh={class:"text-sm text-gray-500 dark:text-gray-400"},bh={class:"card"},xh={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},hh={class:"text-lg font-semibold text-gray-900 dark:text-white"},fh={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},kh={class:"space-y-5 p-6"},vh={class:"flex items-center justify-between gap-4"},wh={class:"font-medium text-gray-900 dark:text-white"},Ch={class:"text-sm text-gray-500 dark:text-gray-400"},Vh={key:0,class:"border-t border-gray-100 pt-4 dark:border-dark-700"},Uh={for:"forwarded-client-ip-headers",class:"font-medium text-gray-900 dark:text-white"},Sh={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},$h={class:"mt-3 rounded-lg border border-gray-300 bg-white p-2 dark:border-dark-500 dark:bg-dark-700"},Ph={class:"flex flex-wrap items-center gap-2"},Eh=["aria-label","onClick"],Th={class:"flex min-w-[220px] flex-1 items-center gap-1 rounded border border-transparent px-2 py-1 focus-within:border-primary-300 dark:focus-within:border-primary-700"},Ah=["placeholder"],Mh={class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},Fh={class:"card"},Lh={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Hh={class:"flex items-center gap-2"},Ih={class:"text-lg font-semibold text-gray-900 dark:text-white"},Rh={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Bh={class:"space-y-5 p-6"},jh={key:0,class:"flex items-center gap-2 text-gray-500"},Dh={class:"rounded-lg border border-sky-200 bg-sky-50 p-4 dark:border-sky-800 dark:bg-sky-900/20"},Oh={class:"flex items-start"},zh={class:"ml-3 text-sm text-sky-700 dark:text-sky-300"},qh={class:"flex items-center justify-between"},Nh={class:"font-medium text-gray-900 dark:text-white"},Kh={class:"text-sm text-gray-500 dark:text-gray-400"},Wh={key:0,class:"space-y-5 border-t border-gray-100 pt-4 dark:border-dark-700"},Gh={class:"grid grid-cols-1 gap-6 sm:grid-cols-2"},Qh={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Yh={class:"flex items-center gap-2"},Jh={class:"text-sm text-gray-500 dark:text-gray-400"},Xh={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Zh={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},e1={class:"flex items-center gap-2"},t1={class:"text-sm text-gray-500 dark:text-gray-400"},a1={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},s1={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},n1={class:"flex items-center gap-2"},i1={class:"text-sm text-gray-500 dark:text-gray-400"},o1={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},l1={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},r1={class:"font-medium text-gray-900 dark:text-white"},d1={class:"text-sm text-gray-500 dark:text-gray-400"},c1={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},u1=["disabled"],_1={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},m1={class:"card"},p1={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},g1={class:"text-lg font-semibold text-gray-900 dark:text-white"},y1={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},b1={class:"space-y-5 p-6"},x1={class:"flex items-center justify-between"},h1={class:"font-medium text-gray-900 dark:text-white"},f1={class:"text-sm text-gray-500 dark:text-gray-400"},k1={key:0,class:"border-t border-gray-100 pt-4 dark:border-dark-700"},v1={class:"mb-6"},w1={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},C1={class:"grid grid-cols-3 gap-2 rounded-lg bg-gray-100 p-1 dark:bg-dark-700"}
2,V1={key:0,class:"grid grid-cols-1 gap-6"},U1={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},S1={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},$1={href:"https://dash.cloudflare.com/",target:"_blank",class:"text-primary-600 hover:text-primary-500"},P1={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},E1={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},T1={key:1},A1={class:"mb-6 max-w-sm"},M1={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},F1={class:"grid grid-cols-2 gap-2 rounded-lg bg-gray-100 p-1 dark:bg-dark-700"},L1={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},H1={class:"grid grid-cols-1 gap-6 md:grid-cols-2"},I1={class:"md:col-span-2"},R1={class:"text-sm font-semibold text-gray-900 dark:text-white"},B1={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},j1={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},D1={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},O1=["placeholder"],z1={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},q1={class:"border-t border-gray-100 pt-5 md:col-span-2 dark:border-dark-700"},N1={class:"text-sm font-semibold text-gray-900 dark:text-white"},K1={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},W1={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},G1=["placeholder"],Q1={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Y1={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},J1=["placeholder"],X1={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Z1={class:"mt-5 text-xs text-gray-500 dark:text-gray-400"},ef={class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},tf={class:"mt-3 flex flex-wrap gap-x-4 gap-y-2 text-sm"},af=["href"],sf=["href"],nf=["href"],of={key:2,class:"grid grid-cols-1 gap-6"},lf={class:"grid grid-cols-1 gap-6 sm:grid-cols-2"},rf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},df={class:"grid grid-cols-2 gap-2 rounded-lg bg-gray-100 p-1 dark:bg-dark-700"},cf={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},uf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},_f={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},mf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},pf={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},gf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},yf={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},bf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},xf={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},hf={class:"card"},ff={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},kf={class:"text-lg font-semibold text-gray-900 dark:text-white"},vf={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},wf={class:"space-y-5 p-6"},Cf={class:"flex items-center justify-between"},Vf={class:"font-medium text-gray-900 dark:text-white"},Uf={class:"text-sm text-gray-500 dark:text-gray-400"},Sf={key:0,class:"border-t border-gray-100 pt-4 dark:border-dark-700"},$f={class:"grid grid-cols-1 gap-6"},Pf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Ef=["placeholder"],Tf={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Af={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Mf=["placeholder"],Ff={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Lf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Hf=["placeholder"],If={class:"mt-2 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-3"},Rf={key:0,class:"select-all break-all rounded bg-gray-50 px-2 py-1 font-mono text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},Bf={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},jf={class:"card"},Df={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Of={class:"text-lg font-semibold text-gray-900 dark:text-white"},zf={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},qf={class:"space-y-6 p-6"},Nf={class:"grid grid-cols-1 gap-6 xl:grid-cols-2"},Kf={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},Wf={class:"flex items-start justify-between gap-4"},Gf={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Qf={key:0,class:"mt-4 space-y-4"},Yf={class:"rounded-lg bg-gray-50 px-3 py-2 text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},Jf={class:"grid grid-cols-1 gap-4 lg:grid-cols-2"},Xf=["placeholder"],Zf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},ek={class:"mt-2 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-3"},tk={key:0,class:"select-all break-all rounded bg-gray-50 px-2 py-1 font-mono text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},ak={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},sk={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},nk={class:"flex items-start justify-between gap-4"},ik={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},ok={key:0,class:"mt-4 space-y-4"},lk={class:"rounded-lg bg-gray-50 px-3 py-2 text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},rk={class:"grid grid-cols-1 gap-4 lg:grid-cols-2"},dk=["placeholder"],ck={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},uk={class:"mt-2 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-3"},_k={key:0,class:"select-all break-all rounded bg-gray-50 px-2 py-1 font-mono text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},mk={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},pk={class:"card"},gk={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},yk={class:"text-lg font-semibold text-gray-900 dark:text-white"},bk={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},xk={class:"space-y-5 p-6"},hk={class:"flex items-center justify-between"},fk={class:"font-medium text-gray-900 dark:text-white"},kk={class:"text-sm text-gray-500 dark:text-gray-400"},vk={key:0,class:"space-y-6 border-t border-gray-100 pt-4 dark:border-dark-700"},wk={class:"space-y-4"},Ck={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},Vk={class:"flex items-start justify-between gap-4"},Uk={class:"font-medium text-gray-900 dark:text-white"},Sk={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},$k={key:0,class:"mt-4 grid grid-cols-1 gap-4 lg:grid-cols-2"},Pk={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Ek=["placeholder"],Tk={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Ak=["placeholder"],Mk={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},Fk={class:"flex items-start justify-between gap-4"},Lk={class:"font-medium text-gray-900 dark:text-white"},Hk={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Ik={key:0,class:"mt-4 grid grid-cols-1 gap-4 lg:grid-cols-2"},Rk={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Bk=["placeholder"],jk={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Dk=["placeholder"],Ok={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},zk={class:"flex items-start justify-between gap-4"},qk={class:"font-medium text-gray-900 dark:text-white"},Nk={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Kk={key:0,class:"mt-4 grid grid-cols-1 gap-4 lg:grid-cols-2"},Wk={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Gk=["placeholder"],Qk={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Yk=["placeholder"],Jk={key:0,class:"rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-700 dark:border-amber-900/40 dark:bg-amber-900/10 dark:text-amber-300"},Xk={class:"grid grid-cols-1 gap-6 lg:grid-cols-2"},Zk={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},ev=["placeholder"],tv={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},av={class:"mt-2 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-3"},sv={key:0,class:"select-all break-all rounded bg-gray-50 px-2 py-1 font-mono text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},nv={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},iv=["placeholder"],ov={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},lv={class:"card"},rv={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},dv={class:"text-lg font-semibold text-gray-900 dark:text-white"},cv={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},uv={class:"space-y-5 p-6"},_v={class:"flex items-center justify-between"},mv={class:"font-medium text-gray-900 dark:text-white"},pv={class:"text-sm text-gray-500 dark:text-gray-400"},gv={key:0,class:"border-t border-gray-100 pt-4 dark:border-dark-700"},yv={class:"grid grid-cols-1 gap-6"},bv={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},xv=["placeholder"],hv={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},fv={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},kv=["placeholder"],vv={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},wv={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Cv=["placeholder"],Vv={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Uv={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},Sv={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},$v={class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},Pv={class:"space-y-2"},Ev={class:"flex cursor-pointer items-center gap-3"},Tv={class:"text-sm text-gray-700 dark:text-gray-300"},Av={class:"flex cursor-pointer items-center gap-3"},Mv={class:"text-sm text-gray-700 dark:text-gray-300"},Fv={key:0,class:"flex items-center justify-between pt-4 border-t border-gray-100 dark:border-dark-700"},Lv={class:"font-medium text-gray-900 dark:text-white"},Hv={class:"text-sm text-gray-500 dark:text-gray-400"},Iv={key:1,class:"pt-4 border-t border-gray-100 dark:border-dark-700 space-y-2"},Rv={class:"flex items-center justify-between"},Bv={class:"font-medium text-gray-900 dark:text-white"},jv={class:"text-sm text-gray-500 dark:text-gray-400"},Dv={key:0,class:"space-y-2"},Ov={class:"flex items-center gap-2"},zv={class:"text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap min-w-[5rem]"},qv={class:"flex items-center gap-2"},Nv={class:"text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap min-w-[5rem]"},Kv=["placeholder"],Wv={key:1,class:"text-xs text-gray-400 dark:text-gray-500"},Gv={key:2,class:"pt-4 border-t border-gray-100 dark:border-dark-700 space-y-2"},Qv={class:"flex items-center justify-between"},Yv={class:"font-medium text-gray-900 dark:text-white"},Jv={class:"text-sm text-gray-500 dark:text-gray-400"}
2,Xv={class:"text-xs text-amber-600 dark:text-amber-400 mt-1"},Zv={key:0,class:"space-y-2"},e2={class:"flex items-center gap-2"},t2={class:"text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap min-w-[5rem]"},a2={class:"flex items-center gap-2"},s2={class:"text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap min-w-[5rem]"},n2=["placeholder"],i2={key:1,class:"text-xs text-gray-400 dark:text-gray-500"},o2={key:3,class:"pt-4 border-t border-gray-100 dark:border-dark-700 space-y-2"},l2={class:"flex items-center justify-between"},r2={class:"font-medium text-gray-900 dark:text-white"},d2={class:"text-sm text-gray-500 dark:text-gray-400"},c2={class:"text-xs text-amber-600 dark:text-amber-400 mt-1"},u2={key:0,class:"space-y-2"},_2={class:"flex items-center gap-2"},m2={class:"text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap min-w-[5rem]"},p2={class:"flex items-center gap-2"},g2={class:"text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap min-w-[5rem]"},y2=["placeholder"],b2={key:1,class:"text-xs text-gray-400 dark:text-gray-500"},x2={class:"card"},h2={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},f2={class:"text-lg font-semibold text-gray-900 dark:text-white"},k2={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},v2={class:"space-y-5 p-6"},w2={class:"flex items-center justify-between"},C2={class:"font-medium text-gray-900 dark:text-white"},V2={class:"text-sm text-gray-500 dark:text-gray-400"},U2={key:0,class:"space-y-6 border-t border-gray-100 pt-4 dark:border-dark-700"},S2={class:"grid grid-cols-1 gap-6 lg:grid-cols-3"},$2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},P2=["placeholder"],E2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},T2=["placeholder"],A2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},M2=["placeholder"],F2={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},L2={class:"grid grid-cols-1 gap-6 lg:grid-cols-2"},H2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},I2=["placeholder"],R2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},B2=["placeholder"],j2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},D2=["placeholder"],O2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},z2=["placeholder"],q2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},N2=["placeholder"],K2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},W2=["placeholder"],G2={class:"grid grid-cols-1 gap-6 lg:grid-cols-2"},Q2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Y2=["placeholder"],J2={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},X2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Z2=["placeholder"],ew={class:"mt-2 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-3"},tw={key:0,class:"select-all break-all rounded bg-gray-50 px-2 py-1 font-mono text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},aw={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},sw={class:"lg:col-span-2"},nw={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},iw=["placeholder"],ow={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},lw={class:"grid grid-cols-1 gap-6 lg:grid-cols-3"},rw={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},dw={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},cw={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},uw=["placeholder"],_w={class:"grid grid-cols-1 gap-6 lg:grid-cols-3"},mw={class:"flex items-center justify-between rounded border border-gray-200 px-4 py-3 dark:border-dark-700"},pw={class:"font-medium text-gray-900 dark:text-white"},gw={class:"flex items-center justify-between rounded border border-gray-200 px-4 py-3 dark:border-dark-700"},yw={class:"font-medium text-gray-900 dark:text-white"},bw={class:"flex items-center justify-between rounded border border-gray-200 px-4 py-3 dark:border-dark-700"},xw={class:"font-medium text-gray-900 dark:text-white"},hw={class:"grid grid-cols-1 gap-6 lg:grid-cols-3"},fw={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},kw=["placeholder"],vw={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},ww=["placeholder"],Cw={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Vw=["placeholder"],Uw={class:"space-y-6"},Sw={class:"card"},$w={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Pw={class:"text-lg font-semibold text-gray-900 dark:text-white"},Ew={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Tw={class:"space-y-6 p-6"},Aw={class:"grid grid-cols-1 gap-6 md:grid-cols-2"},Mw={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Fw={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Lw={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Hw={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Iw={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Rw={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Bw={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},jw={class:"mb-3 flex items-center justify-between"},Dw={class:"font-medium text-gray-900 dark:text-white"},Ow={class:"text-sm text-gray-500 dark:text-gray-400"},zw=["disabled"],qw={key:0,class:"rounded border border-dashed border-gray-300 px-4 py-3 text-sm text-gray-500 dark:border-dark-600 dark:text-gray-400"},Nw={key:1,class:"space-y-3"},Kw={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Ww={key:1,class:"text-gray-400"},Gw={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Qw=["onUpdate:modelValue"],Yw={class:"flex items-end"},Jw=["onClick"],Xw={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},Zw={class:"mb-3"},e4={class:"font-medium text-gray-900 dark:text-white"},t4={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"}
2,a4={class:"mt-0.5 text-xs text-amber-600 dark:text-amber-400"},s4={class:"overflow-x-auto"},n4={class:"min-w-full text-sm"},i4={class:"text-left text-xs text-gray-500 dark:text-gray-400"},o4={class:"pb-2 pr-4 font-medium"},l4={class:"pb-2 pr-4 font-medium"},r4={class:"pb-2 pr-4 font-medium"},d4={class:"pb-2 font-medium"},c4={class:"space-y-2"},u4={class:"pr-4 py-1"},_4={class:"font-mono text-xs text-gray-700 dark:text-gray-300"},m4={class:"pr-4 py-1"},p4=["onUpdate:modelValue","placeholder"],g4={class:"pr-4 py-1"},y4=["onUpdate:modelValue","placeholder"],b4={class:"py-1"},x4=["onUpdate:modelValue","placeholder"],h4={class:"card"},f4={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},k4={class:"text-lg font-semibold text-gray-900 dark:text-white"},v4={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},w4={class:"space-y-6 p-6"},C4={class:"flex items-center justify-between rounded border border-gray-200 px-4 py-3 dark:border-dark-700"},V4={class:"font-medium text-gray-900 dark:text-white"},U4={class:"text-sm text-gray-500 dark:text-gray-400"},S4={class:"space-y-4"},$4={class:"flex items-center justify-between gap-4"},P4={class:"font-medium text-gray-900 dark:text-white"},E4={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},T4=["data-testid"],A4={class:"text-sm text-gray-500 dark:text-gray-400"},M4={class:"grid grid-cols-1 gap-4 md:grid-cols-2"},F4={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},L4=["onUpdate:modelValue"],H4={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},I4=["onUpdate:modelValue"],R4={class:"flex items-center justify-between rounded border border-gray-200 px-4 py-3 dark:border-dark-700"},B4={class:"font-medium text-gray-900 dark:text-white"},j4={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},D4={class:"mb-3 flex items-center justify-between"},O4={class:"font-medium text-gray-900 dark:text-white"},z4={class:"text-sm text-gray-500 dark:text-gray-400"},q4=["onClick","disabled"],N4={key:0,class:"rounded border border-dashed border-gray-300 px-4 py-3 text-sm text-gray-500 dark:border-dark-600 dark:text-gray-400"},K4={key:1,class:"space-y-3"},W4={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},G4={key:1,class:"text-gray-400"},Q4={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Y4=["onUpdate:modelValue"],J4={class:"flex items-end"},X4=["onClick"],Z4={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},e5={class:"mb-3"},t5={class:"font-medium text-gray-900 dark:text-white"},a5={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},s5={class:"overflow-x-auto"},n5={class:"min-w-full text-sm"},i5={class:"text-left text-xs text-gray-500 dark:text-gray-400"},o5={class:"pb-2 pr-4 font-medium"},l5={class:"pb-2 pr-4 font-medium"},r5={class:"pb-2 pr-4 font-medium"},d5={class:"pb-2 font-medium"},c5={class:"pr-4 py-1"},u5={class:"font-mono text-xs text-gray-700 dark:text-gray-300"},_5={class:"pr-4 py-1"},m5=["onUpdate:modelValue","placeholder"],p5={class:"pr-4 py-1"},g5=["onUpdate:modelValue","placeholder"],y5={class:"py-1"},b5=["onUpdate:modelValue","placeholder"],x5={class:"space-y-6"},h5={class:"card"},f5={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},k5={class:"text-lg font-semibold text-gray-900 dark:text-white"},v5={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},w5={class:"p-6"},C5={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},V5=["placeholder"],U5={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},S5={class:"mt-4"},$5={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},P5=["placeholder"],E5={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},T5={class:"card"},A5={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},M5={class:"text-lg font-semibold text-gray-900 dark:text-white"},F5={class:"p-6 space-y-4"},L5={class:"flex items-center justify-between gap-4"},H5={class:"min-w-0"},I5={class:"text-base font-semibold text-gray-900 dark:text-white"},R5={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"}
2,B5={class:"flex items-center justify-between gap-4 rounded-lg border border-gray-200 p-4 dark:border-dark-600"},j5={class:"min-w-0"},D5={class:"text-sm font-semibold text-gray-900 dark:text-white"},O5={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},z5={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},q5={class:"text-sm font-semibold text-gray-900 dark:text-white"},N5={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},K5={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},W5={class:"mt-3 rounded-lg border border-gray-200 p-3 dark:border-dark-600"},G5={class:"px-1 text-sm font-semibold"},Q5={value:"all"},Y5={value:"selected"},J5={class:"mt-3 block text-sm",for:"codex-ticket-account-policy"},X5={value:"schedulable_only"},Z5={value:"prioritize_schedulable"},e3={key:0,class:"mt-3 space-y-2"},t3={key:0,class:"text-sm text-amber-600"},a3=["id","value"],s3={key:1,class:"text-sm text-amber-600"},n3={class:"mt-2 text-xs text-gray-500"},i3={class:"mt-3 block text-sm",for:"codex-ticket-strategy"},o3={value:"standby"},l3={value:"fixed"},r3={class:"mt-3 flex items-center gap-2 text-sm"},d3={class:"mt-1 text-xs text-gray-500"},c3={class:"mt-1 text-xs text-gray-500"},u3={class:"mt-3 grid gap-3 sm:grid-cols-2"},_3={class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},m3=["checked"],p3={class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},g3=["checked"],y3={class:"text-base font-semibold text-gray-900 dark:text-white"},b3={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},x3=["aria-label"],h3=["checked"],f3=["checked"],k3=["checked"],v3={key:0,class:"mt-3 rounded-md border border-primary-200 bg-primary-50/60 px-3 py-2.5 dark:border-primary-800 dark:bg-primary-900/20"},w3={class:"flex flex-wrap items-center gap-2 text-sm text-primary-800 dark:text-primary-200"},C3={key:1,"data-testid":"codex-ticket-proxy-ip-pool-hint",class:"mt-3 rounded-md border border-primary-200 bg-primary-50/60 px-3 py-2.5 text-sm text-primary-800 dark:border-primary-800 dark:bg-primary-900/20 dark:text-primary-200"},V3=["placeholder"],U3={key:3,class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},S3={class:"text-base font-semibold text-gray-900 dark:text-white"},$3={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},P3={class:"grid gap-4 sm:grid-cols-2"},E3={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},T3=["placeholder"],A3={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},M3=["placeholder"],F3={class:"text-xs text-gray-500 dark:text-gray-400"},L3={class:"block text-sm font-medium text-gray-700 dark:text-gray-300"},H3={class:"mb-2 mt-1 text-xs text-gray-500 dark:text-gray-400"},I3=["onUpdate:modelValue"],R3={value:"header_exact"},B3={value:"header_prefix"},j3={value:"body_path"},D3=["onUpdate:modelValue","placeholder"],O3={class:"flex shrink-0 items-center gap-1 text-xs text-gray-600 dark:text-gray-400"},z3=["onUpdate:modelValue"],q3=["onClick"],N3={key:0,class:"mt-2 text-xs text-amber-600 dark:text-amber-500"},K3={class:"flex items-center justify-between"},W3={class:"pr-4"},G3={class:"block text-sm font-medium text-gray-700 dark:text-gray-300"},Q3={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Y3={class:"block text-sm font-medium text-gray-700 dark:text-gray-300"},J3={class:"mb-2 mt-1 text-xs text-gray-500 dark:text-gray-400"},X3=["onUpdate:modelValue","placeholder"],Z3=["onUpdate:modelValue","placeholder"],e6=["onClick"],t6={class:"block text-sm font-medium text-gray-700 dark:text-gray-300"},a6={class:"mb-2 mt-1 text-xs text-gray-500 dark:text-gray-400"},s6=["onUpdate:modelValue","placeholder"],n6=["onUpdate:modelValue","placeholder"],i6=["title"],o6=["onUpdate:modelValue"],l6=["onClick"],r6={class:"card","data-testid":"upstream-billing-probe-settings"},d6={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},c6={class:"text-lg font-semibold text-gray-900 dark:text-white"},u6={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},_6={class:"space-y-5 p-6"},m6={key:0,class:"flex items-center gap-2 text-gray-500"},p6={class:"flex items-center justify-between gap-4"},g6={class:"font-medium text-gray-900 dark:text-white"},y6={class:"text-sm text-gray-500 dark:text-gray-400"},b6={key:0,class:"border-t border-gray-100 pt-4 dark:border-dark-700"},x6={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300",for:"upstream-billing-probe-interval"},h6=["onKeydown"],f6={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},k6={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},v6=["disabled"],w6={class:"card","data-testid":"ollama-cloud-usage-global-settings"},C6={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},V6={class:"text-lg font-semibold text-gray-900 dark:text-white"},U6={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},S6={class:"space-y-5 p-6"},$6={key:0,class:"flex items-center gap-2 text-gray-500"},P6={class:"flex items-center justify-between gap-4"},E6={class:"font-medium text-gray-900 dark:text-white"},T6={class:"text-sm text-gray-500 dark:text-gray-400"},A6={key:0,class:"space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},M6={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300",for:"ollama-cloud-usage-debounce"},F6=["onKeydown"],L6={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},H6={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300",for:"ollama-cloud-usage-interval"},I6=["onKeydown"],R6={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},B6={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},j6=["disabled"],D6={class:"card","data-testid":"opencode-go-usage-global-settings"},O6={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},z6={class:"text-lg font-semibold text-gray-900 dark:text-white"},q6={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},N6={class:"space-y-5 p-6"},K6={key:0,class:"flex items-center gap-2 text-gray-500"},W6={class:"flex items-center justify-between gap-4"},G6={class:"font-medium text-gray-900 dark:text-white"},Q6={class:"text-sm text-gray-500 dark:text-gray-400"},Y6={key:0,class:"space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},J6={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300",for:"opencode-go-usage-debounce"},X6=["onKeydown"],Z6={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},e8={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300",for:"opencode-go-usage-interval"},t8=["onKeydown"],a8={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},s8={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},n8=["disabled"],i8={class:"card"},o8={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},l8={class:"text-lg font-semibold text-gray-900 dark:text-white"},r8={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},d8={class:"space-y-5 p-6"},c8={class:"flex items-center justify-between"},u8={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},_8={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},m8={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},p8={class:"mb-3"},g8={class:"font-medium text-gray-900 dark:text-white"},y8={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},b8={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"}
2,x8={class:"mt-0.5 text-xs text-amber-600 dark:text-amber-400"},h8={class:"grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-3"},f8={class:"flex items-start justify-between gap-3"},k8={class:"font-mono text-sm font-medium text-gray-900 dark:text-white"},v8={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},w8=["onUpdate:modelValue","data-testid"],C8={key:0,class:"flex items-center justify-between border-t border-gray-100 pt-5 dark:border-dark-700"},V8={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},U8={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},S8={key:1,class:"flex flex-col items-stretch gap-3 border-t border-gray-100 pt-5 sm:flex-row sm:items-start sm:justify-between sm:gap-6 dark:border-dark-700"},$8={class:"min-w-0"},P8={class:"text-sm font-medium text-gray-700 dark:text-gray-300",for:"openai-oauth-scheduling-rate-multiplier"},E8={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},T8={class:"relative w-full shrink-0 sm:w-32"},A8={class:"flex items-center justify-between border-t border-gray-100 pt-5 dark:border-dark-700"},M8={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},F8={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},L8={key:2,class:"flex items-center justify-between border-t border-gray-100 pt-5 dark:border-dark-700"},H8={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},I8={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},R8={key:3,class:"flex items-center justify-between border-t border-gray-100 pt-5 dark:border-dark-700"},B8={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},j8={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},D8={key:4,class:"flex flex-col items-stretch gap-3 border-t border-gray-100 pt-5 sm:flex-row sm:items-start sm:justify-between sm:gap-6 dark:border-dark-700"},O8={class:"min-w-0"},z8={class:"text-sm font-medium text-gray-700 dark:text-gray-300",for:"openai-oauth-scheduling-rate-multiplier"},q8={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},N8={class:"relative w-full shrink-0 sm:w-32"},K8={key:5,class:"border-t border-gray-100 pt-5 dark:border-dark-700"},W8={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},G8={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Q8={class:"mt-4 grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-5"},Y8={class:"text-xs font-medium text-gray-600 dark:text-gray-400"},J8=["onUpdate:modelValue","placeholder"],X8={class:"card"},Z8={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},e7={class:"text-lg font-semibold text-gray-900 dark:text-white"},t7={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},a7={class:"space-y-5 p-6"},s7={class:"grid gap-5 border-b border-gray-100 pb-5 dark:border-dark-700 md:grid-cols-[minmax(0,1fr)_auto] md:items-end"},n7={for:"grok-default-text-model",class:"text-sm font-medium text-gray-700 dark:text-gray-300"},i7={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},o7={class:"flex items-center justify-between gap-5 md:min-w-72"},l7={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},r7={class:"mt-0.5 max-w-sm text-xs text-gray-500 dark:text-gray-400"},d7={class:"md:col-span-2"},c7={for:"grok-default-base-url-mode",class:"text-sm font-medium text-gray-700 dark:text-gray-300"},u7={value:"cli"},_7={value:"api"},m7={value:"us-east-1"},p7={value:"us-west-2"},g7={value:"eu-west-1"},y7={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},b7={class:"border-b border-gray-100 pb-5 dark:border-dark-700 md:col-span-2"},x7={for:"openai-ttft-mode",class:"text-sm font-medium text-gray-700 dark:text-gray-300"},h7={value:"semantic"},f7={value:"visible"},k7={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},v7={class:"flex items-center justify-between"},w7={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},C7={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},V7={class:"flex items-center justify-between"},U7={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},S7={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},$7={class:"flex items-center justify-between"},P7={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},E7={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},T7={class:"flex items-center justify-between"},A7={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},M7={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},F7={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},L7={class:"space-y-3"},H7={class:"min-w-0"},I7={class:"text-sm font-medium text-gray-900 dark:text-white"},R7={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},B7={class:"flex items-center gap-2"},j7=["title","aria-label","onClick"],D7=["disabled","onClick"],O7=["disabled","onClick"],z7=["onClick"],q7={class:"grid gap-3 md:grid-cols-2"},N7={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-300"},K7={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-300"},W7={class:"mt-3"},G7={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-300"},Q7=["onUpdate:modelValue","onInput"],Y7={class:"mt-3 grid gap-3 md:grid-cols-[minmax(0,1fr)_160px]"},J7={class:"flex items-center justify-between gap-4"},X7={class:"text-xs font-medium text-gray-600 dark:text-gray-300"},Z7={key:0},e9={class:"mt-3 flex flex-wrap gap-2"},t9={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},a9={class:"flex items-center justify-between"},s9={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},n9={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},i9={class:"flex items-center justify-between"},o9={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},l9={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},r9={class:"flex items-center justify-between"},d9={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},c9={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},u9={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},_9=["placeholder"],m9={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},p9={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},g9=["placeholder"],y9={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},b9={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},x9=["placeholder"],h9={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},f9={class:"flex items-center justify-between"},k9={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},v9={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},w9={key:0,class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},C9={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},V9={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},U9={class:"flex items-center justify-between"},S9={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},$9={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},P9={key:0,class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},E9={class:"card"},T9={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},A9={class:"text-lg font-semibold text-gray-900 dark:text-white"},M9={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},F9={class:"space-y-5 p-6"},L9={class:"flex items-center justify-between"},H9={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},I9={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},R9={key:0,class:"space-y-4"},B9={class:"flex items-center justify-between"},j9={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},D9={key:0,class:"rounded-lg border border-dashed border-gray-300 p-4 text-center text-sm text-gray-400 dark:border-dark-600"},O9=["onClick"],z9={class:"flex items-center gap-3"},q9={class:"text-xs text-gray-400"},N9={key:0,class:"text-xs text-green-500"},K9=["onClick"],W9={key:0,class:"space-y-3 border-t border-gray-100 px-4 pb-4 pt-3 dark:border-dark-700"},G9={class:"text-xs text-gray-500"},Q9={class:"relative"},Y9=["onUpdate:modelValue","type","placeholder"],J9={key:0,class:"absolute inset-y-0 right-0 flex items-center pr-1.5"},X9=["title","onClick"],Z9={key:0,class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},eC={key:1,class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},tC=["title","disabled","onClick"],aC={class:"grid grid-cols-2 gap-3"},sC={class:"text-xs text-gray-500"},nC=["onUpdate:modelValue"],iC={class:"mt-0.5 text-xs text-gray-400"},oC={class:"text-xs text-gray-500"},lC=["value","onInput"],rC={class:"mt-0.5 text-xs text-gray-400"},dC={class:"flex items-center gap-2"},cC={class:"text-xs text-gray-500"},uC={key:0,class:"flex-1 rounded-full bg-gray-200 dark:bg-dark-600",style:{height:"6px"}},_C={key:1,class:"flex-1"},mC={class:"text-xs text-gray-500"},pC=["onClick"],gC={class:"flex items-end gap-3"},yC={class:"flex-1"},bC={class:"text-xs text-gray-500"},xC={class:"mx-4 w-full max-w-lg rounded-xl bg-white p-6 shadow-xl dark:bg-dark-800"},hC={class:"mb-4 text-lg font-semibold text-gray-900 dark:text-white"},fC={class:"flex items-center gap-2"},kC=["placeholder"],vC=["disabled"],wC={key:0,class:"mt-4 max-h-80 overflow-y-auto rounded-lg bg-gray-50 p-4 dark:bg-dark-700"},CC={class:"mb-2 text-sm font-medium text-gray-700 dark:text-gray-300"},VC={key:0,class:"text-sm text-gray-400"},UC=["href"],SC={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},$C={class:"mt-4 flex justify-end"},PC={class:"card"},EC={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},TC={class:"text-lg font-semibold text-gray-900 dark:text-white"},AC={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},MC={class:"space-y-4 p-6"},FC={class:"flex items-center justify-between"},LC={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},HC={class:"text-xs text-gray-500 dark:text-gray-400"},IC={class:"toggle"},RC={class:"flex items-center justify-between"},BC={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},jC={class:"text-xs text-gray-500 dark:text-gray-400"},DC={class:"toggle"},OC={class:"space-y-6"},zC={class:"card"},qC={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},NC={class:"text-lg font-semibold text-gray-900 dark:text-white"},KC={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},WC={class:"space-y-6 p-6"},GC={class:"flex items-center justify-between rounded-lg border border-amber-200 bg-amber-50 p-4 dark:border-amber-800 dark:bg-amber-900/20"},QC={class:"text-sm font-medium text-gray-900 dark:text-white"},YC={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},JC={class:"grid grid-cols-1 gap-6 md:grid-cols-2"},XC={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},ZC=["placeholder"],eV={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},tV={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},aV=["placeholder"],sV={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},nV={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},iV=["placeholder"],oV={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},lV={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},rV={class:"text-sm font-medium text-gray-900 dark:text-white"},dV={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},cV={class:"mt-4 grid grid-cols-1 gap-6 md:grid-cols-2"},uV={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},_V={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},mV={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},pV=["placeholder"],gV={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},yV={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},bV={class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},xV={class:"space-y-3"},hV={class:"mb-3 flex items-center justify-between"},fV={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},kV=["onClick"],vV={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},wV={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},CV=["onUpdate:modelValue","placeholder"],VV={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},UV=["onUpdate:modelValue","placeholder"],SV={class:"sm:col-span-2"},$V={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},PV=["onUpdate:modelValue","placeholder"],EV={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},TV=["placeholder"],AV={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},MV={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},FV=["placeholder"],LV={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},HV={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},IV={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},RV=["placeholder"],BV={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"}
2,jV={class:"mt-2 text-xs text-amber-600 dark:text-amber-400"},DV={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},OV={class:"font-medium text-gray-900 dark:text-white"},zV={class:"text-sm text-gray-500 dark:text-gray-400"},qV={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},NV={class:"font-medium text-gray-900 dark:text-white"},KV={class:"text-sm text-gray-500 dark:text-gray-400"},WV={class:"card"},GV={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},QV={class:"text-lg font-semibold text-gray-900 dark:text-white"},YV={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},JV={class:"space-y-4 p-6"},XV={class:"mb-3 flex items-center justify-between"},ZV={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},eU={class:"flex items-center gap-2"},tU=["title","onClick"],aU=["title","onClick"],sU=["title","onClick"],nU={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},iU={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},oU=["onUpdate:modelValue","placeholder"],lU={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},rU=["onUpdate:modelValue"],dU={value:"user"},cU={value:"admin"},uU={class:"sm:col-span-2"},_U={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},mU=["onUpdate:modelValue","placeholder"],pU={class:"flex items-center gap-2 sm:col-span-2"},gU=["onUpdate:modelValue"],yU={class:"text-sm text-gray-700 dark:text-gray-300"},bU={class:"sm:col-span-2"},xU={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},hU={class:"mt-3"},fU={class:"mb-2 text-xs font-medium text-gray-600 dark:text-gray-400"},kU={class:"grid grid-cols-2 gap-2 sm:grid-cols-4 lg:grid-cols-6"},vU=["data-preset","aria-pressed","title","onClick"],wU=["innerHTML"],CU={class:"min-w-0 truncate"},VU={class:"card"},UU={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},SU={class:"text-lg font-semibold text-gray-900 dark:text-white"},$U={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},PU={class:"space-y-4 p-6"},EU={class:"mb-3 flex items-center justify-between"},TU={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},AU=["title","onClick"],MU={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},FU={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},LU=["onUpdate:modelValue"],HU={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},IU=["onUpdate:modelValue"],RU={value:"same_tab"},BU={value:"new_tab"},jU={class:"sm:col-span-2"},DU={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},OU=["onUpdate:modelValue"],zU={class:"sm:col-span-2"},qU={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},NU={class:"mt-3 grid grid-cols-2 gap-2 sm:grid-cols-4 lg:grid-cols-6"},KU=["data-preset","aria-pressed","title","onClick"],WU=["innerHTML"],GU={class:"min-w-0 truncate"},QU={class:"space-y-6"},YU={class:"card"},JU={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},XU={class:"flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between"},ZU={class:"text-lg font-semibold text-gray-900 dark:text-white"},eS={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},tS={class:"flex items-center gap-3"},aS={class:"text-sm text-gray-600 dark:text-gray-300"},sS={class:"space-y-6 p-6"},nS={class:"grid grid-cols-1 gap-5 lg:grid-cols-[minmax(0,1fr)_220px]"},iS={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},oS={class:"grid grid-cols-2 gap-2 rounded-lg bg-gray-100 p-1 dark:bg-dark-700"},lS={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},rS={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},dS={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},cS={class:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between"},uS={class:"text-sm font-medium text-gray-900 dark:text-white"},_S={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},mS={class:"mt-4 space-y-3"},pS={class:"mb-3 flex items-center justify-between gap-3"},gS={class:"flex min-w-0 items-center gap-3"},yS={class:"flex h-9 w-9 flex-shrink-0 items-center justify-center rounded-md bg-gray-100 text-gray-700 dark:bg-dark-700 dark:text-dark-200"},bS={class:"min-w-0"},xS={class:"truncate text-sm font-semibold text-gray-900 dark:text-white"},hS={class:"truncate text-xs text-gray-500 dark:text-gray-400"},fS=["disabled","onClick"],kS={class:"grid grid-cols-1 gap-3 lg:grid-cols-2"},vS={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},wS=["onUpdate:modelValue","placeholder"],CS={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},VS={class:"flex overflow-hidden rounded-lg border border-gray-300 bg-white focus-within:border-primary-500 focus-within:ring-1 focus-within:ring-primary-500 dark:border-dark-600 dark:bg-dark-900"},US=["onUpdate:modelValue"],SS={class:"mt-3"},$S={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"}
2,PS=["onUpdate:modelValue","placeholder"],ES={class:"space-y-6"},TS={class:"card","data-testid":"request-capture-settings"},AS={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},MS={class:"text-lg font-semibold text-gray-900 dark:text-white"},FS={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},LS={class:"space-y-5 p-6"},HS={class:"flex items-center justify-between gap-4"},IS={for:"request-capture-enabled",class:"input-label"},RS={class:"grid gap-5 md:grid-cols-2"},BS={class:"space-y-1"},jS={class:"input-label"},DS={class:"space-y-1"},OS={class:"input-label"},zS={class:"text-xs text-gray-500 dark:text-gray-400"},qS={class:"text-xs text-amber-700 dark:text-amber-300"},NS={class:"card","data-testid":"excel-bps-image-settings"},KS={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},WS={class:"text-lg font-semibold text-gray-900 dark:text-white"},GS={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},QS={class:"space-y-5 p-6"},YS={class:"flex items-center justify-between gap-4"},JS={for:"excel-bps-image-enabled",class:"text-sm font-medium text-gray-700 dark:text-gray-300"},XS={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},ZS={key:0},e$={for:"excel-bps-image-mode",class:"input-label"},t$={value:"relay"},a$={value:"native"},s$={key:0,class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},n$={key:1,class:"mt-5"},i$={for:"excel-bps-image-base-url",class:"input-label"},o$={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},l$={class:"mt-5 space-y-3","data-testid":"bps-image-policy"},r$={class:"input-label",for:"bps-image-limit-policy"},d$={value:"off"},c$={value:"auto_compact"},u$={value:"warn"},_$={class:"text-xs text-gray-500"},m$={key:0,class:"grid gap-4 sm:grid-cols-2"},p$={class:"space-y-1"},g$={class:"input-label"},y$=["max"],b$={class:"space-y-1"},x$={class:"input-label"},h$=["max"],f$={class:"text-xs text-gray-500 sm:col-span-2"},k$={class:"mt-6 input-label"},v$={class:"mt-5 grid gap-4 sm:grid-cols-4"},w$={class:"space-y-1"},C$={for:"excel-bps-image-body-limit",class:"input-label"},V$=["max"],U$={class:"space-y-1"},S$={for:"excel-bps-image-budget",class:"input-label"},$$=["min","max"],P$={class:"space-y-1"},E$={for:"excel-bps-image-max-requests",class:"input-label"},T$=["max"],A$={class:"space-y-1"},M$={for:"excel-bps-image-max-images",class:"input-label"},F$=["max"],L$={class:"text-xs text-gray-500 dark:text-gray-400"},H$={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},I$={key:2,class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},R$={class:"mt-6 input-label"},B$={class:"mt-3 grid gap-4 sm:grid-cols-3"},j$={class:"space-y-1"},D$={for:"excel-bps-image-max-image-mib",class:"input-label"},O$=["max"],z$={class:"text-xs text-gray-500 dark:text-gray-400"},q$={class:"space-y-1"},N$={for:"excel-bps-image-max-total-mib",class:"input-label"},K$=["max"],W$={class:"text-xs text-gray-500 dark:text-gray-400"},G$={class:"space-y-1"},Q$={for:"excel-bps-image-storage-mib",class:"input-label"},Y$=["max"],J$={class:"text-xs text-gray-500 dark:text-gray-400"},X$={class:"space-y-1"},Z$={for:"excel-bps-image-storage-entries",class:"input-label"},eP=["max"],tP={class:"text-xs text-gray-500 dark:text-gray-400"},aP={class:"space-y-1"},sP={for:"excel-bps-image-ttl-minutes",class:"input-label"},nP=["max"],iP={class:"text-xs text-gray-500 dark:text-gray-400"},oP={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},lP={class:"card"},rP={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},dP={class:"text-lg font-semibold text-gray-900 dark:text-white"},cP={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},uP={class:"mt-1.5 text-xs"},_P={class:"space-y-5 p-6"},mP={class:"flex items-center justify-between"},pP={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},gP={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},yP={key:0,class:"space-y-5"},bP={class:"input-label"},xP={class:"mt-1.5 inline-flex w-full max-w-md rounded-lg border border-gray-200 bg-gray-50 p-1 dark:border-dark-600 dark:bg-dark-900/40"},hP={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},fP={class:"mt-1 text-xs text-gray-400 dark:text-gray-500"},kP={key:0},vP={class:"input-label"},wP={class:"mt-1 text-xs text-gray-400"},CP={key:1,class:"space-y-4"},VP={class:"flex items-start justify-between gap-4"},UP={class:"min-w-0"},SP={class:"text-sm font-medium text-gray-900 dark:text-white"},$P={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},PP={class:"flex items-start justify-between gap-4"},EP={class:"min-w-0"},TP={class:"text-sm font-medium text-gray-900 dark:text-white"},AP={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},MP={key:2,class:"flex items-start justify-between gap-4"},FP={class:"min-w-0"},LP={class:"text-sm font-medium text-gray-900 dark:text-white"},HP={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},IP={class:"card"},RP={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},BP={class:"text-lg font-semibold text-gray-900 dark:text-white"},jP={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},DP={class:"mt-1.5 text-xs"},OP={class:"space-y-5 p-6"},zP={class:"flex items-center justify-between"},qP={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},NP={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},KP={class:"card","data-testid":"pelican-showcase-moved"},WP={class:"px-6 py-4"},GP={class:"text-lg font-semibold text-gray-900 dark:text-white"},QP={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},YP={class:"card"},JP={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},XP={class:"text-lg font-semibold text-gray-900 dark:text-white"},ZP={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},eE={class:"space-y-5 p-6"},tE={class:"flex items-center justify-between"},aE={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},sE={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},nE={key:0,class:"flex items-center justify-between"},iE={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},oE={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},lE={key:1},rE={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},dE={class:"mb-2 mt-0.5 text-xs text-gray-500 dark:text-gray-400"},cE={class:"card"},uE={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},_E={class:"text-lg font-semibold text-gray-900 dark:text-white"},mE={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},pE={class:"space-y-5 p-6"},gE={class:"flex items-center justify-between gap-4"},yE={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},bE={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},xE={class:"flex items-center justify-between gap-4"},hE={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},fE={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},kE={class:"flex items-center justify-between gap-4"},vE={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},wE={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},CE={class:"flex items-center justify-between gap-4"},VE={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},UE={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},SE={class:"flex items-center justify-between"},$E={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},PE={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},EE={key:0},TE={class:"input-label"},AE={class:"input-label"},ME={class:"mt-1 text-xs text-gray-400"},FE={class:"card"},LE={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},HE={class:"text-lg font-semibold text-gray-900 dark:text-white"},IE={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},RE={class:"space-y-5 p-6"},BE={class:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between"},jE={class:"min-w-0"},DE={class:"text-sm font-medium text-gray-700 dark:text-gray-300"}
vendor: 13,142 bytes, line 2
2,OE={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},zE={class:"w-full shrink-0 sm:w-56"},qE={class:"card"},NE={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},KE={class:"text-lg font-semibold text-gray-900 dark:text-white"},WE={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},GE={class:"space-y-5 p-6"},QE={class:"flex items-center justify-between gap-4"},YE={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},JE={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},XE={class:"card"},ZE={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},eT={class:"text-lg font-semibold text-gray-900 dark:text-white"},tT={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},aT={class:"mt-1.5 text-xs"},sT={class:"space-y-5 p-6"},nT={class:"flex items-center justify-between"},iT={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},oT={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},lT={class:"input-label"},rT={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},dT={class:"flex items-center justify-between"},cT={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},uT={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},_T={key:0},mT={class:"input-label"},pT={key:1,class:"rounded-lg border border-amber-200 bg-amber-50 p-4 dark:border-amber-900/60 dark:bg-amber-950/30"},gT={class:"flex items-center justify-between gap-4"},yT={class:"text-sm font-medium text-amber-900 dark:text-amber-200"},bT={class:"mt-1 text-xs text-amber-800 dark:text-amber-300"},xT={class:"card"},hT={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},fT={class:"text-lg font-semibold text-gray-900 dark:text-white"},kT={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},vT={class:"space-y-5 p-6"},wT={class:"flex items-center justify-between"},CT={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},VT={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},UT={key:0,class:"space-y-6"},ST={class:"flex items-center justify-between"},$T={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},PT={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},ET={class:"input-label"},TT={class:"relative"},AT={class:"mt-1 text-xs text-gray-400"},MT={class:"input-label"},FT={class:"mt-1 text-xs text-gray-400"},LT={class:"input-label"},HT={class:"mt-1 text-xs text-gray-400"},IT={class:"input-label"},RT={class:"mt-1 text-xs text-gray-400"},BT={class:"border-t border-gray-100 pt-6 dark:border-dark-700"},jT={class:"mb-3 flex items-center justify-between"},DT={class:"text-sm font-semibold text-gray-900 dark:text-white"},OT={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},zT={class:"mb-3 flex items-center gap-2"},qT=["placeholder"],NT={class:"overflow-x-auto rounded-lg border border-gray-200 dark:border-dark-700"},KT={class:"min-w-full divide-y divide-gray-200 dark:divide-dark-700"},WT={class:"bg-gray-50 dark:bg-dark-800"},GT={class:"px-3 py-2 text-left"},QT=["checked"],YT={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500"},JT={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500"},XT={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500"},ZT={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500"},eA={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500"},tA={class:"divide-y divide-gray-200 bg-white dark:divide-dark-700 dark:bg-dark-900"},aA={key:0},sA={colspan:"6",class:"px-3 py-6 text-center text-sm text-gray-500"},nA={key:1},iA={colspan:"6",class:"px-3 py-6 text-center text-sm text-gray-500"},oA={class:"px-3 py-2"},lA=["checked","onChange"],rA={class:"px-3 py-2 text-sm text-gray-900 dark:text-white"},dA={class:"px-3 py-2 text-sm text-gray-600 dark:text-gray-300"},cA={class:"px-3 py-2 text-sm font-mono"},uA={key:0,class:"ml-1 inline-block rounded bg-primary-100 px-1.5 py-0.5 text-[10px] font-medium text-primary-700 dark:bg-primary-900/30 dark:text-primary-300"},_A={class:"px-3 py-2 text-sm"},mA={key:0},pA={key:1,class:"text-gray-400"},gA={class:"px-3 py-2 text-sm"},yA={class:"flex items-center gap-2"},bA=["onClick"],xA=["onClick"],hA={key:0,class:"mt-3 flex items-center justify-between text-sm"},fA={class:"text-gray-500"},kA={class:"flex items-center gap-2"},vA=["disabled"],wA={class:"text-gray-500"},CA=["disabled"],VA={class:"w-full max-w-md rounded-lg bg-white p-6 shadow-xl dark:bg-dark-900"},UA={class:"mb-4 text-lg font-semibold"},SA={class:"space-y-4"},$A={key:0},PA={class:"input-label"},EA={key:0,class:"flex items-center justify-between rounded-md border border-primary-200 bg-primary-50 px-3 py-2 dark:border-primary-700/50 dark:bg-primary-900/20"},TA={class:"text-sm"},AA={class:"font-medium text-gray-900 dark:text-white"},MA={class:"ml-1 text-xs text-gray-500"},FA=["title"],LA=["placeholder"],HA={key:0,class:"mt-1 max-h-40 overflow-y-auto rounded border border-gray-200 dark:border-dark-700"},IA=["onClick"],RA={class:"text-xs text-gray-500"},BA={key:1},jA={class:"input-label"},DA=["value"],OA={class:"input-label"},zA=["placeholder"],qA={class:"mt-1 text-xs text-gray-400"},NA={class:"input-label"},KA={class:"relative"},WA=["placeholder"],GA={class:"mt-1 text-xs text-gray-400"},QA={class:"mt-6 flex items-center justify-between gap-3"},YA={key:0,class:"text-xs text-gray-500 dark:text-gray-400"},JA={key:1},XA={class:"flex gap-2"},ZA=["disabled"],eM={class:"w-full max-w-md rounded-lg bg-white p-6 shadow-xl dark:bg-dark-900"},tM={class:"mb-4 text-lg font-semibold"},aM={class:"mb-4 text-sm text-gray-500"},sM={class:"relative"},nM=["placeholder"],iM={class:"mt-2 text-xs text-gray-400"},oM={class:"mt-6 flex justify-end gap-2"},lM=["disabled"],rM={class:"space-y-6"},dM={class:"card"},cM={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},uM={class:"text-lg font-semibold text-gray-900 dark:text-white"},_M={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},mM={class:"space-y-8 p-6"},pM={class:"space-y-5"},gM={class:"flex items-center justify-between"},yM={class:"font-semibold text-gray-900 dark:text-white"},bM={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},xM={key:0,class:"space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},hM={class:"input-label"},fM={value:"low"},kM={value:"normal"},vM={value:"high"},wM={class:"input-label"},CM={class:"space-y-2"},VM=["onUpdate:modelValue"],UM=["title","onClick"],SM=["disabled"],$M={class:"input-label"},PM={class:"space-y-2"},EM=["onUpdate:modelValue"],TM=["title","onClick"],AM={class:"space-y-5 border-t border-gray-100 pt-6 dark:border-dark-700"},MM={class:"flex items-center justify-between"},FM={class:"font-semibold text-gray-900 dark:text-white"},LM={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},HM={key:0,class:"space-y-5"},IM={class:"grid grid-cols-1 gap-4 md:grid-cols-2"},RM={class:"input-label"},BM={class:"input-label"},jM={class:"input-label"},DM={class:"input-label"},OM={class:"space-y-2"},zM=["onUpdate:modelValue"],qM=["title","onClick"],NM=["disabled"],KM={class:"space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},WM={class:"flex items-center justify-between"},GM={class:"font-medium text-gray-900 dark:text-white"},QM={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},YM={key:0,class:"space-y-4"},JM={class:"grid grid-cols-1 gap-4 md:grid-cols-2"},XM={class:"input-label"},ZM={class:"input-label"},eF={class:"input-label"},tF={class:"input-label"},aF={class:"flex items-center justify-between"},sF={class:"text-sm text-gray-700 dark:text-gray-300"},nF={class:"grid grid-cols-1 gap-4 border-t border-gray-100 pt-4 dark:border-dark-700 md:grid-cols-3"},iF={class:"input-label"},oF={class:"input-label"},lF={class:"input-label"},rF={class:"space-y-4 border-t border-gray-100 pt-6 dark:border-dark-700"},dF={class:"flex items-center justify-between"},cF={class:"font-semibold text-gray-900 dark:text-white"},uF={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},_F={key:0,class:"grid grid-cols-1 gap-4 md:grid-cols-3"},mF={class:"md:col-span-3"},pF={class:"input-label"},gF={class:"input-label"},yF={class:"input-label"},bF={value:"manual"},xF={value:"daily-03"},hF={value:"weekly"},fF={class:"input-label"},kF={class:"input-label"},vF={class:"input-label"},wF={class:"input-label"},CF={class:"space-y-6"},VF={class:"card"},UF={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},SF={class:"text-lg font-semibold text-gray-900 dark:text-white"},$F={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},PF=["href"],EF={class:"space-y-4 p-6"},TF={class:"flex items-center justify-between"},AF={class:"font-medium text-gray-900 dark:text-white"},MF={class:"text-sm text-gray-500 dark:text-gray-400"},FF={class:"grid grid-cols-1 gap-3 sm:grid-cols-3"},LF={class:"input-label"},HF={class:"input-label"},IF={class:"input-label"},RF={class:"rounded-lg border border-gray-200 bg-gray-50 px-3 py-2 text-sm text-gray-600 dark:border-dark-600 dark:bg-dark-800 dark:text-gray-300"},BF={class:"grid grid-cols-2 gap-3 sm:grid-cols-5"},jF={class:"input-label"},DF=["value","placeholder"],OF={class:"input-label"},zF=["value","placeholder"],qF={class:"input-label"},NF=["value","placeholder"],KF={class:"input-label"},WF=["value"],GF={class:"mt-0.5 text-xs text-gray-400"},QF={class:"mt-1 text-xs font-medium text-primary-600 dark:text-primary-400"},YF={class:"input-label"},JF=["value","placeholder"],XF={class:"mt-0.5 text-xs text-gray-400"},ZF={class:"input-label"},eL={class:"relative"},tL=["value"],aL={class:"mt-0.5 text-xs text-gray-400"},sL={key:0,class:"mt-1 text-xs font-medium text-primary-600 dark:text-primary-400"},nL={class:"input-label"},iL={class:"mt-0.5 text-xs text-gray-400"},oL={class:"flex flex-wrap items-end gap-4"},lL={class:"w-28"},rL={class:"input-label"},dL={class:"input-label"},cL={class:"input-label"},uL={class:"flex items-center gap-2"},_L=["disabled"],mL=["disabled"],pL={class:"input-label"},gL={class:"flex items-center gap-2"},yL={class:"text-sm text-gray-500 dark:text-gray-400"},bL={class:"input-label"},xL={class:"flex items-center gap-2"},hL={class:"text-sm text-gray-500 dark:text-gray-400"},fL={class:"input-label"},kL={class:"mt-1.5 flex flex-wrap gap-2"},vL=["onClick"],wL={class:"mt-2 text-xs text-gray-400 dark:text-gray-500"},CL=["href"],VL={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},UL={class:"input-label"},SL={class:"input-label"},$L=["placeholder"],PL={class:"space-y-6"},EL={key:0,class:"card"},TL={class:"p-6"},AL={class:"flex items-start gap-3"},ML={class:"font-medium text-gray-900 dark:text-white"},FL={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},LL={key:1,class:"card"},HL={class:"flex items-center justify-between border-b border-gray-100 px-6 py-4 dark:border-dark-700"},IL={class:"text-lg font-semibold text-gray-900 dark:text-white"},RL={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},BL=["disabled"],jL={key:0,class:"h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},DL={class:"space-y-6 p-6"},OL={class:"grid grid-cols-1 gap-6 md:grid-cols-2"},zL={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},qL=["placeholder"],NL={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},KL=["placeholder"],WL={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},GL=["placeholder"],QL={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},YL=["placeholder"],JL={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},XL={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},ZL=["placeholder"],eH={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},tH=["placeholder"],aH={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},sH={class:"font-medium text-gray-900 dark:text-white"},nH={class:"text-sm text-gray-500 dark:text-gray-400"},iH={key:2,class:"card"},oH={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},lH={class:"text-lg font-semibold text-gray-900 dark:text-white"},rH={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},dH={class:"p-6"},cH={class:"flex items-end gap-4"},uH={class:"flex-1"},_H={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},mH=["placeholder"],pH=["disabled"],gH={key:0,class:"h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},yH={class:"card"},bH={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},xH={class:"text-base font-medium text-gray-900 dark:text-white"},hH={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},fH={class:"px-6 py-6"},kH={class:"flex items-center justify-between gap-4"},vH={class:"mb-0 block text-sm font-medium text-gray-700 dark:text-gray-300"},wH={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},CH={class:"card"},VH={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},UH={class:"text-base font-medium text-gray-900 dark:text-white"},SH={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},$H={class:"px-6 py-6 space-y-4"},PH={class:"flex items-center justify-between"},EH={class:"mb-0 block text-sm font-medium text-gray-700 dark:text-gray-300"}
2,TH={key:0},AH={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},MH={class:"relative"},FH={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},LH={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},HH=["placeholder"],IH={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},RH={class:"card"},BH={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},jH={class:"text-base font-medium text-gray-900 dark:text-white"},DH={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},OH={class:"px-6 py-6 space-y-4"},zH={class:"flex items-center justify-between"},qH={class:"mb-0 block text-sm font-medium text-gray-700 dark:text-gray-300"},NH={key:0},KH={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},WH={class:"space-y-2"},GH={class:"relative inline-flex items-center cursor-pointer shrink-0"},QH=["checked","onChange"],YH=["onUpdate:modelValue","placeholder"],JH=["onClick"],XH={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},ZH={class:"space-y-6"},eI={class:"flex justify-end"},tI=["disabled"],aI={key:0,class:"h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},Yt=5,Jt=1e3,sI=20,Xt="You are Claude Code, Anthropic's official CLI for Claude.",Ft=`You are an interactive agent that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user. 3 4IMPORTANT: Assist with authorized security testing, defensive security, CTF challenges, and educational contexts. Refuse requests for destructive techniques, DoS attacks, mass targeting, supply chain compromise, or detection evasion for malicious purposes. Dual-use security tools (C2 frameworks, credential testing, exploit development) require clear authorization context: pentesting engagements, CTF competitions, security research, or defensive use cases. 5IMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local files. 6 7# Tone and style 8 - Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked. 9 - Your responses should be short and concise. 10 - When referencing specific functions or pieces of code include the pattern file_path:line_number to allow the user to easily navigate to the source code location. 11 - When referencing GitHub issues or pull requests, use the owner/repo#123 format (e.g. anthropics/claude-code#100) so they render as clickable links. 12 - Do not use a colon before tool calls. Your tool calls may not be shown directly in the output, so text like "Let me read the file:" followed by a read tool call should just be "Let me read the file." with a period.`,nI=1e3,Da=16,sn="http://127.0.0.1:3101",nn="ippool://active",iI=qe({__name:"SettingsView",setup(M){const{t,locale:E}=Ge(),k=Vt(),L=un(),P=Yo(),H=B(()=>E.value.startsWith("zh"));function x(l,i){return H.value?l:i}const w=B(()=>E.value.startsWith("zh")?"https://github.com/Wei-Shaw/sub2api/blob/main/docs/PAYMENT_CN.md":"https://github.com/Wei-Shaw/sub2api/blob/main/docs/PAYMENT.md"),f=B(()=>E.value.startsWith("zh")?"https://github.com/Wei-Shaw/sub2api/blob/main/docs/PAYMENT_CN.md#æ¯æçæ¯ä»æ¹å¼":"https://github.com/Wei-Shaw/sub2api/blob/main/docs/PAYMENT.md#supported-payment-methods"),S=U("general"),A=[{key:"general",icon:"home"},{key:"agreement",icon:"document"},{key:"features",icon:"bolt"},{key:"security",icon:"shield"},{key:"users",icon:"user"},{key:"gateway",icon:"server"},{key:"payment",icon:"creditCard"},{key:"email",icon:"mail"},{key:"supportChat",icon:"chat"},{key:"backup",icon:"database"},{key:"oidc",icon:"key"},{key:"media",icon:"cloud"}],ee={ArrowLeft:-1,ArrowUp:-1,ArrowRight:1,ArrowDown:1,Home:"first",End:"last"};function J(l){S.value=l}function me(l){window.requestAnimationFrame(()=>{var i;(i=document.getElementById(`settings-tab-${l}`))==null||i.focus()})}function te(l,i){var G;const p=ee[l.key];if(p===void 0)return;l.preventDefault();const o=A.findIndex(Ce=>Ce.key===i);let m=o<0?0:o;p==="first"?m=0:p==="last"?m=A.length-1:m=(m+p+A.length)%A.length;const _=(G=A[m])==null?void 0:G.key;_&&(J(_),me(_))}const{copyToClipboard:le}=fl(),ce=U(!0),oe=U(!1),D=U(!1),Q=U(!1),z=U(!1),K=U(!1),Z=U(""),Y=U([]),ge=U(""),j=U(""),se=U("10, 20, 50, 100"),ne=U(!0),Fe=U(!1),ve=U(""),he=U(!1),Le=U(""),Pe=U([]),He=U([]),Ne=U(!1),Re=B(()=>{const l=new Set(He.value.map(i=>i.id));return[...He.value.map(i=>({id:i.id,name:i.name})),...s.openai_codex_ticket_harvest_scope.group_ids.filter(i=>!l.has(i)).map(i=>({id:i,name:x("ä¸å¯ç¨æå·²å é¤çåç»","Unavailable or deleted group")+" #"+i}))]}),Ze=U(!0),et=U(!1),Ee=ye({enabled:!0,interval_minutes:30}),Be=U(!0),tt=U(!1),Te=ye({enabled:!1,interval_minutes:60,debounce_minutes:1}),ot=U(!0),Ke=U(!1),we=ye({enabled:!1,interval_minutes:15,debounce_minutes:1}),je=U(!0),at=U(!1),b=ye({enabled:!0,cooldown_minutes:10}),y=U(!0),V=U(!1),F=ye({enabled:!0,cooldown_seconds:5}),ie=U(!0),Ve=U(!1),fe=ye({enabled:!0,user_rpm:240,heavy_rpm:60,exempt_admin:!0,public_ip_rpm:300}),$=U(!0),C=U(!1),v=ye({enabled:!0,action:"temp_unsched",temp_unsched_minutes:5,threshold_count:3,threshold_window_minutes:10}),re=U(!0),xe=U(!1),_e=ye({enabled:!0,thinking_signature_enabled:!0,thinking_budget_enabled:!0,apikey_signature_enabled:!1,apikey_signature_patterns:[]}),Ut=U(!0),St=U(!1),It=ye({rules:[]}),ut=ye({rules:[]}),Zt=U(!1);function Na(){return[{id:"terms",title:x("æå¡æ¡æ¬¾","Terms of Service"),content_md:""},{id:"usage-policy",title:x("ä½¿ç¨æ¿ç","Usage Policy"),content_md:""},{id:"supported-regions",title:x("æ¯æçå½å®¶åå°åº","Supported Countries and Regions"),content_md:""},{id:"service-specific-terms",title:x("æå¡ç¹å®æ¡æ¬¾","Service-Specific Terms"),content_md:""}]}function Ka(l){return l.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/[-_]{2,}/g,"-").replace(/^[-_]+|[-_]+$/g,"")}function pn(l,i){return`/legal/${Ka(l.id||l.title)||`doc-${i+1}`}`}let Wa=0;function gn(){return Wa+=1,`claude-oauth-system-prompt-block-${Wa}`}function Ga(l){return typeof l=="string"&&l.trim()?l.trim():"5m"}function ea(l){const i=l.trim();return i==="{billing_header}"?"billing":i==="{claude_code_system_prompt}"||i===Xt?"system":i==="{claude_code_expansion_prompt}"||i===Ft?"expansion":"custom"}function yn(l,i=""){const p=l.trim();return p==="{claude_code_system_prompt}"?Xt:p==="{claude_code_expansion_prompt}"?i.trim()||Ft:l}function gt(l={}){const i=l.text??"";return{id:gn(),enabled:l.enabled??!0,expanded:l.expanded??!0,type:"text",preset:l.preset??ea(i),text:i,cacheControlEnabled:l.cacheControlEnabled??!1,cacheControlTTL:l.cacheControlTTL??"5m"}}function yt(l=""){const p=l.trim()||Ft;return[gt({preset:"billing",text:"{billing_header}"}),gt({preset:"system",text:Xt}),gt({preset:p===Ft?"expansion":"custom",text:p,cacheControlEnabled:!0,cacheControlTTL:"5m"})]}function bn(l){return l===!0?{enabled:!0,ttl:"5m"}:l&&typeof l=="object"&&!Array.isArray(l)?{enabled:!0,ttl:Ga(l.ttl)}:{enabled:!1,ttl:"5m"}}function xn(l,i=""){const p=l.trim();if(!p)return yt(i);try{const o=JSON.parse(p),m=Array.isArray(o)?o:Array.isArray(o.blocks)?o.blocks:[];return m.length===0?yt(i):m.map(_=>{const G=bn(_.cache_control),Ce=yn(typeof _.text=="string"?_.text:"",i);return gt({enabled:_.enabled!==!1,type:"text",text:Ce,preset:ea(Ce),cacheControlEnabled:G.enabled,cacheControlTTL:G.ttl})})}catch{return yt(i)}}function ta(l){const p=(l.length>
120?l:[gt({enabled:!1,preset:"custom",text:""})]).map(o=>{const m={enabled:o.enabled,type:o.type||"text",text:o.text};return o.cacheControlEnabled&&(m.cache_control={type:"ephemeral",ttl:Ga(o.cacheControlTTL)}),m});return JSON.stringify(p,null,2)}const Qa=ta(yt()),Qe=U(yt()),Ya=B(()=>[{value:"billing",label:t("admin.settings.gatewayForwarding.systemBlockPresetBilling")},{value:"system",label:t("admin.settings.gatewayForwarding.systemBlockPresetIdentity")},{value:"expansion",label:t("admin.settings.gatewayForwarding.systemBlockPresetExpansion")},{value:"custom",label:t("admin.settings.gatewayForwarding.systemBlockPresetCustom")}]),hn=B(()=>[{value:"text",label:t("admin.settings.gatewayForwarding.systemBlockTypeText")}]),fn=B(()=>[{value:"5m",label:t("admin.settings.gatewayForwarding.cacheTTL5m")},{value:"1h",label:t("admin.settings.gatewayForwarding.cacheTTL1h")}]);function kn(l){var i;return((i=Ya.value.find(p=>p.value===l))==null?void 0:i.label)||t("admin.settings.gatewayForwarding.systemBlockPresetCustom")}function _t(){s.claude_oauth_system_prompt_blocks=ta(Qe.value)}function vn(){Qe.value.push(gt({expanded:!0,preset:"custom",text:""})),_t()}function wn(l){const i=Qe.value[l];i&&(i.expanded=!i.expanded)}function Cn(l){Qe.value.splice(l,1),_t()}function Ja(l,i){const p=l+i;if(p<0||p>=Qe.value.length)return;const o=Qe.value,m=o[l];o[l]=o[p],o[p]=m,_t()}function Vn(l,i){const p=Qe.value[l];if(!p)return;const o=String(i||"custom");p.preset=o,p.type="text",o==="billing"?(p.text="{billing_header}",p.cacheControlEnabled=!1,p.cacheControlTTL="5m"):o==="system"?(p.text=Xt,p.cacheControlEnabled=!1,p.cacheControlTTL="5m"):o==="expansion"&&(p.text=s.claude_oauth_system_prompt.trim()||Ft,p.cacheControlEnabled=!0,p.cacheControlTTL="5m"),_t()}function Un(l){l.preset=ea(l.text),_t()}function Sn(){Qe.value=yt(s.claude_oauth_system_prompt),_t()}const $n=Jo,s=ye({registration_enabled:!0,email_verify_enabled:!1,registration_email_suffix_whitelist:[],registration_email_domain_quota_enabled:!1,promo_code_enabled:!0,invitation_code_enabled:!1,password_reset_enabled:!1,totp_enabled:!1,totp_encryption_key_configured:!1,passkey_enabled:!1,passkey_configured:!1,passkey_rp_id:"",passkey_rp_origins:[],session_binding_enabled:!1,step_up_enabled:!1,company_upgrade_charge_enabled:!1,company_upgrade_fee:20,company_applications_enabled:!1,company_iam_enabled:!1,company_public_ids_finalized:!1,company_billing_integration_enabled:!1,company_documentation_url:"",audit_log_retention_days:180,login_agreement_enabled:!1,login_agreement_mode:"modal",login_agreement_updated_at:"2026-03-31",login_agreement_documents:Na(),default_balance:0,default_platform_quotas:La(),account_scheduling_thresholds:Fa(),affiliate_rebate_rate:20,affiliate_rebate_freeze_hours:0,affiliate_rebate_duration_days:0,affiliate_rebate_per_invitee_cap:0,affiliate_admin_recharge_enabled:!1,default_concurrency:1,default_subscriptions:[],force_email_on_third_party_signup:!1,default_user_rpm_limit:0,site_name:"Sub2API",site_logo:"",site_subtitle:"Subscription to API Conversion Platform",api_base_url:"",contact_info:"",doc_url:"",home_content:"",compact_home_enabled:!1,backend_mode_enabled:!1,hide_ccs_import_button:!1,payment_enabled:!1,risk_control_enabled:!1,cyber_policy_user_allowlist:"",cyber_session_block_enabled:!1,cyber_session_block_ttl_seconds:3600,cyber_session_identity_strict_enabled:!1,payment_min_amount:1,payment_max_amount:1e4,payment_daily_limit:5e4,payment_max_pending_orders:3,payment_order_timeout_minutes:30,payment_balance_disabled:!1,payment_balance_recharge_multiplier:1,payment_subscription_usd_to_cny_rate:0,payment_recharge_fee_rate:0,payment_enabled_types:[],payment_help_image_url:"",payment_help_text:"",payment_product_name_prefix:"",payment_product_name_suffix:"",payment_load_balance_strategy:"round-robin",payment_cancel_rate_limit_enabled:!1,payment_cancel_rate_limit_max:10,payment_cancel_rate_limit_window:1,payment_cancel_rate_limit_unit:"day",payment_cancel_rate_limit_window_mode:"rolling",payment_alipay_force_qrcode:!1,payment_alipay_mobile_precreate_deep_link:!1,table_default_page_size:sI,table_page_size_options:[10,20,50,100],custom_menu_items:[],home_product_menu_items:[],custom_endpoints:[],frontend_url:"",smtp_host:"",smtp_port:587,smtp_username:"",smtp_password:"",smtp_password_configured:!1,smtp_from_email:"",smtp_from_name:"",smtp_use_tls:!0,turnstile_enabled:!1,turnstile_site_key:"",turnstile_secret_key:"",turnstile_secret_key_configured:!1,tencent_captcha_enabled:!1,tencent_captcha_app_id:"",tencent_captcha_app_secret_key:"",tencent_captcha_app_secret_key_configured:!1,tencent_captcha_cloud_secret_id:"",tencent_captcha_cloud_secret_id_configured:!1,tencent_captcha_cloud_secret_key:"",tencent_captcha_cloud_secret_key_configured:!1,tencent_captcha_region:"cn",aliyun_captcha_enabled:!1,aliyun_captcha_access_key_id:"",aliyun_captcha_access_key_secret:"",aliyun_captcha_access_key_secret_configured:!1,aliyun_captcha_scene_id:"",aliyun_captcha_prefix:"",aliyun_captcha_region:"cn",api_key_acl_trust_forwarded_ip:!0,forwarded_client_ip_headers:[],linuxdo_connect_enabled:!1,linuxdo_connect_client_id:"",linuxdo_connect_client_secret:"",linuxdo_connect_client_secret_configured:!1,linuxdo_connect_redirect_url:"",dingtalk_connect_enabled:!1,dingtalk_connect_client_id:"",dingtalk_connect_client_secret:"",dingtalk_connect_client_secret_configured:!1,dingtalk_connect_redirect_url:"",dingtalk_connect_corp_restriction_policy:"none",dingtalk_connect_internal_corp_i
12d:"",dingtalk_connect_bypass_registration:!1,dingtalk_connect_sync_corp_email:!1,dingtalk_connect_sync_display_name:!1,dingtalk_connect_sync_dept:!1,dingtalk_connect_sync_corp_email_attr_key:"dingtalk_email",dingtalk_connect_sync_display_name_attr_key:"dingtalk_name",dingtalk_connect_sync_dept_attr_key:"dingtalk_department",dingtalk_connect_sync_corp_email_attr_name:x("ééä¼ä¸é®ç®±","DingTalk Corporate Email"),dingtalk_connect_sync_display_name_attr_name:x("ééå§å","DingTalk Name"),dingtalk_connect_sync_dept_attr_name:x("ééé¨é¨","DingTalk Department"),wechat_connect_enabled:!1,wechat_connect_app_id:"",wechat_connect_app_secret:"",wechat_connect_app_secret_configured:!1,wechat_connect_open_app_id:"",wechat_connect_open_app_secret:"",wechat_connect_open_app_secret_configured:!1,wechat_connect_mp_app_id:"",wechat_connect_mp_app_secret:"",wechat_connect_mp_app_secret_configured:!1,wechat_connect_mobile_app_id:"",wechat_connect_mobile_app_secret:"",wechat_connect_mobile_app_secret_configured:!1,wechat_connect_open_enabled:!1,wechat_connect_mp_enabled:!1,wechat_connect_mobile_enabled:!1,wechat_connect_mode:"open",wechat_connect_scopes:"snsapi_login",wechat_connect_redirect_url:"",wechat_connect_frontend_redirect_url:"/auth/wechat/callback",oidc_connect_enabled:!1,oidc_connect_provider_name:"OIDC",oidc_connect_client_id:"",oidc_connect_client_secret:"",oidc_connect_client_secret_configured:!1,oidc_connect_issuer_url:"",oidc_connect_discovery_url:"",oidc_connect_authorize_url:"",oidc_connect_token_url:"",oidc_connect_userinfo_url:"",oidc_connect_jwks_url:"",oidc_connect_scopes:"openid email profile",oidc_connect_redirect_url:"",oidc_connect_frontend_redirect_url:"/auth/oidc/callback",oidc_connect_token_auth_method:"client_secret_post",oidc_connect_use_pkce:!1,oidc_connect_validate_id_token:!1,oidc_connect_allowed_signing_algs:"RS256,ES256,PS256",oidc_connect_clock_skew_seconds:120,oidc_connect_require_email_verified:!1,oidc_connect_userinfo_email_path:"",oidc_connect_userinfo_id_path:"",oidc_connect_userinfo_username_path:"",github_oauth_enabled:!1,github_oauth_client_id:"",github_oauth_client_secret:"",github_oauth_client_secret_configured:!1,github_oauth_redirect_url:"",github_oauth_frontend_redirect_url:"/auth/oauth/callback",google_oauth_enabled:!1,google_oauth_client_id:"",google_oauth_client_secret:"",google_oauth_client_secret_configured:!1,google_oauth_redirect_url:"",google_oauth_frontend_redirect_url:"/auth/oauth/callback",enable_model_fallback:!1,fallback_model_anthropic:"claude-3-5-sonnet-20241022",fallback_model_openai:"gpt-4o",fallback_model_gemini:"gemini-2.5-pro",fallback_model_antigravity:"gemini-2.5-pro",grok_default_text_model:"grok-4.5",grok_cross_client_model_map_enabled:!1,grok_default_base_url_mode:"cli",enable_identity_patch:!0,identity_patch_prompt:"",ops_monitoring_enabled:!0,ops_realtime_monitoring_enabled:!0,ops_query_mode_default:"auto",ops_metrics_interval_seconds:60,min_claude_code_version:"",max_claude_code_version:"",allow_ungrouped_key_scheduling:!1,openai_low_upstream_rate_priority_enabled:!1,openai_oauth_scheduling_rate_multiplier:1,openai_advanced_scheduler_enabled:!1,openai_advanced_scheduler_sticky_weighted_enabled:!1,openai_advanced_scheduler_subscription_priority_enabled:!1,openai_advanced_scheduler_lb_top_k:"",openai_advanced_scheduler_weight_priority:"",openai_advanced_scheduler_weight_load:"",openai_advanced_scheduler_weight_queue:"",openai_advanced_scheduler_weight_error_rate:"",openai_advanced_scheduler_weight_ttft:"",openai_advanced_scheduler_weight_reset:"",openai_advanced_scheduler_weight_quota_headroom:"",openai_advanced_scheduler_weight_upstream_cost:"",openai_advanced_scheduler_weight_previous_response:"",openai_advanced_scheduler_weight_session_sticky:"",openai_ttft_mode:"semantic",enable_fingerprint_unification:!0,enable_metadata_passthrough:!1,enable_cch_signing:!1,enable_claude_oauth_system_prompt_injection:!0,claude_oauth_system_prompt:"",claude_oauth_system_prompt_blocks:Qa,enable_anthropic_cache_ttl_1h_injection:!1,rewrite_message_cache_control:!1,enable_client_dateline_normalization:!0,antigravity_user_agent_version:"",openai_codex_user_agent:"",openai_codex_client_version:"",openai_codex_client_version_synced:"",openai_codex_version_auto_sync_enabled:!0,openai_codex_ticket_enabled:!1,openai_codex_ticket_fail_closed:!1,openai_codex_ticket_strategy:"standby",openai_codex_ticket_harvest_scope:{mode:"all",group_ids:[],account_policy:"schedulable_only"},openai_codex_ticket_strict_response:!1,openai_codex_ticket_harvest_proxy_url:"",openai_codex_ticket_harvest_proxy_configured:!1,openai_codex_ticket_models:["gpt-6-astra","gpt-5.6-sol"],claude_code_client_version:"",claude_code_client_version_synced:"",claude_code_version_auto_sync_enabled:!0,min_codex_version:"",max_codex_version:"",codex_cli_only_blacklist:"",codex_cli_only_whitelist:"",codex_cli_only_allow_app_server_clients:!1,codex_cli_only_engine_fingerprint_signals:"",balance_low_notify_enabled:!1,balance_low_notify_threshold:0,balance_low_notify_recharge_url:"",subscription_expiry_notify_enabled:!0,account_quota_notify_enabled:!1,account_quota_notify_emails:[],channel_monitor_enabled:!0,channel_monitor_mode:"v1",channel_monitor_default_interval_seconds:60,channel_monitor_hide_throughput:!1,channel_monitor_show_quota:!1,channel_monitor_hide_user_ranking:!1,available_channels_enabled:!1,subscription_enabled:!0,model_plaza_enabled:!1,model_plaza_require_auth:!1,model_plaza_description:"",plugin_management_enabled:!1,affiliate_enabled:!1,allow_user_view_error_requests:!1,support_ticket_enabled:!1,support_ticket_categories:[],support_ticket_default_priority:"normal",support_ticket_notify_emails:[],support_chat_enabled:!1,support_chat_excluded_routes:[],support_chat_anonymous_llm:!1,support_chat_title:"",support_chat_welcome:"",support_chat_icon:"",support_chat_llm_enabled:!1,support_chat_llm_base_url:"",support_chat_llm_api_key:"",support_chat_embedding_base_url:"",support_chat_embedding_api_key:"",support_chat_model:"gpt-4o-mini",supp
12ort_chat_system_prompt:"",support_chat_max_turns:5,support_chat_max_request_tokens:16e3,support_chat_rl_user_per_day:50,support_chat_rl_user_per_min:5,support_chat_rl_ip_per_hour:20,support_chat_faqs:[],support_chat_rag_enabled:!1,support_chat_rag_doc_url:"",support_chat_rag_doc_depth:1,support_chat_rag_doc_cron:"manual",support_chat_rag_embed_provider:"gemini",support_chat_rag_embed_model:"gemini-embedding-001",support_chat_rag_top_k:5,support_chat_rag_chunk_size:1200,support_chat_rag_chunk_overlap:150,usage_show_long_context_badge:!0,request_capture_enabled:!1,request_capture_quota_mib:1024,request_capture_retention_days:7,excel_bps_image_mode:"relay",excel_bps_image_relay_enabled:!1,excel_bps_image_base_url:"",excel_bps_image_body_limit_mib:64,excel_bps_image_budget_mib:1024,excel_bps_image_max_requests:128,excel_bps_image_max_image_mib:20,excel_bps_image_max_images:20,excel_bps_image_limit_policy:"off",excel_bps_image_warning_remaining:8,excel_bps_image_compact_reserve:3,excel_bps_image_max_total_mib:32,excel_bps_image_storage_mib:1024,excel_bps_image_storage_entries:512,excel_bps_image_ttl_minutes:30}),st=U("turnstile"),Xa=[{key:"api",label:"API",svg:'<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M5.25 14.25h13.5m-13.5 0a3 3 0 01-3-3m3 3a3 3 0 100 6h13.5a3 3 0 100-6m-16.5-3a3 3 0 013-3h13.5a3 3 0 013 3m-19.5 0a4.5 4.5 0 01.9-2.7L5.737 5.1a3.375 3.375 0 012.7-1.35h7.126c1.062 0 2.062.5 2.7 1.35l2.587 3.45a4.5 4.5 0 01.9 2.7m0 0a3 3 0 01-3 3m0 3h.008v.008h-.008v-.008zm0-6h.008v.008h-.008v-.008zm-3 6h.008v.008h-.008v-.008zm0-6h.008v.008h-.008v-.008zm-3 6h.008v.008h-.008v-.008zm0-6h.008v.008h-.008v-.008z"/></svg>'},{key:"terminal",label:"Terminal",svg:'<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M6.75 7.5l3 2.25-3 2.25m4.5 0h3m-9 8.25h13.5A2.25 2.25 0 0021 18V6a2.25 2.25 0 00-2.25-2.25H5.25A2.25 2.25 0 003 6v12a2.25 2.25 0 002.25 2.25z"/></svg>'}];function Za(l){s.turnstile_enabled=l==="turnstile",s.tencent_captcha_enabled=l==="tencent",s.aliyun_captcha_enabled=l==="aliyun"}const es=B({get:()=>Array.from(new Set(s.cyber_policy_user_allowlist.split(/[,\s]+/).map(Number).filter(l=>Number.isSafeInteger(l)&&l>0))),set:l=>{s.cyber_policy_user_allowlist=l.join(",")}}),aa=B({get:()=>s.turnstile_enabled||s.tencent_captcha_enabled||s.aliyun_captcha_enabled,set:l=>Za(l?st.value:null)});function sa(l){st.value=l,Za(l)}const na=B(()=>s.tencent_captcha_region==="intl"?{console:"https://console.tencentcloud.com/captcha/graphical",cloudKeys:"https://console.tencentcloud.com/cam/capi",webDocs:"https://www.tencentcloud.com/document/product/1159/49680"}:{console:"https://console.cloud.tencent.com/captcha",cloudKeys:"https://console.cloud.tencent.com/cam/capi",webDocs:"https://cloud.tencent.com/document/product/1110/36841"});function Pn(){s.tencent_captcha_enabled?st.value="tencent":s.aliyun_captcha_enabled?st.value="aliyun":s.turnstile_enabled&&(st.value="turnstile")}const En=B(()=>{const l=(i,p)=>{const o=String(s[i]??"").trim();return t("admin.settings.openaiExperimentalScheduler.defaultPlaceholder",{value:o||p})};return[{key:"openai_advanced_scheduler_lb_top_k",label:t("admin.settings.openaiExperimentalScheduler.topKLabel"),placeholder:l("openai_advanced_scheduler_effective_lb_top_k","7")},{key:"openai_advanced_scheduler_weight_priority",label:t("admin.settings.openaiExperimentalScheduler.priorityWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_priority","1")},{key:"openai_advanced_scheduler_weight_load",label:t("admin.settings.openaiExperimentalScheduler.loadWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_load","1")},{key:"openai_advanced_scheduler_weight_queue",label:t("admin.settings.openaiExperimentalScheduler.queueWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_queue","0.7")},{key:"openai_advanced_scheduler_weight_error_rate",label:t("admin.settings.open
12aiExperimentalScheduler.errorRateWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_error_rate","0.8")},{key:"openai_advanced_scheduler_weight_ttft",label:t("admin.settings.openaiExperimentalScheduler.ttftWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_ttft","0.5")},{key:"openai_advanced_scheduler_weight_reset",label:t("admin.settings.openaiExperimentalScheduler.resetWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_reset","0")},{key:"openai_advanced_scheduler_weight_quota_headroom",label:t("admin.settings.openaiExperimentalScheduler.quotaHeadroomWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_quota_headroom","0")},{key:"openai_advanced_scheduler_weight_upstream_cost",label:t("admin.settings.openaiExperimentalScheduler.upstreamCostWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_upstream_cost","0")},{key:"openai_advanced_scheduler_weight_previous_response",label:t("admin.settings.openaiExperimentalScheduler.previousResponseWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_previous_response","5")},{key:"openai_advanced_scheduler_weight_session_sticky",label:t("admin.settings.openaiExperimentalScheduler.sessionStickyWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_session_sticky","3")}]}),be=ye(Ha({})),ts=B(()=>[{source:"email",title:t("admin.settings.authSourceDefaults.sources.email.title"),description:t("admin.settings.authSourceDefaults.sources.email.description")},{source:"linuxdo",title:t("admin.settings.authSourceDefaults.sources.linuxdo.title"),description:t("admin.settings.authSourceDefaults.sources.linuxdo.description")},{source:"oidc",title:t("admin.settings.authSourceDefaults.sources.oidc.title"),description:t("admin.settings.authSourceDefaults.sources.oidc.description")},{source:"wechat",title:t("admin.settings.authSourceDefaults.sources.wechat.title"),description:t("admin.settings.authSourceDefaults.sources.wechat.description")},{source:"github",title:"GitHub",description:x("éè¿ GitHub å·²éªè¯é®ç®±é¦æ¬¡æ³¨åæé¦æ¬¡ç»å®æ¶åºç¨ã","Applied on first signup or first bind through a verified GitHub email.")},{source:"google",title:"Google",description:x("éè¿ Google å·²éªè¯é®ç®±é¦æ¬¡æ³¨åæé¦æ¬¡ç»å®æ¶åºç¨ã","Applied on first signup or first bind through a verified Google email.")},{source:"dingtalk",title:t("auth.dingtalkProviderName"),description:x("éè¿éé馿¬¡æ³¨åæé¦æ¬¡ç»å®æ¶åºç¨ã","Applied on first signup or first bind through DingTalk.")}]),as=U([]),Ae=ye({enabled:!1,providers:[]}),nt=ye({}),lt=ye({}),ia=U(""),Rt=U(!1),mt=U(null),Bt=U(!1);function Tn(){mt.value=null,Bt.value=!0}function An(l){nt[l]=!nt[l]}function Mn(l){Ae.providers.splice(l,1);const i={},p={};for(let o=0;o<Ae.providers.length;o++){const m=o>=l?o+1:o;i[o]=nt[m]??!1,p[o]=lt[m]??!1}Object.keys(nt).forEach(o=>delete nt[Number(o)]),Object.keys(lt).forEach(o=>delete lt[Number(o)]),Object.assign(nt,i),Object.assign(lt,p)}function Fn(){const l=Ae.providers.length;Ae.providers.push({type:"brave",api_key:"",api_key_configured:!1,quota_limit:nI,subscribed_at:null,proxy_id:null,expires_at:null}),nt[l]=!0}function Ln(l){if(!l)return"";const i=new Date(l*1e3),p=i.getUTCFullYear(),o=String(i.getUTCMonth()+1).padStart(2,"0"),m=String(i.getUTCDate()).padStart(2,"0");return`${p}-${o}-${m}`}function Hn(l){return l?Math.floor(new Date(l+"T00:00:00Z").getTime()/1e3):null}function oa(l){return!l.quota_limit||l.quota_limit<=0?0:(l.quota_used??0)/l.quota_limit*100}async function In(l){const i=Ae.providers[l];if(i&&confirm(t("admin.settings.webSearchEmulation.resetUsageConfirm")))try{await O.settings.resetWebSearchUsage({provider_type:i.type}),i.quota_used=0,k.showSuccess(t("admin.settings.webSearchEmulation.resetUsageSuccess"))}catch(p){k.showError(pe(p,t("common.error")))}}async function Rn(l){var p;const i=(p=Ae.providers[l])==null?void 0:p.api_key;if(!i){k.showError(t("admin.settings.webSearchEmulation.apiKeyPlaceholder"));return}try{await navigator.clipboard.writeText(i),k.showSuccess(t("admin.settings.webSearchEmulation.copied"))}catch{k.showError(t("common.error"))}}async function ss(){Rt.value=!0,mt.value=null;try{const l=ia.value.trim()||t("admin.settings.webSearchEmulation.testDefaultQuery");mt.value=await O.settings.testWebSearchEmulation(l)}catch(l){k.showError(pe(l,t("common.error")))}finally{Rt.value=!1}}async function Bn(){try{const[l,i]=await Promise.all([O.settings.getWebSearchEmulationConfig(),O.proxies.list().catch(()=>({items:[]}))]);l&&(Ae.enabled=l.enabled||!1,Ae.providers=l.providers||[]),as.value=i.items||[]}catch(l){const i=l==null?void 0:l.status;i!==404&&i!==void 0&&k.showError(pe(l,t("common.error")))}}async function jn(){try{for(const i of Ae.providers){const p=i.quota_limit;if(p!=null&&Number(p)!==0&&Number(p)<1)return k.showError(t("admin.settings.webSearchEmulation.quotaLimitMustBePositive")),!1}const l=Ae.providers.map(i=>({...i,quota_limit:Number(i.quota_limit)>0?Number(i.quota_limit):null}));return await O.settings.updateWebSearchEmulationConfig({enabled:Ae.enabled,providers:l}),!0}catch(l){return k.showError(pe(l,t("common.error"))),!1}}const ns=B(()=>Pe.value.map(l=>({value:l.id,label:l.name,description:l.description,platform:l.platform,subscriptionType:l.subscription_type,rate:l.rate_multiplier}))),Dn=new Set([" ",",","ï¼","Enter","Tab"]);function On(l){Y.value=Y.value.filter(i=>i!==l)}function is(l){const i=Zs(l);!vl(i)||Y.value.includes(i)||(Y.value=[...Y.value,i])}function os(){ge.value&&(is(ge.value),ge.value="")}function ls(){ge.value=Zs(ge.value)}function rs(l){if(!l.isComposing){if(Dn.has(l.key)){l.preventDefault(),os();return}l.key==="Backspace"&&!ge.value&&Y.value.length>0&&Y.value.pop()}}function zn(l){var o;const i=((o=l.clipboardData)==null?void 0:o.getData("text"))||"";if(!i.trim())return;l.preventDefault();const p=kl(i);for(const m of p)is(m)}const qn=new Set([" ",",","ï¼","Enter","Tab"]),Nn=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function ds(l){const i=l.trim();return Nn.test(i)?i.toLowerCase().split("-").map(p=>`${p.charAt(0).toUpperCase()}${p.slice(1)}`).join("-"):""}function la(l){if(!Array.isArray(l))return[];const i=[],p=new Set;for(const o of l){if(typeof o!="string")continue;const m=ds(o),_=m.toLowerCase();!m||p.has(_)||i.length>=Da||(p.add(_),i.push(m))}return i}function Kn(l){s.forwarded_client_ip_headers=s.forwarded_client_ip_headers.filter(i=>i!==l)}function cs(l){const i=ds(l);return i?s.forwarded_client_ip_headers.some(p=>p.toLowerCase()===i.toLowerCase())?"duplicate":s.forwarded_client_ip_headers.length>=Da?"full":(s.forwarded_client_ip_headers=[...s.forwarded_client_ip_headers,i],"added"):"invalid"}function us(l){l==="invalid"?k.showError(t("admin.settings.apiKeyAcl.forwardedClientIpHeaderInvalid")):l==="full"&&k.showError(t("admin.settings.apiKeyAcl.forwardedClientIpHeadersLimit",{max:Da}))}function _s(){const l=j.value;if(!l)return;const i=cs(l);us(i),j.value=""}function Wn(l){if(!l.isComposing){if(qn.has(l.key)){l.preventDefault(),_s();return}l.key==="Backspace"&&!j.value&&s.forwarded_client_ip_headers.length>0&&s.forwarded_client_ip_headers.pop()}}function Gn(l){var o;const i=((o=l.clipboardData)==null?void 0:o.getData("text"))||"";if(!i.trim())return;l.preventDefault();let p;for(const m of i.split(/[,ï¼;\r\n]+/)){if(!m.trim())continue;const _=cs(m);(_==="invalid"||_==="full")&&(p=_)}p&&us(p)}const Qn=()=>{s.account_quota_notify_emails||(s.account_quota_notify_emails=[]),s.account_quota_notify_emails.push({email:"",disabled:!1,verified:!0})},ra=typeof window<"u"?window.location.origin:"";function $t(l){const i=(s.api_base_url||ra).replace(/\/+$/,"");return`${i.endsWith("/api/v1")?i:`${i}/api/v1`}${l.startsWith("/")?l:`/${l}`}`}const da=B(()=>$t("/auth/oauth/linuxdo/callback"));async function Yn(){const l=da.value;l&&(s.linuxdo_connect_redirect_url=l,await le(l,t("admin.settings.linuxdo.redirectUrlSetAndCopied")))}const ca=B(()=>$t("/auth/oauth/github/callback")),ua=B(()=>$t("/auth/oauth/google/callback"));async function ms(l){const i=l==="github"?ca.value:ua.value;i&&(l==="github"?s.github_oauth_redirect_url=i:s.google_oauth_redirect_url=i,await le(i,x("åè°å°åå·²åå
¥å¹¶å¤å¶ã","Callback URL set and copied.")))}const _a=B(()=>$t("/auth/oauth/wechat/callback"));function jt(l){s.wechat_connect_mp_enabled&&s.wechat_connect_mobile_enabled&&(l==="mobile"?s.wechat_connect_mp_enabled=!1:s.wechat_connect_mobile_enabled=!1);const i=Ra(s.wechat_connect_open_enabled,s.wechat_connect_mp_enabled,s.wechat_connect_mobile_enabled,s.wechat_connect_mode);s.wechat_connect_open_enabled=i.openEnabled,s.wechat_connect_mp_enabled=i.mpEnabled,s.wechat_connect_mobile_enabled=i.mobileEnabled,s.wechat_connect_mode=Nt(i.openEnabled,i.mpEnabled,i.mobileEnabled,s.wechat_connect_mode),s.wechat_connect_scopes=Kt(s.wechat_connect_mode)}function Jn(l){s.wechat_connect_open_enabled=l,jt(l?"open":void 0)}function Xn(l){s.wechat_connect_mp_enabled=l,l&&(s.wechat_connect_mobile_enabled=!1),jt(l?"mp":void 0)}function Zn(l){s.wechat_connect_mobile_enabled=l,l&&(s.wechat_connect_mp_enabled=!1),jt(l?"mobile":void 0)}async function ei(){const l=_a.value;l&&(s.wechat_connect_redirect_url=l,await le(l,t("admin.settings.wechatConnect.redirectUrlSetAndCopied")))}const ma=B(()=>$t("/auth/oauth/oidc/callback"));async function ti(){const l=ma.value;l&&(s.oidc_connect_redirect_url=l,await le(l,t("admin.settings.oidc.redirectUrlSetAndCopied")))}function ai(){s.custom_menu_items.push({id:"",label:"",icon_svg:"",url:"",visibility:"user",sort_order:s.custom_menu_items.length})}function si(l){s.custom_menu_items.splice(l,1),s.custom_menu_items.forEac
12h((i,p)=>{i.sort_order=p})}function ps(l,i){const p=l+i;if(p<0||p>=s.custom_menu_items.length)return;const o=s.custom_menu_items,m=o[l];o[l]=o[p],o[p]=m,o.forEach((_,G)=>{_.sort_order=G})}function ni(l){return Array.isArray(l)?l.map(i=>({...i,visibility:i.visibility==="admin"?"admin":"user",hide_open_button:i.hide_open_button===!0})):[]}function ii(l,i){l.icon_svg=i}function oi(){s.home_product_menu_items.push({id:"",label:"",icon_svg:"",url:"",action:"same_tab",visibility:"user",sort_order:s.home_product_menu_items.length})}function li(l,i){l.icon_svg=i}function ri(l){s.home_product_menu_items.splice(l,1),s.home_product_menu_items.forEach((i,p)=>{i.sort_order=p})}function gs(l){return Array.isArray(l)?l.map((i,p)=>({...i,action:i.action==="new_tab"?"new_tab":"same_tab",visibility:"user",sort_order:p})):[]}function di(){s.custom_endpoints.push({name:"",endpoint:"",description:""})}function ci(l){s.custom_endpoints.splice(l,1)}function ui(){s.login_agreement_documents.push({id:`custom-${Date.now().toString(36)}`,title:"",content_md:""})}function _i(l){s.login_agreement_documents.splice(l,1)}function mi(){return s.login_agreement_documents.map((l,i)=>({id:Ka(l.id||l.title)||`doc-${i+1}`,title:l.title.trim(),content_md:l.content_md.trim()})).filter(l=>l.title||l.content_md)}function pi(l){const i=new Set;for(const p of l){if(i.has(p.id))return p.id;i.add(p.id)}return null}function ys(l){return l.join(", ")}function gi(l){const i=l.split(",").map(m=>m.trim()).filter(m=>m.length>0);if(i.length===0)return null;const p=i.map(m=>Number(m));if(p.some(m=>!Number.isInteger(m)))return null;const o=Array.from(new Set(p)).sort((m,_)=>m-_);return o.some(m=>m<Yt||m>Jt)?null:o}const Pt=U([]),Et=U([]),bt=U([]),yi=B(()=>!bt.value.some(l=>l.required));function bi(){bt.value.push({type:"header_exact",match:"",required:!1})}function xi(l){bt.value.splice(l,1)}function bs(l){if(!l||!l.trim())return[];try{const i=JSON.parse(l);return Array.isArray(i)?i.map(p=>({originator:typeof(p==null?void 0:p.originator)=="string"?p.originator:"",uaContains:Array.isArray(p==null?void 0:p.ua_contains)?p.ua_contains.filter(o=>typeof o=="string").join(", "):"",skipEngineFingerprint:(p==null?void 0:p.skip_engine_fingerprint)===!0})):[]}catch{return[]}}function xs(l){const i=l.map(p=>{const o={originator:p.originator.trim(),ua_contains:p.uaContains.split(",").map(m=>m.trim()).filter(m=>m.length>0)};return p.skipEngineFingerprint&&(o.skip_engine_fingerprint=!0),o}).filter(p=>p.originator!==""||p.ua_contains.length>0);return i.length>0?JSON.stringify(i):""}function hi(){Pt.value.push({originator:"",uaContains:""})}function fi(l){Pt.value.splice(l,1)}function ki(){Et.value.push({originator:"",uaContains:"",skipEngineFingerprint:!1})}function vi(l){Et.value.splice(l,1)}const hs=B(()=>{var i;const l=(i=s.openai_codex_client_version_synced)==null?void 0:i.trim();return l?t("admin.settings.gatewayForwarding.openaiCodexVersionSyncedValue",{version:l}):""}),Ye=U("static"),pa=U("");function wi(l){return l.trim().replace(/\/+$/,"")===sn}function Ci(l){return l.trim()===nn}function fs(l){return wi(l)?"mihomo":Ci(l)?"ip_pool":"static"}function Vi(l){s.openai_codex_ticket_harvest_proxy_url=l,k.showSuccess(t("admin.settings.gatewayForwarding.codexTicketProxyMihomoSelected"))}function Ui(){const l=s.openai_codex_ticket_harvest_proxy_url,i=fs(l);Ye.value=i,pa.value=i==="static"?l:s.openai_codex_ticket_static_proxy_url||""}function ga(l){const i=fs(s.openai_codex_ticket_harvest_proxy_url);i==="static"&&(pa.value=s.openai_codex_ticket_harvest_proxy_url),Ye.value=l,l==="ip_pool"?s.openai_codex_ticket_harvest_proxy_url=nn:i!=="static"&&i!==l&&(s.openai_codex_ticket_harvest_proxy_url=pa.value)}const ks=B(()=>{var i;const l=(i=s.claude_code_client_version_synced)==null?void 0:i.trim();return l?t("admin.settings.gatewayForwarding.claudeCodeVersionSyncedValue",{version:l}):""});async function Si(){var l;ce.value=!0,oe.value=!1;try{const i=await O.settings.getSettings();i.payment_load_balance_strategy=i.payment_load_balance_strategy||"round-robin";for(const[_,G]of Object.entries(i))G!=null&&(s[_]=G);s.openai_codex_ticket_harvest_scope.account_policy=s.openai_codex_ticket_harvest_scope.account_policy||"schedulable_only",Ui(),i.open
12ai_oauth_scheduling_rate_multiplier===null&&(s.openai_oauth_scheduling_rate_multiplier=null),Pn(),(l=s.claude_oauth_system_prompt_blocks)!=null&&l.trim()||(s.claude_oauth_system_prompt_blocks=Qa),Qe.value=xn(s.claude_oauth_system_prompt_blocks,s.claude_oauth_system_prompt),_t(),Pt.value=bs(s.codex_cli_only_blacklist),Et.value=bs(s.codex_cli_only_whitelist),bt.value=s.codex_cli_only_engine_fingerprint_signals?Fg(s.codex_cli_only_engine_fingerprint_signals):Hg(),s.login_agreement_mode=i.login_agreement_mode==="checkbox"?"checkbox":"modal",s.channel_monitor_mode=i.channel_monitor_mode==="v2"?"v2":"v1",s.channel_monitor_hide_throughput=!!i.channel_monitor_hide_throughput,s.channel_monitor_show_quota=!!i.channel_monitor_show_quota,s.channel_monitor_hide_user_ranking=!!i.channel_monitor_hide_user_ranking,s.login_agreement_updated_at=i.login_agreement_updated_at||"2026-03-31",s.login_agreement_documents=Array.isArray(i.login_agreement_documents)&&i.login_agreement_documents.length>0?i.login_agreement_documents.map(_=>({id:_.id||"",title:_.title||"",content_md:_.content_md||""})):Na(),Object.assign(be,Ha(i)),s.default_platform_quotas=La(i.default_platform_quotas),s.account_scheduling_thresholds=Fa(i.account_scheduling_thresholds),s.backend_mode_enabled=i.backend_mode_enabled,s.default_subscriptions=Ia(i.default_subscriptions),s.home_product_menu_items=gs(s.home_product_menu_items),Y.value=en(i.registration_email_suffix_whitelist),s.forwarded_client_ip_headers=la(i.forwarded_client_ip_headers),j.value="",se.value=ys(Array.isArray(i.table_page_size_options)?i.table_page_size_options:[10,20,50,100]),ge.value="",s.smtp_password="",K.value=!1,s.turnstile_secret_key="",s.tencent_captcha_app_secret_key="",s.tencent_captcha_cloud_secret_id="",s.tencent_captcha_cloud_secret_key="",s.aliyun_captcha_access_key_secret="",s.linuxdo_connect_client_secret="",s.dingtalk_connect_client_secret="",s.github_oauth_client_secret="",s.google_oauth_client_secret="",s.wechat_connect_app_secret="",s.wechat_connect_open_app_secret="",s.wechat_connect_mp_app_secret="",s.wechat_connect_mobile_app_secret="";const p=Ra(i.wechat_connect_open_enabled,i.wechat_connect_mp_enabled,i.wechat_connect_mobile_enabled,i.wechat_connect_mode);s.wechat_connect_open_enabled=p.openEnabled,s.wechat_connect_mp_enabled=p.mpEnabled,s.wechat_connect_mobile_enabled=p.mobileEnabled,s.wechat_connect_mode=Nt(p.openEnabled,p.mpEnabled,p.mobileEnabled,i.wechat_connect_mode);const o=String(i.wechat_connect_app_id||"").trim(),m=!!i.wechat_connect_app_secret_configured;!s.wechat_connect_open_app_id&&p.openEnabled&&(s.wechat_connect_open_app_id=o),!s.wechat_connect_mp_app_id&&p.mpEnabled&&(s.wechat_connect_mp_app_id=o),!s.wechat_connect_mobile_app_id&&p.mobileEnabled&&(s.wechat_connect_mobile_app_id=o),!s.wechat_connect_open_app_secret_configured&&p.openEnabled&&(s.wechat_connect_open_app_secret_configured=m),!s.wechat_connect_mp_app_secret_configured&&p.mpEnabled&&(s.wechat_connect_mp_app_secret_configured=m),!s.wechat_connect_mobile_app_secret_configured&&p.mobileEnabled&&(s.wechat_connect_mobile_app_secret_configured=m),s.wechat_connect_scopes=Kt(s.wechat_connect_mode),s.oidc_connect_client_secret="",i.openai_fast_policy_settings&&Array.isArray(i.openai_fast_policy_settings.rules)&&(ut.rules=i.openai_fast_policy_settings.rules.map(_=>({..._,user_ids:_.user_ids?[..._.user_ids]:[],model_whitelist:_.model_whitelist?[..._.model_whitelist]:[]})),Zt.value=!0),await Bn()}catch(i){oe.value=!0,k.showError(pe(i,t("admin.settings.failedToLoad")))}finally{ce.value=!1}}async function $i(){try{const l=await O.groups.getAll();He.value=l.filter(i=>i.platform==="openai"),Ne.value=!1,Pe.value=l.filter(i=>i.subscription_type==="subscription"&&i.status==="active")}catch{Pe.value=[],He.value=[],Ne.value=!0}}function vs(l){const i=new Set(l);return Pe.value.find(p=>!i.has(p.id))}function Pi(){if(Pe.value.length===0)return;const l=vs(s.default_subscriptions.map(i=>i.group_id));l&&s.default_subscriptions.push({group_id:l.id,validity_days:30})}function Ei(l){s.default_subscriptions.splice(l,1)}function Ti(l){if(Pe.value.length===0)return;const i=vs(be[l].subscriptions.map(p=>p.group_id));i&&be[l].subscriptions.push({group_id:i.id,validity_days:30})}function Ai(l,i){be[l].subscriptions.splice(i,1)}function ws(l){const i=new Set;return l.find(p=>i.has(p.group_id)?!0:(i.add(p.group_id),!1))}const Mi=B(()=>tl.map(l=>({value:l,label:t(`admin.settings.features.siteBillingMode.options.${Qs[l]}`)}))),ya=B({get:()=>al(s),set:l=>{Object.assign(s,sl(l))}}),Fi=B(()=>t(`admin.settings.features.siteBillingMode.hints.${Qs[ya.value]}`));function Cs(l,i){const p=new Set(s.openai_codex_ticket_models);i?p.add(l):p.delete(l),s.openai_codex_ticket_models=[...p]}async function Vs(){var l,i,p,o,m,_,G,Ce;D.value=!0;try{const Je=s.excel_bps_image_base_url.trim();if(s.excel_bps_image_relay_enabled&&s.excel_bps_image_mode==="relay"||Je)try{const q=new URL(Je);if(q.protocol!=="https:"||!q.hostname||q.username||q.password||q.pathname!=="/"&&q.pathname!==""||Je.includes("?")||Je.includes("#"))throw new Error("invalid image origin");s.excel_bps_image_base_url=q.origin}catch{k.showError(t("admin.settings.features.excelBpsImages.invalidBaseUrl"));return}if(!Number.isInteger(s.excel_bps_image_body_limit_mib)||s.excel_bps_image_body_limit_mib<1||s.excel_bps_image_body_limit_mib>ue.bodyMiB||!Number.isInteger(s.excel_bps_image_budget_mib)||s.excel_bps_image_budget_mib<ue.minBudgetMiB||s.excel_bps_image_budget_mib>ue.budgetMiB||s.excel_bps_image_budget_mib<s.excel_bps_image_body_limit_mib*8||!Number.isInteger(s.excel_bps_image_max_requests)||s.excel_bps_image_max_requests<1||s.excel_bps_image_max_requests>ue.requests){k.showError(t("admin.settings.features.excelBpsImages.invalidCapacity",ue));return}if(!Number.isInteger(s.excel_bps_image_max_image_mib)||s.excel_bps_image_max_image_mib<1||s.excel_bps_image_max_image_mib>ue.imageMiB||!Number.isInteger(s.excel_bps_image_warning_remaining)||s.excel_bps_image_warning_remaining<1||s.excel_bps_image_warning_remaining>ue.images||!Number.isInteger(s.excel_bps_image_compact_reserve)||s.excel_bps_image_compact_reserve<1||s.excel_bps_image_compact_reserve>ue.images||s.excel_bps_image_limit_policy==="warn"&&(!Number.isInteger(s.excel_bps_image_warning_remaining)||!Number.isInteger(s.excel_bps_image_compact_reserve)||s.excel_bps_image_compact_reserve<1||s.excel_bps_image_compact_reserve>=s.excel_bps_image_warning_remaining||s.excel_bps_image_warning_remaining>=s.excel_bps_image_max_images)||!Number.isInteger(s.excel_bps_image_max_images)||s.excel_bps_image_max_images<1||s.excel_bps_image_max_images>ue.images||!Number.isInteger(s.excel_bps_image_max_total_mib)||s.excel_bps_image_max_total_mib<1||s.excel_bps_image_max_total_mib>ue.totalMiB||!Number.isInteger(s.excel_bps_image_storage_mib)||s.excel_bps_image_storage_mib<1||s.excel_bps_image_storage_mib>
12ue.storageMiB||!Number.isInteger(s.excel_bps_image_storage_entries)||s.excel_bps_image_storage_entries<1||s.excel_bps_image_storage_entries>ue.storageEntries||!Number.isInteger(s.excel_bps_image_ttl_minutes)||s.excel_bps_image_ttl_minutes<1||s.excel_bps_image_ttl_minutes>ue.ttlMinutes||s.excel_bps_image_max_total_mib<s.excel_bps_image_max_image_mib||s.excel_bps_image_storage_mib<s.excel_bps_image_max_total_mib||s.excel_bps_image_storage_entries<s.excel_bps_image_max_images){k.showError(t("admin.settings.features.excelBpsImages.invalidLimits"));return}const zt=Math.floor(Number(s.table_default_page_size));if(!Number.isInteger(zt)||zt<Yt||zt>Jt){k.showError(t("admin.settings.site.tableDefaultPageSizeRangeError",{min:Yt,max:Jt}));return}const Bs=gi(se.value);if(!Bs){k.showError(t("admin.settings.site.tablePageSizeOptionsFormatError",{min:Yt,max:Jt}));return}s.table_default_page_size=zt,s.table_page_size_options=Bs;const qt=mi();if(s.login_agreement_enabled&&qt.length===0){k.showError(x("å¯ç¨ç»å½æ¡æ¬¾ç¡®è®¤æ¶ï¼è³å°éè¦ä¿çä¸ä»½ææ¡£ã","At least one document is required when login agreement is enabled."));return}if(qt.find(q=>!q.title)){k.showError(x("ç»å½æ¡æ¬¾ææ¡£åç§°ä¸è½ä¸ºç©ºã","Login agreement document title cannot be empty."));return}const Pa=pi(qt);if(Pa){k.showError(x(`ç»å½æ¡æ¬¾ææ¡£è·¯ç±ä¸è½éå¤ï¼/legal/${Pa}`,`Login agreement document routes cannot be duplicated: /legal/${Pa}`));return}s.login_agreement_mode=s.login_agreement_mode==="checkbox"?"checkbox":"modal",s.login_agreement_documents=qt,s.forwarded_client_ip_headers=la(s.forwarded_client_ip_headers);const js=Ia(s.default_subscriptions),Ds=ws(js);if(Ds){k.showError(t("admin.settings.defaults.defaultSubscriptionsDuplicate",{groupId:Ds.group_id}));return}for(const q of ts.value){be[q.source].subscriptions=Ia(be[q.source].subscriptions);const Oe=ws(be[q.source].subscriptions);if(Oe){k.showError(`${q.title}: ${t("admin.settings.defaults.defaultSubscriptionsDuplicate",{groupId:Oe.group_id})}`);return}}if(s.wechat_connect_mp_enabled&&s.wechat_connect_mobile_enabled){k.showError(x("å
¬ä¼å·åç§»å¨åºç¨ä¸è½åæ¶å¯ç¨ã","Official Account and Mobile App cannot be enabled at the same time."));return}const Ea=q=>{if(!q)return!0;try{const Oe=new URL(q);return Oe.protocol==="http:"||Oe.protocol==="https:"}catch{return!1}};if(Ea(s.frontend_url)||(s.frontend_url=""),Ea(s.doc_url)||(s.doc_url=""),!Ea(s.company_documentation_url)){k.showError(t("admin.settings.features.company.documentationURLInvalid"));return}const Ta=Number(s.company_upgrade_fee);if(!Number.isFinite(Ta)||Ta<=0){k.showError(t("admin.settings.features.company.upgradeFeeInvalid"));return}jt();const Os=Nt(s.wechat_connect_open_enabled,s.wechat_connect_mp_enabled,s.wechat_connect_mobile_enabled,s.wechat_connect_mode),zs=ta(Qe.value);s.claude_oauth_system_prompt_blocks=zs;const ht=s.openai_oauth_scheduling_rate_multiplier;if(ht!==""&&ht!==null&&(!Number.isFinite(ht)||ht<0)){k.showError(t("admin.settings.openaiExperimentalScheduler.oauthRateInvalid"));return}const At={registration_enabled:s.registration_enabled,email_verify_enabled:s.email_verify_enabled,registration_email_suffix_whitelist:Y.value.map(q=>q.startsWith("*.")?q:`@${q}`),registration_email_domain_quota_enabled:s.registration_email_domain_quota_enabled,promo_code_enabled:s.promo_code_enabled,invitation_code_enabled:s.invitation_code_enabled,password_reset_enabled:s.password_reset_enabled,totp_enabled:s.totp_enabled,passkey_enabled:s.passkey_enabled,session_binding_enabled:s.session_binding_enabled,step_up_enabled:s.step_up_enabled,company_upgrade_charge_enabled:s.company_upgrade_charge_enabled,company_upgrade_fee:Ta,company_applications_enabled:s.company_applications_enabled,company_iam_enabled:s.company_iam_enabled,company_public_ids_finalized:s.company_public_ids_finalized,company_billing_integration_enabled:s.company_billing_integration_enabled,company_documentation_url:s.company_documentation_url.trim(),audit_log_retention_days:Number.isFinite(s.audit_log_retention_days)?s.audit_log_retention_days:180,login_agreement_enabled:s.login_agreement_enabled,login_agreement_mode:s.login_agreement_mode,login_agreement_updated_at:s.login_agreement_updated_at,login_agreement_documents:s.login_agreement_documents,default_balance:s.default_balance,affiliate_rebate_rate:Math.min(100,Math.max(0,Number(s.affiliate_rebate_rate)||0)),affiliate_rebate_freeze_hours:Math.max(0,Math.min(720,Number(s.affiliate_rebate_freeze_hours)||0)),affiliate_rebate_duration_days:Math.max(0,Math.min(3650,Math.floor(Number(s.affiliate_rebate_duration_days)||0))),affiliate_rebate_per_invitee_cap:Math.max(0,Number(s.affiliate_rebate_per_invitee_cap)||0),affiliate_admin_recharge_enabled:s.affiliate_admin_recharge_enabled,default_concurrency:s.default_concurrency,default_subscriptions:js,force_email_on_third_party_signup:s.force_email_on_third_party_signup,default_user_rpm_limit:s.default_user_rpm_limit,site_name:s.site_name,site_logo:s.site_logo,site_subtitle:s.site_subtitle,api_base_url:s.api_base_url,contact_info:s.contact_info,doc_url:s.doc_url,home_content:s.home_content,compact_home_enabled:s.compact_home_enabled,backend_mode_enabled:s.backend_mode_enabled,hide_ccs_import_button:s.hide_ccs_import_button,table_default_page_size:s.table_default_page_size,table_page_size_options:s.table_page_size_options,custom_menu_items:ni(s.custom_menu_items),home_product_menu_items:gs(s.home_product_menu_items),custom_endpoints:s.custom_endpoints,frontend_url:s.frontend_url,smtp_host:s.smtp_host,smtp_port:s.smtp_port,smtp_username:s.smtp_username,smtp_password:s.smtp_password||void 0,smtp_from_email:s.smtp_from_email,smtp_from_name:s.smtp_from_name,smtp_use_tls:s.smtp_use_tls,turnstile_enabled:s.turnstile_enabled,turnstile_site_key:s.turnstile_site_key,turnstile_secret_key:s.turnstile_secret_key||void 0,tencent_captcha_enabled:s.tencent_captcha_enabled,tencent_captcha_app_id:s.tencent_captcha_app_id,tencent_captcha_app_secret_key:s.tencent_captcha_app_secret_key||void 0,tencent_captcha_cloud_secret_id:s.tencent_captcha_cloud_secret_id||void 0,tencent_captcha_cloud_secret_key:s.tencent_captcha_cloud_secret_key||void 0,tencent_captcha_region:s.tencent_captcha_region,aliyun_captcha_enabled:s.aliyun_captcha_enabled,aliyun_captcha_access_key_id:s.aliyun_captcha_access_key_id,aliyun_captcha_access_key_secret:s.aliyun_captcha_access_key_secret||void 0,aliyun_captcha_scene_id:s.aliyun_captcha_scene_id,aliyun_captcha_prefix:s.aliyun_captcha_prefix,aliyun_captcha_region:s.aliyun_captcha_region,api_key_acl_trust_forwarded_ip:s.api_key_acl_trust_forwarded_ip,forwarded_client_ip_headers:s.forwarded_client_ip_headers,linuxdo_connect_enabled:s.linuxdo_connect_enabled,linuxdo_connect_client_id:s.linuxdo_connect_client_id,linuxdo_connect_client_secret:s.linuxdo_connect_client_secret||void 0,linuxdo_connect_redirect_url:s.linuxdo_connect_redirect_url,dingtalk_connect_enabled:s.dingtalk_connect_enabled,dingtalk_connect_client_id:s.dingtalk_connect_client_id,dingtalk_connect_client_secret:s.dingtalk_connect_client_secret||void 0,dingtalk_connect_redirect_url:s.dingtalk_connect_redirect_url,dingtalk_connect_corp_restriction_policy:s.dingtalk_connect_corp_restriction_policy,dingtalk_connect_internal_corp_i
12d:s.dingtalk_connect_internal_corp_id,dingtalk_connect_bypass_registration:s.dingtalk_connect_bypass_registration,dingtalk_connect_sync_corp_email:s.dingtalk_connect_sync_corp_email,dingtalk_connect_sync_display_name:s.dingtalk_connect_sync_display_name,dingtalk_connect_sync_dept:s.dingtalk_connect_sync_dept,dingtalk_connect_sync_corp_email_attr_key:s.dingtalk_connect_sync_corp_email_attr_key,dingtalk_connect_sync_display_name_attr_key:s.dingtalk_connect_sync_display_name_attr_key,dingtalk_connect_sync_dept_attr_key:s.dingtalk_connect_sync_dept_attr_key,dingtalk_connect_sync_corp_email_attr_name:s.dingtalk_connect_sync_corp_email_attr_name,dingtalk_connect_sync_display_name_attr_name:s.dingtalk_connect_sync_display_name_attr_name,dingtalk_connect_sync_dept_attr_name:s.dingtalk_connect_sync_dept_attr_name,wechat_connect_enabled:s.wechat_connect_enabled,wechat_connect_app_id:s.wechat_connect_open_app_id||s.wechat_connect_mp_app_id||s.wechat_connect_mobile_app_id||s.wechat_connect_app_id,wechat_connect_app_secret:s.wechat_connect_app_secret||void 0,wechat_connect_open_app_id:s.wechat_connect_open_app_id,wechat_connect_open_app_secret:s.wechat_connect_open_app_secret||void 0,wechat_connect_mp_app_id:s.wechat_connect_mp_app_id,wechat_connect_mp_app_secret:s.wechat_connect_mp_app_secret||void 0,wechat_connect_mobile_app_id:s.wechat_connect_mobile_app_id,wechat_connect_mobile_app_secret:s.wechat_connect_mobile_app_secret||void 0,wechat_connect_open_enabled:s.wechat_connect_open_enabled,wechat_connect_mp_enabled:s.wechat_connect_mp_enabled,wechat_connect_mobile_enabled:s.wechat_connect_mobile_enabled,wechat_connect_mode:Os,wechat_connect_scopes:Kt(Os),wechat_connect_redirect_url:s.wechat_connect_redirect_url,wechat_connect_frontend_redirect_url:s.wechat_connect_frontend_redirect_url,oidc_connect_enabled:s.oidc_connect_enabled,oidc_connect_provider_name:s.oidc_connect_provider_name,oidc_connect_client_id:s.oidc_connect_client_id,oidc_connect_client_secret:s.oidc_connect_client_secret||void 0,oidc_connect_issuer_url:s.oidc_connect_issuer_url,oidc_connect_discovery_url:s.oidc_connect_discovery_url,oidc_connect_authorize_url:s.oidc_connect_authorize_url,oidc_connect_token_url:s.oidc_connect_token_url,oidc_connect_userinfo_url:s.oidc_connect_userinfo_url,oidc_connect_jwks_url:s.oidc_connect_jwks_url,oidc_connect_scopes:s.oidc_connect_scopes,oidc_connect_redirect_url:s.oidc_connect_redirect_url,oidc_connect_frontend_redirect_url:s.oidc_connect_frontend_redirect_url,oidc_connect_token_auth_method:s.oidc_connect_token_auth_method,oidc_connect_use_pkce:s.oidc_connect_use_pkce,oidc_connect_validate_id_token:s.oidc_connect_validate_id_token,oidc_connect_allowed_signing_algs:s.oidc_connect_allowed_signing_algs,oidc_connect_clock_skew_seconds:s.oidc_connect_clock_skew_seconds,oidc_connect_require_email_verified:s.oidc_connect_require_email_verified,oidc_connect_userinfo_email_path:s.oidc_connect_userinfo_email_path,oidc_connect_userinfo_id_path:s.oidc_connect_userinfo_id_path,oidc_connect_userinfo_username_path:s.oidc_connect_userinfo_username_path,github_oauth_enabled:s.github_oauth_enabled,github_oauth_client_id:s.github_oauth_client_id,github_oauth_client_secret:s.github_oauth_client_secret||void 0,github_oauth_redirect_url:s.github_oauth_redirect_url,github_oauth_frontend_redirect_url:s.github_oauth_frontend_redirect_url,google_oauth_enabled:s.google_oauth_enabled,google_oauth_client_id:s.google_oauth_client_id,google_oauth_client_secret:s.google_oauth_client_secret||void 0,google_oauth_redirect_url:s.google_oauth_redirect_url,google_oauth_frontend_redirect_url:s.google_oauth_frontend_redirect_url,enable_model_fallback:s.enable_model_fallback,fallback_model_anthropic:s.fallback_model_anthropic,fallback_model_openai:s.fallback_model_openai,fallback_model_gemini:s.fallback_model_gemini,fallback_model_antigravity:s.fallback_model_antigravity,grok_default_text_model:s.grok_default_text_model.trim()||"grok-4.5",grok_cross_client_model_map_enabled:s.grok_cross_client_model_map_enabled,grok_default_base_url_mode:s.grok_default_base_url_mode,enable_identity_patch:s.enable_identity_patch,identity_patch_prompt:s.identity_patch_prompt,min_claude_code_version:s.min_claude_code_version,max_claude_code_version:s.max_claude_code_version,allow_ungrouped_key_scheduling:s.allow_ungrouped_key_scheduling,openai_ttft_mode:s.openai_ttft_mode==="visible"?"visible":"semantic",enable_fingerprint_unification:s.enable_fingerprint_unification,enable_metadata_passthrough:s.enable_metadata_passthrough,enable_cch_signing:s.enable_cch_signing,enable_claude_oauth_system_prompt_injection:s.enable_claude_oauth_system_prompt_injection,claude_oauth_system_prompt:(l=s.claude_oauth_system_prompt)!=null&&l.trim()?s.claude_oauth_system_prompt:"",claude_oauth_system_prompt_blocks:zs,enable_anthropic_cache_ttl_1h_injection:s.enable_anthropic_cache_ttl_1h_injection,rewrite_message_cache_control:s.rewrite_message_cache_control,enable_client_dateline_normalization:s.enable_client_dateline_normalization,antigravity_user_agent_version:((i=s.antigravity_user_agent_version)==null?void 0:i.trim())||"",openai_codex_user_agent:((p=s.openai_codex_user_agent)==null?void 0:p.trim())||"",openai_codex_client_version:((o=s.openai_codex_client_version)==null?void 0:o.trim())||"",openai_codex_version_auto_sync_enabled:s.openai_codex_version_auto_sync_enabled,openai_codex_ticket_enabled:s.openai_codex_ticket_enabled,openai_codex_ticket_fail_closed:s.openai_codex_ticket_fail_closed,openai_codex_ticket_strategy:s.openai_codex_ticket_strategy||"standby",openai_codex_ticket_harvest_scope:{mode:s.openai_codex_ticket_harvest_scope.mode,group_ids:[...s.openai_codex_ticket_harvest_scope.group_ids],account_policy:s.openai_codex_ticket_harvest_scope.account_policy},openai_codex_ticket_strict_response:s.openai_codex_ticket_strict_response||!1,openai_codex_ticket_harvest_proxy_url:((m=s.openai_codex_ticket_harvest_proxy_url)==null?void 0:m.trim())||"",openai_codex_ticket_use_saved_static_proxy:Ye.value==="static",openai_codex_ticket_models:[...s.openai_codex_ticket_models],claude_code_client_version:((_=s.claude_code_client_version)==null?void 0:_.trim())||"",claude_code_version_auto_sync_enabled:s.claude_code_version_auto_sync_enabled,min_codex_version:((G=s.min_codex_version)==null?void 0:G.trim())||"",max_codex_version:((Ce=s.max_codex_version)==null?void 0:Ce.trim())||"",codex_cli_only_allow_app_server_clients:s.codex_cli_only_allow_app_server_clients,codex_cli_only_engine_fingerprint_signals:Lg(bt.value),codex_cli_only_blacklist:xs(Pt.value),codex_cli_only_whitelist:xs(Et.value),payment_enabled:s.payment_enabled,risk_control_enabled:s.risk_control_enabled,cyber_policy_user_allowlist:s.cyber_policy_user_allowlist,cyber_session_block_enabled:s.cyber_session_block_enabled,cyber_session_block_ttl_seconds:Number(s.cyber_session_block_ttl_seconds)||3600,cyber_session_identity_strict_enabled:s.cyber_session_identity_strict_enabled,payment_min_amount:Number(s.payment_min_amount)||0,payment_max_amount:Number(s.payment_max_amount)||0,payment_daily_limit:Number(s.payment_daily_limit)||0,payment_max_pending_orders:Number(s.payment_max_pending_orders)||0,payment_order_timeout_minutes:Number(s.payment_order_timeout_minutes)||0,payment_balance_disabled:s.payment_balance_disabled,payment_balance_recharge_multiplier:Number(s.payment_balance_recharge_multiplier)||1,payment_subscription_usd_to_cny_rate:Number(s.payment_subscription_usd_to_cny_rate)||0,payment_recharge_fee_rate:Number(s.payment_recharge_fee_rate)||0,payment_enabled_types:s.payment_enabled_types,payment_load_balance_strategy:s.payment_load_balance_strategy,payment_product_name_prefix:s.payment_product_name_prefix,payment_product_name_suffix:s.payment_product_name_suffix,payment_help_image_url:s.payment_help_image_url,payment_help_text:s.payment_help_text,payment_cancel_rate_limit_enabled:s.payment_cancel_rate_limit_enabled,payment_cancel_rate_limit_max:Number(s.payment_cancel_rate_limit_max)||10,payment_cancel_rate_limit_window:Number(s.payment_cancel_rate_limit_window)||1,payment_cancel_rate_limit_unit:s.payment_cancel_rate_limit_unit,payment_cancel_rate_limit_window_mode:s.payment_cancel_rate_limit_window_mode,payment_alipay_force_qrcode:s.payment_alipay_force_qrcode,payment_alipay_mobile_precreate_deep_link:s.payment_alipay_mobile_precreate_deep_link,openai_low_upstream_rate_priority_enabled:s.openai_low_upstream_rate_priority_enabled,openai_oauth_scheduling_rate_multiplier:ht===""?null:ht,openai_advanced_scheduler_enabled:s.openai_advanced_scheduler_enabled,openai_advanced_scheduler_sticky_weighted_enabled:s.openai_advanced_scheduler_sticky_weighted_enabled,openai_advanced_scheduler_subscription_priority_enabled:s.openai_advanced_scheduler_subscription_priority_enabled,openai_advanced_scheduler_lb_top_k:s.openai_advanced_scheduler_lb_top_k.trim(),openai_advanced_scheduler_weight_priority:s.openai_advanced_scheduler_weight_priority.trim(),openai_advanced_scheduler_weight_load:s.openai_advanced_scheduler_weight_load.trim(),openai_advanced_scheduler_weight_queue:s.openai_advanced_scheduler_weight_queue.trim(),openai_advanced_scheduler_weight_error_rate:s.openai_advanced_scheduler_weight_error_rate.trim(),openai_advanced_scheduler_weight_ttft:s.openai_advanced_scheduler_weight_ttft.trim(),openai_advanced_scheduler_weight_reset:s.openai_advanced_scheduler_weight_reset.trim(),openai_advanced_scheduler_weight_quota_headroom:s.openai_advanced_scheduler_weight_quota_headroom.trim(),openai_advanced_scheduler_weight_upstream_cost:s.openai_advanced_scheduler_weight_upstream_cost.trim(),openai_advanced_scheduler_weight_previous_response:s.openai_advanced_scheduler_weight_previous_response.trim(),openai_advanced_scheduler_weight_session_sticky:s.openai_advanced_scheduler_weight_session_sticky.trim(),balance_low_notify_enabled:s.balance_low_notify_enabled,balance_low_notify_threshold:Number(s.balance_low_notify_threshold)||0,balance_low_notify_recharge_url:s.balance_low_notify_recharge_url=s.balance_low_notify_recharge_url||ra,subscription_expiry_notify_enabled:s.subscription_expiry_notify_enabled,account_quota_notify_enabled:s.account_quota_notify_enabled,account_quota_notify_emails:(s.account_quota_notify_emails||[]).filter(q=>q.email.trim()!==""),channel_monitor_enabled:s.channel_monitor_enabled,channel_monitor_mode:s.channel_monitor_mode==="v1"?"v1":"v2",channel_monitor_default_interval_seconds:Number(s.channel_monitor_default_interval_seconds)||60,channel_monitor_hide_throughput:!!s.channel_monitor_hide_throughput,channel_monitor_show_quota:!!s.channel_monitor_show_quota,channel_monitor_hide_user_ranking:!!s.channel_monitor_hide_user_ranking,available_channels_enabled:s.available_channels_enabled,subscription_enabled:s.subscription_enabled,model_plaza_enabled:s.model_plaza_enabled,model_plaza_require_auth:s.model_plaza_require_auth,model_plaza_description:s.model_plaza_description,plugin_management_enabled:s.plugin_management_enabled,affiliate_enabled:s.affiliate_enabled,allow_user_view_error_requests:s.allow_user_view_error_requests,support_ticket_enabled:s.support_ticket_enabled,support_ticket_categories:(s.support_ticket_categories||[]).map(q=>
12q.trim()).filter(Boolean),support_ticket_default_priority:s.support_ticket_default_priority||"normal",support_ticket_notify_emails:(s.support_ticket_notify_emails||[]).filter(q=>q.email.trim()!=="").map(q=>({...q,email:q.email.trim()})),support_chat_enabled:s.support_chat_enabled,support_chat_excluded_routes:(s.support_chat_excluded_routes||[]).map(q=>q.trim()).filter(Boolean),support_chat_anonymous_llm:s.support_chat_anonymous_llm,support_chat_title:s.support_chat_title.trim(),support_chat_welcome:s.support_chat_welcome.trim(),support_chat_icon:s.support_chat_icon.trim(),support_chat_llm_enabled:s.support_chat_llm_enabled,support_chat_llm_base_url:s.support_chat_llm_base_url.trim(),support_chat_llm_api_key:s.support_chat_llm_api_key||void 0,support_chat_embedding_base_url:s.support_chat_embedding_base_url.trim(),support_chat_embedding_api_key:s.support_chat_embedding_api_key||void 0,support_chat_model:s.support_chat_model.trim(),support_chat_system_prompt:s.support_chat_system_prompt,support_chat_max_turns:Number(s.support_chat_max_turns)||5,support_chat_max_request_tokens:Number(s.support_chat_max_request_tokens)||16e3,support_chat_rl_user_per_day:Number(s.support_chat_rl_user_per_day)||50,support_chat_rl_user_per_min:Number(s.support_chat_rl_user_per_min)||5,support_chat_rl_ip_per_hour:Number(s.support_chat_rl_ip_per_hour)||20,support_chat_faqs:(s.support_chat_faqs||[]).map((q,Oe)=>({question:q.question.trim(),answer:q.answer.trim(),sort_order:Number.isFinite(q.sort_order)?q.sort_order:Oe,enabled:q.enabled!==!1})),support_chat_rag_enabled:s.support_chat_rag_enabled,support_chat_rag_doc_url:s.support_chat_rag_doc_url.trim(),support_chat_rag_doc_depth:Number(s.support_chat_rag_doc_depth)||1,support_chat_rag_doc_cron:s.support_chat_rag_doc_cron||"manual",support_chat_rag_embed_provider:s.support_chat_rag_embed_provider||"gemini",supp
12ort_chat_rag_embed_model:s.support_chat_rag_embed_model.trim(),support_chat_rag_top_k:Number(s.support_chat_rag_top_k)||5,support_chat_rag_chunk_size:Number(s.support_chat_rag_chunk_size)||1200,support_chat_rag_chunk_overlap:Number(s.support_chat_rag_chunk_overlap)||150,usage_show_long_context_badge:s.usage_show_long_context_badge,request_capture_enabled:s.request_capture_enabled,request_capture_quota_mib:s.request_capture_quota_mib,request_capture_retention_days:s.request_capture_retention_days,excel_bps_image_mode:s.excel_bps_image_mode,excel_bps_image_relay_enabled:s.excel_bps_image_relay_enabled,excel_bps_image_base_url:s.excel_bps_image_base_url.trim(),excel_bps_image_body_limit_mib:s.excel_bps_image_body_limit_mib,excel_bps_image_budget_mib:s.excel_bps_image_budget_mib,excel_bps_image_max_requests:s.excel_bps_image_max_requests,excel_bps_image_max_image_mib:s.excel_bps_image_max_image_mib,excel_bps_image_max_images:s.excel_bps_image_max_images,excel_bps_image_limit_policy:s.excel_bps_image_limit_policy,excel_bps_image_warning_remaining:s.excel_bps_image_warning_remaining,excel_bps_image_compact_reserve:s.excel_bps_image_compact_reserve,excel_bps_image_max_total_mib:s.excel_bps_image_max_total_mib,excel_bps_image_storage_mib:s.excel_bps_image_storage_mib,excel_bps_image_storage_entries:s.excel_bps_image_storage_entries,excel_bps_image_ttl_minutes:s.excel_bps_image_ttl_minutes};Zt.value&&(At.openai_fast_policy_settings={rules:ut.rules.map(q=>{const Oe=(q.model_whitelist||[]).map(Ma=>Ma.trim()).filter(Ma=>Ma!==""),Aa=Oe.length>0;return{service_tier:q.service_tier,action:q.action,scope:q.scope,user_ids:q.user_ids&&q.user_ids.length>0?[...q.user_ids]:void 0,error_message:q.action==="block"?q.error_message:void 0,model_whitelist:Aa?Oe:void 0,fallback_action:Aa?q.fallback_action||"pass":void 0,fallback_error_message:Aa&&q.fallback_action==="block"?q.fallback_error_message:void 0}})}),At.default_platform_quotas=Xo(s.default_platform_quotas),At.account_scheduling_thresholds=Zo(s.account_scheduling_thresholds),el(At,be);const Ue=await L.run(()=>O.settings.updateSettings(At));for(const[q,Oe]of Object.entries(Ue))q!=="openai_fast_policy_settings"&&Oe!=null&&(s[q]=Oe);Ue.openai_oauth_scheduling_rate_multiplier===null&&(s.openai_oauth_scheduling_rate_multiplier=null),Object.assign(be,Ha(Ue)),s.default_platform_quotas=La(Ue.default_platform_quotas),s.account_scheduling_thresholds=Fa(Ue.account_scheduling_thresholds),Y.value=en(Ue.registration_email_suffix_whitelist),s.forwarded_client_ip_headers=la(Ue.forwarded_client_ip_headers),j.value="",se.value=ys(Array.isArray(Ue.table_page_size_options)?Ue.table_page_size_options:[10,20,50,100]),ge.value="",s.smtp_password="",K.value=!1,s.turnstile_secret_key="",s.aliyun_captcha_access_key_secret="",s.linuxdo_connect_client_secret="",s.dingtalk_connect_client_secret="",s.github_oauth_client_secret="",s.google_oauth_client_secret="",s.wechat_connect_app_secret="",s.wechat_connect_open_app_secret="",s.wechat_connect_mp_app_secret="",s.wechat_connect_mobile_app_secret="";const ft=Ra(Ue.wechat_connect_open_enabled,Ue.wechat_connect_mp_enabled,Ue.wechat_connect_mobile_enabled,Ue.wechat_connect_mode);s.wechat_connect_open_enabled=ft.openEnabled,s.wechat_connect_mp_enabled=ft.mpEnabled,s.wechat_connect_mobile_enabled=ft.mobileEnabled,s.wechat_connect_mode=Nt(ft.openEnabled,ft.mpEnabled,ft.mobileEnabled,Ue.wechat_connect_mode),s.wechat_connect_scopes=Kt(s.wechat_connect_mode),s.oidc_connect_client_secret="",Ue.openai_fast_policy_settings&&Array.isArray(Ue.openai_fast_policy_settings.rules)&&(ut.rules=Ue.openai_fast_policy_settings.rules.map(q=>({...q,user_ids:q.user_ids?[...q.user_ids]:[],model_whitelist:q.model_whitelist?[...q.model_whitelist]:[]})),Zt.value=!0);const qo=await jn();await k.fetchPublicSettings(!0),await P.fetch(!0),qo&&k.showSuccess(t("admin.settings.settingsSaved"))}catch(Je){if(vt(Je))return;if(_n(Je)){k.showError(mn(Je)==="STEP_UP_ADMIN_API_KEY_FORBIDDEN"?t("stepUp.adminApiKeyForbidden"):t("stepUp.notEnabled"));return}if((Je==null?void 0:Je.reason)==="STEP_UP_ENABLE_REQUIRES_TOTP"){k.showError(t("admin.settings.security.stepUpEnableRequiresTotp"));return}k.showError(pe(Je,t("admin.settings.failedToSave")))}finally{D.value=!1}}async function Li(){Q.value=!0;try{const l=K.value?s.smtp_password:"",i=await O.settings.testSmtpConnection({smtp_host:s.smtp_host,smtp_port:s.smtp_port,smtp_username:s.smtp_username,smtp_password:l,smtp_use_tls:s.smtp_use_tls});k.showSuccess(i.message||t("admin.settings.smtpConnectionSuccess"))}catch(l){k.showError(pe(l,t("admin.settings.failedToTestSmtp")))}finally{Q.value=!1}}async function Hi(){if(!Z.value){k.showError(t("admin.settings.testEmail.enterRecipientHint"));return}z.value=!0;try{const l=K.value?s.smtp_password:"",i=await O.settings.sendTestEmail({email:Z.value,smtp_host:s.smtp_host,smtp_port:s.smtp_port,smtp_username:s.smtp_username,smtp_password:l,smtp_from_email:s.smtp_from_email,smtp_from_name:s.smtp_from_name,smtp_use_tls:s.smtp_use_tls});k.showSuccess(i.message||t("admin.settings.testEmailSent"))}catch(l){k.showError(pe(l,t("admin.settings.failedToSendTestEmail")))}finally{z.value=!1}}async function Ii(){ne.value=!0;try{const l=await O.settings.getAdminApiKey();Fe.value=l.exists,ve.value=l.masked_key}catch{}finally{ne.value=!1}}async function Us(){he.value=!0;try{const l=await O.settings.regenerateAdminApiKey();Le.value=l.key,Fe.value=!0,ve.value=l.key.substring(0,10)+"..."+l.key.slice(-4),k.showSuccess(t("admin.settings.adminApiKey.keyGenerated"))}catch(l){k.showError(pe(l,t("common.error")))}finally{he.value=!1}}async function Ri(){confirm(t("admin.settings.adminApiKey.regenerateConfirm"))&&await Us()}async function Bi(){if(confirm(t("admin.settings.adminApiKey.deleteConfirm"))){he.value=!0;try{await O.settings.deleteAdminApiKey(),Fe.value=!1,ve.value="",Le.value="",k.showSuccess(t("admin.settings.adminApiKey.keyDeleted"))}catch(l){k.showError(pe(l,t("common.error")))}finally{he.value=!1}}}function ji(){navigator.clipboard.writeText(Le.value).then(()=>{k.showSuccess(t("admin.settings.adminApiKey.keyCopied"))}).catch(()=>{k.showError(t("common.copyFailed"))})}async function Di(){Ze.value=!0;try{Object.assign(Ee,await O.accounts.getUpstreamBillingProbeSettings())}catch{}finally{Ze.value=!1}}async function Ss(){et.value=!0;try{const l=await O.accounts.updateUpstreamBillingProbeSettings({...Ee});Object.assign(Ee,l),k.showSuccess(t("admin.settings.upstreamBillingProbe.saved"))}catch(l){k.showError(pe(l,t("admin.settings.upstreamBillingProbe.saveFailed")))}finally{et.value=!1}}async function Oi(){Be.value=!0;try{Object.assign(Te,await O.accounts.getOllamaCloudUsageSettings())}catch{}finally{Be.value=!1}}async function ba(){tt.value=!0;try{const l=await O.accounts.updateOllamaCloudUsageSettings({...Te});Object.assign(Te,l),k.showSuccess(t("admin.settings.ollamaCloudUsage.saved"))}catch(l){k.showError(pe(l,t("admin.settings.ollamaCloudUsage.saveFailed")))}finally{tt.value=!1}}async function zi(){ot.value=!0;try{Object.assign(we,await O.accounts.getOpenCodeGoUsageSettings())}catch{}finally{ot.value=!1}}async function xa(){Ke.value=!0;try{const l=await O.accounts.updateOpenCodeGoUsageSettings({...we});Object.assign(we,l),k.showSuccess(t("admin.settings.opencodeGoUsage.saved"))}catch(l){k.showError(pe(l,t("admin.settings.opencodeGoUsage.saveFailed")))}finally{Ke.value=!1}}async function qi(){je.value=!0;try{const l=await O.settings.getOverloadCooldownSettings();Object.assign(b,l)}catch{}finally{je.value=!1}}async function Ni(){at.value=!0;try{const l=await O.settings.updateOverloadCooldownSettings({enabled:b.enabled,cooldown_minutes:b.cooldown_minutes});Object.assign(b,l),k.showSuccess(t("admin.settings.overloadCooldown.saved"))}catch(l){k.showError(pe(l,t("admin.settings.overloadCooldown.saveFailed")))}finally{at.value=!1}}async function Ki(){ie.value=!0;try{const l=await O.settings.getPanelRateLimitSettings();Object.assign(fe,l)}catch{}finally{ie.value=!1}}async function Wi(){Ve.value=!0;try{const l=await O.settings.updatePanelRateLimitSettings({enabled:fe.enabled,user_rpm:fe.user_rpm,heavy_rpm:fe.heavy_rpm,exempt_admin:fe.exempt_admin,public_ip_rpm:fe.public_ip_rpm});Object.assign(fe,l),k.showSuccess(t("admin.settings.panelRateLimit.saved"))}catch(l){k.showError(pe(l,t("admin.settings.panelRateLimit.saveFailed")))}finally{Ve.value=!1}}async function Gi(){y.value=!0;try{const l=await O.settings.getRateLimit429CooldownSettings();Object.assign(F,l)}catch{}finally{y.value=!1}}async function Qi(){V.value=!0;try{const l=await O.settings.updateRateLimit429CooldownSettings({enabled:F.enabled,cooldown_seconds:F.cooldown_seconds});Object.assign(F,l),k.showSuccess(t("admin.settings.rateLimit429Cooldown.saved"))}catch(l){k.showError(pe(l,t("admin.settings.rateLimit429Cooldown.saveFailed")))}finally{V.value=!1}}async function Yi(){$.value=!0;try{const l=await O.settings.getStreamTimeoutSettings();Object.assign(v,l)}catch{}finally{$.value=!1}}async function Ji(){C.value=!0;try{const l=await O.settings.updateStreamTimeoutSettings({enabled:v.enabled,action:v.action,temp_unsched_minutes:v.temp_unsched_minutes,threshold_count:v.threshold_count,threshold_window_minutes:v.threshold_window_minutes});Object.assign(v,l),k.showSuccess(t("admin.settings.streamTimeout.saved"))}catch(l){k.showError(pe(l,t("admin.settings.streamTimeout.saveFailed")))}finally{C.value=!1}}async function Xi(){re.value=!0;try{const l=await O.settings.getRectifierSettings();Object.assign(_e,l),Array.isArray(_e.apikey_signature_patterns)||(_e.apikey_signature_patterns=[])}catch{}finally{re.value=!1}}async function Zi(){xe.value=!0;try{const l=await O.settings.updateRectifierSettings({enabled:_e.enabled,thinking_signature_enabled:_e.thinking_signature_enabled,thinking_budget_enabled:_e.thinking_budget_enabled,apikey_signature_enabled:_e.apikey_signature_enabled,apikey_signature_patterns:_e.apikey_signature_patterns.filter(i=>i.trim()!=="")});Object.assign(_e,l),Array.isArray(_e.apikey_signature_patterns)||(_e.apikey_signature_patterns=[]),k.showSuccess(t("admin.settings.rectifier.saved"))}catch(l){k.showError(pe(l,t("admin.settings.rectifier.saveFailed")))}finally{xe.value=!1}}const $s=B(()=>[{value:"pass",label:t("admin.settings.betaPolicy.actionPass")},{value:"filter",label:t("admin.settings.betaPolicy.actionFilter")},{value:"block",label:t("admin.settings.betaPolicy.actionBlock")}]),eo=B(()=>[{value:"all",label:t("admin.settings.betaPolicy.scopeAll")},{value:"oauth",label:t("admin.settings.betaPolicy.scopeOAuth")},{value:"apikey",label:t("admin.settings.betaPolicy.scopeAPIKey")},{value:"bedrock",label:t("admin.settings.betaPolicy.scopeBedrock")}
12]),to={"fast-mode-2026-02-01":"Fast Mode","context-1m-2025-08-07":"Context 1M"},Ps={"context-1m-2025-08-07":[{label:t("admin.settings.betaPolicy.presetOpusOnly"),description:t("admin.settings.betaPolicy.presetOpusOnlyDesc"),action:"pass",model_whitelist:["claude-opus-4-6"],fallback_action:"filter"}]},ao=["claude-opus-4-6","claude-sonnet-4-6","claude-opus-*","claude-sonnet-*"];function so(l){return to[l]||l}function no(l,i){l.action=i.action,l.model_whitelist=[...i.model_whitelist],l.fallback_action=i.fallback_action}function io(l,i){l.model_whitelist||(l.model_whitelist=[]),l.model_whitelist.includes(i)||l.model_whitelist.push(i)}async function oo(){Ut.value=!0;try{const l=await O.settings.getBetaPolicySettings();It.rules=l.rules}catch{}finally{Ut.value=!1}}const lo=B(()=>[{value:"all",label:t("admin.settings.openaiFastPolicy.tierAll")},{value:"priority",label:t("admin.settings.openaiFastPolicy.tierPriority")},{value:"ultrafast",label:t("admin.settings.openaiFastPolicy.tierUltrafast")},{value:"flex",label:t("admin.settings.openaiFastPolicy.tierFlex")},{value:"missing",label:t("admin.settings.openaiFastPolicy.tierMissing")}]),Es=B(()=>[{value:"pass",label:t("admin.settings.openaiFastPolicy.actionPass")},{value:"filter",label:t("admin.settings.openaiFastPolicy.actionFilter")},{value:"force_priority",label:t("admin.settings.openaiFastPolicy.actionForcePriority")},{value:"block",label:t("admin.settings.openaiFastPolicy.actionBlock")}]);function Ts(l){return t(`admin.settings.openaiFastPolicy.summaryAction.${l}`)}function ha(l){var i;return!!((i=l.model_whitelist)!=null&&i.some(p=>p.trim()!==""))}const ro=B(()=>[{value:"all",label:t("admin.settings.openaiFastPolicy.scopeAll")},{value:"oauth",label:t("admin.settings.openaiFastPolicy.scopeOAuth")},{value:"apikey",label:t("admin.settings.openaiFastPolicy.scopeAPIKey")},{value:"bedrock",label:t("admin.settings.openaiFastPolicy.scopeBedrock")}]);function co(){ut.rules.push({service_tier:"priority",action:"filter",scope:"all",user_ids:[],error_message:"",model_whitelist:[],fallback_action:"pass",fallback_error_message:""})}function uo(l){ut.rules.splice(l,1)}function _o(l){l.model_whitelist||(l.model_whitelist=[]),l.model_whitelist.push("")}function mo(l,i){var p;(p=l.model_whitelist)==null||p.splice(i,1)}async function po(){St.value=!0;try{const l=It.rules.map(p=>{var _;const o=(_=p.model_whitelist)==null?void 0:_.filter(G=>G.trim()!==""),m=o&&o.length>0;return{beta_token:p.beta_token,action:p.action,scope:p.scope,error_message:p.error_message,model_whitelist:m?o:void 0,fallback_action:m?p.fallback_action||"pass":void 0,fallback_error_message:m&&p.fallback_action==="block"?p.fallback_error_message:void 0}}),i=await O.settings.updateBetaPolicySettings({rules:l});It.rules=i.rules,k.showSuccess(t("admin.settings.betaPolicy.saved"))}catch(l){k.showError(pe(l,t("admin.settings.betaPolicy.saveFailed")))}finally{St.value=!1}}const fa=B(()=>[{value:"easypay",label:t("payment.methods.easypay")},{value:"alipay",label:t("payment.methods.alipay")},{value:"wxpay",label:t("payment.methods.wxpay")},{value:"stripe",label:t("payment.methods.stripe")},{value:"airwallex",label:t("payment.methods.airwallex")}]);function go(l){return s.payment_enabled_types.includes(l)}const yo=B(()=>s.payment_enabled_types.length>0);function bo(l){s.payment_enabled_types.includes(l)?(s.payment_enabled_types=s.payment_enabled_types.filter(i=>i!==l),xo(l)):s.payment_enabled_types=[...s.payment_enabled_types,l]}async function xo(l){const i=Dt.value.filter(p=>p.provider_key===l&&p.enabled);for(const p of i)try{await O.payment.updateProvider(p.id,{enabled:!1}),p.enabled=!1}catch(o){ho("disable provider failed",p.id,o)}}function ho(...l){console.warn("[payment]",...l)}const ka=U(!1),va=U(!1),Dt=U([]),Tt=U(!1),Ot=U(!1),it=U(null),wa=U(null),Ca=U(null),As=B(()=>[{value:"easypay",label:t("admin.settings.payment.providerEasypay")},{value:"alipay",label:t("admin.settings.payment.providerAlipay")},{value:"wxpay",label:t("admin.settings.payment.providerWxpay")},{value:"stripe",label:t("admin.settings.payment.providerStripe")},{value:"airwallex",label:t("admin.settings.payment.providerAirwallex")}]),Ms=B(()=>{const l=s.payment_enabled_types;return As.value.filter(i=>l.includes(i.value))}),fo=B(()=>[{value:"round-robin",label:t("admin.settings.payment.strategyRoundRobin")},{value:"least-amount",label:t("admin.settings.payment.strategyLeastAmount")}]),ko=B(()=>[{value:"minute",label:t("admin.settings.payment.cancelRateLimitUnitMinute")},{value:"hour",label:t("admin.settings.payment.cancelRateLimitUnitHour")},{value:"day",label:t("admin.settings.payment.cancelRateLimitUnitDay")}]),vo=B(()=>[{value:"rolling",label:t("admin.settings.payment.cancelRateLimitWindowModeRolling")},{value:"fixed",label:t("admin.settings.payment.cancelRateLimitWindowModeFixed")}]);function Fs(l){if(!l.enabled)return[];
12const i=Array.isArray(l.supported_types)?l.supported_types:[],p=new Set,o=m=>{const _=ja(m);(_==="alipay"||_==="wxpay")&&p.add(_)};return l.provider_key==="alipay"?i.length===0?p.add("alipay"):i.forEach(m=>{ja(m)==="alipay"&&p.add("alipay")}):l.provider_key==="wxpay"?i.length===0?p.add("wxpay"):i.forEach(m=>{ja(m)==="wxpay"&&p.add("wxpay")}):l.provider_key==="easypay"&&i.forEach(o),Array.from(p)}function Va(l){const i=Fs(l);if(i.length===0)return null;for(const p of Dt.value){if(p.id===l.id||!p.enabled)continue;const o=Fs(p),m=i.find(_=>o.includes(_));if(m)return{method:m,conflicting:p}}return null}function Ua(l){k.showError(t("admin.settings.payment.enableConflict",{method:t(`payment.methods.${l.method}`),provider:l.conflicting.name}))}async function rt(){ka.value=!0;try{const l=await O.payment.getProviders();Dt.value=(l.data||[]).map(i=>({...i,supported_types:Array.isArray(i.supported_types)?i.supported_types:[]}))}catch(l){k.showError(kt(l,t,"payment.errors",t("common.error")))}finally{ka.value=!1}}function wo(){var l,i;it.value=null,(i=Ca.value)==null||i.reset(((l=Ms.value[0])==null?void 0:l.value)||"easypay"),Tt.value=!0}function Co(l){var i;it.value=l,(i=Ca.value)==null||i.loadProvider(l),Tt.value=!0}async function Vo(l){var i,p,o,m,_;va.value=!0;try{const G={id:((i=it.value)==null?void 0:i.id)??0,provider_key:l.provider_key??((p=it.value)==null?void 0:p.provider_key)??"",supported_types:l.supported_types??((o=it.value)==null?void 0:o.supported_types)??[],enabled:l.enabled??((m=it.value)==null?void 0:m.enabled)??!1,name:l.name??((_=it.value)==null?void 0:_.name)??""},Ce=Va(G);if(Ce){Ua(Ce);return}it.value?await O.payment.updateProvider(it.value.id,l):await O.payment.createProvider(l),Tt.value=!1,await rt(),await Vs()}catch(G){k.showError(kt(G,t,"payment.errors",t("common.error")))}finally{va.value=!1}}async function Uo(l,i){let p;if(i==="enabled"?p=!l.enabled:i==="refund_enabled"?p=!l.refund_enabled:p=!l.allow_user_refund,i==="enabled"&&p){const m=Va({id:l.id,provider_key:l.provider_key,supported_types:l.supported_types,enabled:!0,name:l.name});if(m){Ua(m);return}}const o={[i]:p};i==="refund_enabled"&&!p&&(o.allow_user_refund=!1);try{await O.payment.updateProvider(l.id,o),await rt()}catch(m){k.showError(kt(m,t,"payment.errors",t("common.error")))}}async function So(l,i){const p=Array.isArray(l.supported_types)?l.supported_types:[],o=p.includes(i)?p.filter(_=>_!==i):[...p,i],m=Va({id:l.id,provider_key:l.provider_key,supported_types:o,enabled:l.enabled,name:l.name});if(m){Ua(m);return}try{await O.payment.updateProvider(l.id,{supported_types:o}),await rt()}catch(_){k.showError(kt(_,t,"payment.errors",t("common.error")))}}function $o(l){wa.value=l.id,Ot.value=!0}async function Po(l){try{await Promise.all(l.map(i=>O.payment.updateProvider(i.id,{sort_order:i.sort_order}))),await rt()}catch(i){k.showError(kt(i,t,"payment.errors",t("common.error"))),rt()}}async function Eo(){if(wa.value)try{await O.payment.deleteProvider(wa.value),k.showSuccess(t("common.deleted")),Ot.value=!1,rt()}catch(l){k.showError(kt(l,t,"payment.errors",t("common.error")))}}ct(()=>{Si(),$i(),Ii(),Di(),Oi(),zi(),qi(),Gi(),Ki(),Yi(),Xi(),oo(),rt()});const ae=ye({loading:!1,entries:[],total:0,page:1,pageSize:20,search:"",selected:[],searchTimer:null}),W=ye({open:!1,mode:"add",saving:!1,userQuery:"",userResults:[],selectedUser:null,editingEntry:null,code:"",rate:"",searchTimer:null}),We=ye({open:!1,saving:!1,rate:""}),De=ye({show:!1,title:"",message:"",confirmText:"",pending:null});function To(l,i,p,o){De.title=l,De.message=i,De.confirmText=p,De.pending=o,De.show=!0}async function Ao(){const l=De.pending;if(De.show=!1,De.pending=null,!!l)try{await l(),k.showSuccess(t("common.saved")),await xt()}catch(i){k.showError(pe(i,t("common.error")))}}function Mo(){De.show=!1,De.pending=null}function Ls(l,i,p){l.searchTimer!=null&&window.clearTimeout(l.searchTimer),l.searchTimer=window.setTimeout(p,i)}function Hs(l){const i=String(l??"").trim();if(i==="")return null;const p=Number(i);if(Number.isNaN(p)||p<0||p>100){k.showError(t("admin.settings.features.affiliate.modal.errorBadRate"));return}return p}
12async function xt(){ae.loading=!0;try{const l=await Mt.listUsers({page:ae.page,page_size:ae.pageSize,search:ae.search});ae.entries=l.items??[],ae.total=l.total??0;const i=new Set(ae.entries.map(p=>p.user_id));ae.selected=ae.selected.filter(p=>i.has(p))}catch(l){k.showError(pe(l,t("common.error")))}finally{ae.loading=!1}}function Fo(){Ls(ae,300,()=>{ae.page=1,xt()})}function Is(l){l<1||(ae.page=l,xt())}function Lo(l){const i=l.target.checked;ae.selected=i?ae.entries.map(p=>p.user_id):[]}function Ho(l){const i=ae.selected.indexOf(l);i>=0?ae.selected.splice(i,1):ae.selected.push(l)}function Rs(l){W.open=!0,W.mode=l?"edit":"add",W.userQuery="",W.userResults=[],W.selectedUser=null,W.editingEntry=l,W.code=l!=null&&l.aff_code_custom?l.aff_code:"",W.rate=(l==null?void 0:l.aff_rebate_rate_percent)!=null?String(l.aff_rebate_rate_percent):""}function Sa(){W.open=!1,W.searchTimer!=null&&(window.clearTimeout(W.searchTimer),W.searchTimer=null)}function Io(){const l=W.userQuery.trim();if(!l){W.userResults=[];return}Ls(W,300,async()=>{try{W.userResults=await Mt.lookupUsers(l)}catch(i){k.showError(pe(i,t("common.error")))}})}function Ro(l){W.selectedUser=l,W.userQuery="",W.userResults=[]}function Bo(){W.selectedUser=null}const $a=B(()=>{var p;if(W.mode==="add"){if(!W.selectedUser)return!1}else if(!W.editingEntry)return!1;const l=W.code.trim()!=="",i=String(W.rate??"").trim()!=="";return l||i?!0:W.mode==="edit"&&((p=W.editingEntry)==null?void 0:p.aff_rebate_rate_percent)!=null});async function jo(){var m;if(!$a.value){k.showError(t("admin.settings.features.affiliate.modal.errorEmpty"));return}let l;W.mode==="add"?l=W.selectedUser.id:l=W.editingEntry.user_id;const i={},p=W.code.trim();p&&(i.aff_code=p.toUpperCase());const o=Hs(W.rate);if(o!==void 0){o===null?W.mode==="edit"&&((m=W.editingEntry)==null?void 0:m.aff_rebate_rate_percent)!=null&&(i.clear_rebate_rate=!0):i.aff_rebate_rate_percent=o,W.saving=!0;try{await Mt.updateUserSettings(l,i),k.showSuccess(t("common.saved")),Sa(),ae.page=1,await xt()}catch(_){k.showError(pe(_,t("common.error")))}finally{W.saving=!1}}}function Do(l){To(t("admin.settings.features.affiliate.customUsers.resetTitle"),t("admin.settings.features.affiliate.customUsers.resetMessage",{email:l.email||`#${l.user_id}`}),t("common.delete"),()=>Mt.clearUserSettings(l.user_id))}function Oo(){ae.selected.length!==0&&(We.open=!0,We.rate="")}async function zo(){const l=Hs(We.rate);if(l===void 0)return;const i=[...ae.selected],p=l===null?{user_ids:i,clear:!0}:{user_ids:i,aff_rebate_rate_percent:l};We.saving=!0;try{await Mt.batchSetRate(p),k.showSuccess(t("common.saved")),We.open=!1,ae.selected=[],await xt()}catch(o){k.showError(pe(o,t("common.error")))}finally{We.saving=!1}}return pt(()=>s.affiliate_enabled,(l,i)=>{l&&!i&&xt()}),pt(()=>s.dingtalk_connect_corp_restriction_policy,l=>{l!=="internal_only"&&(s.dingtalk_connect_bypass_registration&&(s.dingtalk_connect_bypass_registration=!1),s.dingtalk_connect_sync_corp_email&&(s.dingtalk_connect_sync_corp_email=!1),s.dingtalk_connect_sync_display_name&&(s.dingtalk_connect_sync_display_name=!1),s.dingtalk_connect_sync_dept&&(s.dingtalk_connect_sync_dept=!1))}),(l,i)=>{const p=ln("router-link");return r(),Xe(ll,null,{default:$e(()=>[e("div",Ig,[ce.value?(r(),d("div",Rg,[...i[325]||(i[325]=[e("div",{class:"h-8 w-8 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)])])):(r(),d("form",{key:1,onSubmit:Me(Vs,["prevent"]),class:"space-y-6",novalidate:""},[e("div",Bg,[e("nav",{class:"settings-tabs-scroll",role:"tablist","aria-label":a(t)("admin.settings.title")},[e("div",Dg,[(r(),d(R,null,N(A,o=>e("button",{key:o.key,id:`settings-tab-${o.key}`,type:"button",role:"tab","aria-selected":S.value===o.key,tabindex:S.value===o.key?0:-1,class:X(["settings-tab",S.value===o.key&&"settings-tab-active"]),onClick:m=>J(o.key),onKeydown:m=>te(m,o.key)},[e("span",zg,[g(de,{name:o.icon,size:"sm"},null,8,["name"])]),e("span",qg,n(a(t)(`admin.settings.tabs.${o.key}`)),1)],42,Og)),64))])],8,jg)]),c(e("div",Ng,[e("div",Kg,[e("div",Wg,[e("h2",Gg,n(a(t)("admin.settings.adminApiKey.title")),1),e("p",Qg,
12n(a(t)("admin.settings.adminApiKey.description")),1)]),e("div",Yg,[e("div",Jg,[e("div",Xg,[g(de,{name:"exclamationTriangle",size:"md",class:"mt-0.5 flex-shrink-0 text-amber-500"}),e("p",Zg,n(a(t)("admin.settings.adminApiKey.securityWarning")),1)])]),ne.value?(r(),d("div",e0,[i[326]||(i[326]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),I(" "+n(a(t)("common.loading")),1)])):Fe.value?(r(),d("div",i0,[e("div",o0,[e("div",null,[e("label",l0,n(a(t)("admin.settings.adminApiKey.currentKey")),1),e("code",r0,n(ve.value),1)]),e("div",d0,[e("button",{type:"button",onClick:Ri,disabled:he.value,class:"btn btn-secondary btn-sm"},n(he.value?a(t)("admin.settings.adminApiKey.regenerating"):a(t)("admin.settings.adminApiKey.regenerate")),9,c0),e("button",{type:"button",onClick:Bi,disabled:he.value,class:"btn btn-secondary btn-sm text-red-600 hover:text-red-700 dark:text-red-400"},n(a(t)("admin.settings.adminApiKey.delete")),9,u0)])]),Le.value?(r(),d("div",_0,[e("p",m0,n(a(t)("admin.settings.adminApiKey.keyWarning")),1),e("div",p0,[e("code",g0,n(Le.value),1),e("button",{type:"button",onClick:ji,class:"btn btn-primary btn-sm flex-shrink-0"},n(a(t)("admin.settings.adminApiKey.copyKey")),1)]),e("p",y0,n(a(t)("admin.settings.adminApiKey.usage")),1)])):h("",!0)])):(r(),d("div",t0,[e("span",a0,n(a(t)("admin.settings.adminApiKey.notConfigured")),1),e("button",{type:"button",onClick:Us,disabled:he.value,class:"btn btn-primary btn-sm"},[he.value?(r(),d("svg",n0,[...i[327]||(i[327]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):h("",!0),I(" "+n(he.value?a(t)("admin.settings.adminApiKey.creating"):a(t)("admin.settings.adminApiKey.create")),1)],8,s0)]))])])],512),[[Se,S.value==="security"]]),c(e("div",b0,[e("div",x0,[e("div",h0,[e("h2",f0,n(a(t)("admin.settings.overloadCooldown.title")),1),e("p",k0,n(a(t)("admin.settings.overloadCooldown.description")),1)]),e("div",v0,[je.value?(r(),d("div",w0,[i[328]||(i[328]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),I(" "+n(a(t)("common.loading")),1)])):(r(),d(R,{key:1},[e("div",C0,[e("div",null,[e("label",V0,n(a(t)("admin.settings.overloadCooldown.enabled")),1),e("p",U0,n(a(t)("admin.settings.overloadCooldown.enabledHint")),1)]),g(T,{modelValue:b.enabled,"onUpdate:modelValue":i[0]||(i[0]=o=>b.enabled=o)},null,8,["modelValue"])]),b.enabled?(r(),d("div",S0,[e("div",null,[e("label",$0,n(a(t)("admin.settings.overloadCooldown.cooldownMinutes")),1),c(e("input",{"onUpdate:modelValue":i[1]||(i[1]=o=>b.cooldown_minutes=o),type:"number",min:"1",max:"120",class:"input w-32"},null,512),[[u,b.cooldown_minutes,void 0,{number:!0}]]),e("p",P0,n(a(t)("admin.settings.overloadCooldown.cooldownMinutesHint")),1)])])):h("",!0),e("div",E0,[e("button",{type:"button",onClick:Ni,disabled:at.value,class:"btn btn-primary btn-sm"},[at.value?(r(),d("svg",A0,[...i[329]||(i[329]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):h("",!0),I(" "+n(at.value?a(t)("common.saving"):a(t)("common.save")),1)],8,T0)])],64))])]),e("div",M0,[e("div",F0,[e("h2",L0,n(a(t)("admin.settings.rateLimit429Cooldown.title")),1),e("p",H0,n(a(t)("admin.settings.rateLimit429Cooldown.description")),1)]),e("div",I0,[y.value?(r(),d("div",R0,[i[330]||(i[330]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),I(" "+n(a(t)("common.loading")),1)])):(r(),d(R,{key:1},[e("div",B0,[e("div",null,[e("label",j0,n(a(t)("admin.settings.rateLimit429Cooldown.enabled")),1),e("p",D0,n(a(t)("admin.settings.rateLimit429Cooldown.enabledHint")),1)]),g(T,{modelValue:F.enabled,"onUpdate:modelValue":i[2]||(i[2]=o=>F.enabled=o)},null,8,["modelValue"])]),F.enabled?(r(),d("div",O0,[e("div",null,[e("label",z0,n(a(t)("admin.settings.rateLimit429Cooldown.cooldownSeconds")),1),c(e("input",{"onUpdate:modelValue":i[3]||(i[3]=o=>F.cooldown_seconds=o),type:"number",min:"1",max:"7200",class:"input w-32"},null,512),[[u,F.cooldown_seconds,void 0,{number:!0}]]),e("p",q0,n(a(t)("admin.settings.rateLimit429Cooldown.cooldownSecondsHint")),1)])])):h("",!0),e("div",N0,[e("button",{type:"button",onClick:Qi,disabled:V.value,class:"btn btn-primary btn-sm"},[V.value?(r(),d("svg",W0,[...i[331]||(i[331]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):h("",!0),I(" "+n(V.value?a(t)("common.saving"):a(t)("common.save")),1)],8,K0)])],64))])]),e("div",G0,[e("div",Q0,[e("h2",Y0,n(a(t)("admin.settings.streamTimeout.title")),1),e("p",J0,n(a(t)("admin.settings.streamTimeout.description")),1)]),e("div",X0,[$.value?(r(),d("div",Z0,[i[332]||(i[332]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),I(" "+n(a(t)("common.loading")),1)])):(r(),d(R,{key:1},[e("div",ey,[e("div",null,[e("label",ty,n(a(t)("admin.settings.streamTimeout.enabled")),1),e("p",ay,n(a(t)("admin.settings.streamTimeout.enabledHint")),1)]),g(T,{modelValue:v.enabled,"onUpdate:modelValue":i[4]||(i[4]=o=>v.enabled=o)},null,8,["modelValue"])]),v.enabled?(r(),d("div",sy,[e("div",null,[e("label",ny,n(a(t)("admin.settings.streamTimeout.action")),1),c(e("select",{"onUpdate:modelValue":i[5]||(i[5]=o=>v.action=o),class:"input w-64"},[e("option",iy,n(a(t)("admin.settings.streamTimeout.actionTempUnsched")),1),e("option",oy,n(a(t)("admin.settings.streamTimeout.actionError")),1),e("option",ly,n(a(t)("admin.settings.streamTimeout.actionNone")),1)],512),[[Ie,v.action]]),e("p",ry,n(a(t)("admin.settings.streamTimeout.actionHint")),1)]),v.action==="temp_unsched"?(r(),d("div",dy,[e("label",cy,n(a(t)("admin.settings.streamTimeout.tempUnschedMinutes")),1),c(e("input",{"onUpdate:modelValue":i[6]||(i[6]=o=>v.temp_unsched_minutes=o),type:"number",min:"1",max:"60",class:"input w-32"},null,512),[[u,v.temp_unsched_minutes,void 0,{number:!0}]]),e("p",uy,n(a(t)("admin.settings.streamTimeout.tempUnschedMinutesHint")),1)])):h("",!0),e("div",null,[e("label",_y,n(a(t)("admin.settings.streamTimeout.thresholdCount")),1),c(e("input",{"onUpdate:modelValue":i[7]||(i[7]=o=>v.threshold_count=o),type:"number",min:"1",max:"10",class:"input w-32"},null,512),[[u,v.threshold_count,void 0,{number:!0}]]),e("p",my,n(a(t)("admin.settings.streamTimeout.thresholdCountHint")),1)]),e("div",null,[e("label",py,n(a(t)("admin.settings.streamTimeout.thresholdWindowMinutes")),1),c(e("input",{"onUpdate:modelValue":i[8]||(i[8]=o=>v.threshold_window_minutes=o),type:"number",min:"1",max:"60",class:"input w-32"},null,512),[[u,v.threshold_window_minutes,void 0,{number:!0}]]),e("p",gy,n(a(t)("admin.settings.streamTimeout.thresholdWindowMinutesHint")),1)])])):h("",!0),e("div",yy,[e("button",{type:"button",onClick:Ji,disabled:C.value,class:"btn btn-primary btn-sm"},[C.value?(r(),d("svg",xy,[...i[333]||(i[333]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):h("",!0),I(" "+n(C.value?a(t)("common.saving"):a(t)("common.save")),1)],8,by)])],64))])]),e("div",hy,[e("div",fy,[e("h2",ky,n(a(t)("admin.settings.rectifier.title")),1),e("p",vy,n(a(t)("admin.settings.rectifier.description")),1)]),e("div",wy,[re.value?(r(),d("div",Cy,[i[334]||(i[334]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),I(" "+n(a(t)("common.loading")),1)])):(r(),d(R,{key:1},[e("div",Vy,[e("div",null,[e("label",Uy,n(a(t)("admin.settings.rectifier.enabled")),1),e("p",Sy,n(a(t)("admin.settings.rectifier.enabledHint")),1)]),g(T,{modelValue:_e.enabled,"onUpdate:modelValue":i[9]||(i[9]=o=>_e.enabled=o)},null,8,["modelValue"])]),_e.enabled?(r(),d("div",$y,[e("div",Py,[e("div",null,[e("label",Ey,n(a(t)("admin.settings.rectifier.thinkingSignature")),1),e("p",Ty,n(a(t)("admin.settings.rectifier.thinkingSignatureHint")),1)]),g(T,{modelValue:_e.thinking_signature_enabled,"onUpdate:modelValue":i[10]||(i[10]=o=>_e.thinking_signature_enabled=o)},null,8,["modelValue"])]),e("div",Ay,[e("div",null,[e("label",My,n(a(t)("admin.settings.rectifier.thinkingBudget")),1),e("p",Fy,n(a(t)("admin.settings.rectifier.thinkingBudgetHint")),1)]),g(T,{modelValue:_e.thinking_budget_enabled,"onUpdate:modelValue":i[11]||(i[11]=o=>_e.thinking_budget_enabled=o)},null,8,["modelValue"])]),e("div",Ly,[e("div",null,[e("label",Hy,n(a(t)("admin.settings.rectifier.apikeySignature")),1),e("p",Iy,n(a(t)("admin.settings.rectifier.apikeySignatureHint")),1)]),g(T,{modelValue:_e.apikey_signature_enabled,"onUpdate:modelValue":i[12]||(i[12]=o=>_e.apikey_signature_enabled=o)},null,8,["modelValue"])]),_e.apikey_signature_enabled?(r(),d("div",Ry,[e("div",null,[e("label",By,n(a(t)("admin.settings.rectifier.apikeyPatterns")),1),e("p",jy,n(a(t)("admin.settings.rectifier.apikeyPatternsHint")),1)]),(r(!0),d(R,null,N(_e.apikey_signature_patterns,(o,m)=>(r(),d("div",{key:m,class:"flex items-center gap-2"},[c(e("input",{"onUpdate:modelValue":_=>_e.apikey_signature_patterns[m]=_,type:"text",class:"input input-sm flex-1",placeholder:a(t)("admin.settings.rectifier.apikeyPatternPlaceholder")},null,8,Dy),[[u,_e.apikey_signature_patterns[m]]]),e("button",{type:"button",onClick:_=>_e.apikey_signature_patterns.splice(m,1),class:"btn btn-ghost btn-xs text-red-500 hover:text-red-700"},[...i[335]||(i[335]=[e("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])],8,Oy)]))),128)),e("button",{type:"button",onClick:i[13]||(i[13]=o=>_e.apikey_signature_patterns.push("")),class:"btn btn-ghost btn-xs text-primary-600 dark:text-primary-400"}," + "+n(a(t)("admin.settings.rectifier.addPattern")),1)])):h("",!0)])):h("",!0),e("div",zy,[e("button",{type:"button",onClick:Zi,disabled:xe.value,class:"btn btn-primary btn-sm"},[xe.value?(r(),d("svg",Ny,[...i[336]||(i[336]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):h("",!0),I(" "+n(xe.value?a(t)("common.saving"):a(t)("common.save")),1)],8,qy)])],64))])]),e("div",Ky,[e("div",Wy,[e("h2",Gy,n(a(t)("admin.settings.betaPolicy.title")),1),e("p",Qy,n(a(t)("admin.settings.betaPolicy.description")),1)]),e("div",Yy,[Ut.value?(r(),d("div",Jy,[i[337]||(i[337]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),I(" "+n(a(t)("common.loading")),1)])):(r(),d(R,{key:1},[(r(!0),d(R,null,N(It.rules,o=>{var m;return r(),d("div",{key:o.beta_token,class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},[e("div",Xy,[e("span",Zy,n(so(o.beta_token)),1),e("span",eb,n(o.beta_token),1)]),e("div",tb,[e
12("div",null,[e("label",ab,n(a(t)("admin.settings.betaPolicy.action")),1),g(ke,{modelValue:o.action,"onUpdate:modelValue":_=>o.action=_,options:$s.value},null,8,["modelValue","onUpdate:modelValue","options"])]),e("div",null,[e("label",sb,n(a(t)("admin.settings.betaPolicy.scope")),1),g(ke,{modelValue:o.scope,"onUpdate:modelValue":_=>o.scope=_,options:eo.value},null,8,["modelValue","onUpdate:modelValue","options"])])]),o.action==="block"?(r(),d("div",nb,[e("label",ib,n(a(t)("admin.settings.betaPolicy.errorMessage")),1),c(e("input",{"onUpdate:modelValue":_=>o.error_message=_,type:"text",class:"input",placeholder:a(t)("admin.settings.betaPolicy.errorMessagePlaceholder")},null,8,ob),[[u,o.error_message]]),e("p",lb,n(a(t)("admin.settings.betaPolicy.errorMessageHint")),1)])):h("",!0),(m=Ps[o.beta_token])!=null&&m.length?(r(),d("div",rb,[e("label",db,n(a(t)("admin.settings.betaPolicy.quickPresets")),1),e("div",cb,[(r(!0),d(R,null,N(Ps[o.beta_token],_=>(r(),d("button",{key:_.label,type:"button",class:"inline-flex items-center gap-1 rounded-md border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 transition-colors hover:bg-primary-100 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-300 dark:hover:bg-primary-900/50",onClick:G=>no(o,_),title:_.description},n(_.label),9,ub))),128))])])):h("",!0),e("div",_b,[e("label",mb,n(a(t)("admin.settings.betaPolicy.modelWhitelist")),1),e("p",pb,n(a(t)("admin.settings.betaPolicy.modelWhitelistHint")),1),(r(!0),d(R,null,N(o.model_whitelist||[],(_,G)=>(r(),d("div",{key:G,class:"mb-1.5 flex items-center gap-2"},[c(e("input",{"onUpdate:modelValue":Ce=>o.model_whitelist[G]=Ce,type:"text",class:"input input-sm flex-1",placeholder:a(t)("admin.settings.betaPolicy.modelPatternPlaceholder")},null,8,gb),[[u,o.model_whitelist[G]]]),e("button",{type:"button",onClick:Ce=>o.model_whitelist.splice(G,1),class:"shrink-0 rounded p-1 text-red-400 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20"},[...i[338]||(i[338]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])],8,yb)]))),128)),e("button",{type:"button",onClick:_=>{o.model_whitelist||(o.model_whitelist=[]),o.model_whitelist.push("")},class:"mb-2 inline-flex items-center gap-1 text-xs text-primary-600 transition-colors hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-300"},[i[339]||(i[339]=e("svg",{class:"h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4v16m8-8H4"})],-1)),I(" "+n(a(t)("admin.settings.betaPolicy.addModelPattern")),1)],8,bb),e("div",xb,[e("span",hb,n(a(t)("admin.settings.betaPolicy.commonPatterns"))+":",1),(r(),d(R,null,N(ao,_=>e("button",{key:_,type:"button",class:"rounded border border-gray-200 px-2 py-0.5 text-xs text-gray-600 transition-colors hover:border-primary-300 hover:bg-primary-50 hover:text-primary-700 dark:border-dark-600 dark:text-gray-400 dark:hover:border-primary-700 dark:hover:bg-primary-900/30 dark:hover:text-primary-300",onClick:G=>io(o,_)},n(_),9,fb)),64))])]),o.model_whitelist&&o.model_whitelist.length>0?(r(),d("div",kb,[e("label",vb,n(a(t)("admin.settings.betaPolicy.fallbackAction")),1),g(ke,{modelValue:o.fallback_action||"pass","onUpdate:modelValue":_=>o.fallback_action=_,options:$s.value},null,8,["modelValue","onUpdate:modelValue","options"]),e("p",wb,n(a(t)("admin.settings.betaPolicy.fallbackActionHint")),1),o.fallback_action==="block"?(r(),d("div",Cb,[c(e("input",{"onUpdate:modelValue":_=>o.fallback_error_message=_,type:"text",class:"input",placeholder:a(t)("admin.settings.betaPolicy.fallbackErrorMessagePlaceholder")},null,8,Vb),[[u,o.fallback_error_message]]),e("p",Ub,n(a(t)("admin.settings.betaPolicy.errorMessageHint")),1)])):h("",!0)])):h("",!0)])}),128)),e("div",Sb,[e("button",{type:"button",onClick:po,disabled:St.value,class:"btn btn-primary btn-sm"},[St.value?(r(),d("svg",Pb,[...i[340]||(i[340]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):h("",!0),I(" "+n(St.value?a(t)("common.saving"):a(t)("common.save")),1)],8,$b)])],64))])]),e("div",Eb,[e("div",Tb,[e("h2",Ab,n(a(t)("admin.settings.open
12aiFastPolicy.title")),1),e("p",Mb,n(a(t)("admin.settings.openaiFastPolicy.description")),1)]),e("div",Fb,[ut.rules.length===0?(r(),d("div",Lb,n(a(t)("admin.settings.openaiFastPolicy.empty")),1)):h("",!0),(r(!0),d(R,null,N(ut.rules,(o,m)=>(r(),d("div",{key:m,class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},[e("div",Hb,[e("span",Ib,n(a(t)("admin.settings.openaiFastPolicy.ruleHeader",{index:m+1})),1),e("button",{type:"button",onClick:_=>uo(m),class:"rounded p-1 text-red-400 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20",title:a(t)("admin.settings.openaiFastPolicy.removeRule")},[...i[341]||(i[341]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])],8,Rb)]),e("div",{class:"mb-4 flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-gray-500 dark:text-gray-400","data-testid":`openai-fast-policy-summary-${m}`},[e("span",jb,n(a(t)(ha(o)?"admin.settings.openaiFastPolicy.summaryTargetModels":"admin.settings.openaiFastPolicy.summaryAllModels")),1),i[344]||(i[344]=e("span",{"aria-hidden":"true"},"â",-1)),e("span",Db,n(Ts(o.action)),1),ha(o)?(r(),d(R,{key:0},[i[342]||(i[342]=e("span",{"aria-hidden":"true"},"·",-1)),e("span",Ob,n(a(t)("admin.settings.openaiFastPolicy.summaryOtherModels")),1),i[343]||(i[343]=e("span",{"aria-hidden":"true"},"â",-1)),e("span",zb,n(Ts(o.fallback_action||"pass")),1)],64)):h("",!0)],8,Bb),e("div",qb,[e("div",null,[e("label",Nb,n(a(t)("admin.settings.openaiFastPolicy.serviceTier")),1),g(ke,{modelValue:o.service_tier,"onUpdate:modelValue":_=>o.service_tier=_,options:lo.value},null,8,["modelValue","onUpdate:modelValue","options"])]),e("div",null,[e("label",Kb,n(a(t)("admin.settings.openaiFastPolicy.action")),1),g(ke,{modelValue:o.action,"onUpdate:modelValue":_=>o.action=_,options:Es.value},null,8,["modelValue","onUpdate:modelValue","options"])]),e("div",null,[e("label",Wb,n(a(t)("admin.settings.openaiFastPolicy.scope")),1),g(ke,{modelValue:o.scope,"onUpdate:modelValue":_=>o.scope=_,options:ro.value},null,8,["modelValue","onUpdate:modelValue","options"])])]),e("div",Gb,[e("label",Qb,n(a(t)("admin.settings.openaiFastPolicy.userIds")),1),e("p",Yb,n(a(t)("admin.settings.openaiFastPolicy.userIdsHint")),1),g(an,{"model-value":o.user_ids||[],"onUpdate:modelValue":_=>o.user_ids=_},null,8,["model-value","onUpdate:modelValue"])]),o.action==="block"?(r(),d("div",Jb,[e("label",Xb,n(a(t)("admin.settings.openaiFastPolicy.errorMessage")),1),c(e("input",{"onUpdate:modelValue":_=>o.error_message=_,type:"text",class:"input",placeholder:a(t)("admin.settings.openaiFastPolicy.errorMessagePlaceholder")},null,8,Zb),[[u,o.error_message]]),e("p",ex,n(a(t)("admin.settings.openaiFastPolicy.errorMessageHint")),1)])):h("",!0),e("div",{class:"mt-3",role:"group","aria-labelledby":`openai-fast-policy-models-label-${m}`,"aria-describedby":`openai-fast-policy-models-hint-${m}`},[e("label",{id:`openai-fast-policy-models-label-${m}`,class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},n(a(t)("admin.settings.openaiFastPolicy.modelWhitelist")),9,ax),e("p",{id:`openai-fast-policy-models-hint-${m}`,class:"mb-2 text-xs text-gray-400 dark:text-gray-500"},n(a(t)("admin.settings.openaiFastPolicy.modelWhitelistHint")),9,sx),(r(!0),d(R,null,N(o.model_whitelist||[],(_,G)=>(r(),d("div",{key:G,class:"mb-1.5 flex items-center gap-2"},[c(e("input",{"onUpdate:modelValue":Ce=>o.model_whitelist[G]=Ce,type:"text",class:"input input-sm flex-1",placeholder:a(t)("admin.settings.openaiFastPolicy.modelPatternPlaceholder")},null,8,nx),[[u,o.model_whitelist[G]]]),e("button",{type:"button",onClick:Ce=>mo(o,G),class:"shrink-0 rounded p-1 text-red-400 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20"},[...i[345]||(i[345]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])],8,ix)]))),128)),e("button",{type:"button",onClick:_=>_o(o),class:"mb-2 inline-flex items-center gap-1 text-xs text-primary-600 transition-colors hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-300"},[i[346]||(i[346]=e("svg",{class:"h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4v16m8-8H4"}
12)],-1)),I(" "+n(a(t)("admin.settings.openaiFastPolicy.addModelPattern")),1)],8,ox)],8,tx),ha(o)?(r(),d("div",lx,[e("label",rx,n(a(t)("admin.settings.openaiFastPolicy.fallbackAction")),1),g(ke,{modelValue:o.fallback_action||"pass","onUpdate:modelValue":_=>o.fallback_action=_,options:Es.value},null,8,["modelValue","onUpdate:modelValue","options"]),e("p",dx,n(a(t)("admin.settings.openaiFastPolicy.fallbackActionHint")),1),o.fallback_action==="block"?(r(),d("div",cx,[c(e("input",{"onUpdate:modelValue":_=>o.fallback_error_message=_,type:"text",class:"input",placeholder:a(t)("admin.settings.openaiFastPolicy.fallbackErrorMessagePlaceholder")},null,8,ux),[[u,o.fallback_error_message]])])):h("",!0)])):h("",!0)]))),128)),e("div",null,[e("button",{type:"button",onClick:co,class:"btn btn-secondary btn-sm inline-flex items-center gap-1"},[i[347]||(i[347]=e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4v16m8-8H4"})],-1)),I(" "+n(a(t)("admin.settings.openaiFastPolicy.addRule")),1)]),e("p",_x,n(a(t)("admin.settings.openaiFastPolicy.saveHint")),1)])])])],512),[[Se,S.value==="gateway"]]),c(e("div",mx,[e("div",px,[e("div",gx,[e("h2",yx,n(a(t)("admin.settings.registration.title")),1),e("p",bx,n(a(t)("admin.settings.registration.description")),1)]),e("div",xx,[e("div",hx,[e("div",null,[e("label",fx,n(a(t)("admin.settings.registration.enableRegistration")),1),e("p",kx,n(a(t)("admin.settings.registration.enableRegistrationHint")),1)]),g(T,{modelValue:s.registration_enabled,"onUpdate:modelValue":i[14]||(i[14]=o=>s.registration_enabled=o)},null,8,["modelValue"])]),e("div",vx,[e("div",null,[e("label",wx,n(a(t)("admin.settings.registration.emailVerification")),1),e("p",Cx,n(a(t)("admin.settings.registration.emailVerificationHint")),1)]),g(T,{modelValue:s.email_verify_enabled,"onUpdate:modelValue":i[15]||(i[15]=o=>s.email_verify_enabled=o)},null,8,["modelValue"])]),e("div",Vx,[e("label",Ux,n(a(t)("admin.settings.registration.emailSuffixWhitelist")),1),e("p",Sx,n(a(t)("admin.settings.registration.emailSuffixWhitelistHint")),1),e("div",$x,[e("div",Px,[(r(!0),d(R,null,N(Y.value,o=>(r(),d("span",{key:o,class:"inline-flex items-center gap-1 rounded bg-gray-100 px-2 py-1 text-xs font-mono text-gray-700 dark:bg-dark-600 dark:text-gray-200"},[e("span",null,n(o),1),e("button",{type:"button",class:"rounded-full text-gray-500 hover:bg-gray-200 hover:text-gray-700 dark:text-gray-300 dark:hover:bg-dark-500 dark:hover:text-white",onClick:m=>On(o)},[g(de,{name:"x",size:"xs",class:"h-3.5 w-3.5","stroke-width":2})],8,Ex)]))),128)),e("div",Tx,[c(e("input",{"onUpdate:modelValue":i[16]||(i[16]=o=>ge.value=o),type:"text",class:"w-full bg-transparent text-sm font-mono text-gray-900 outline-none placeholder:text-gray-400 dark:text-white dark:placeholder:text-gray-500",placeholder:a(t)("admin.settings.registration.emailSuffixWhitelistPlaceholder"),onInput:i[17]||(i[17]=(...o)=>ls&&ls(...o)),onKeydown:i[18]||(i[18]=(...o)=>rs&&rs(...o)),onBlur:os,onPaste:zn},null,40,Ax),[[u,ge.value]])])])]),e("p",Mx,n(a(t)("admin.settings.registration.emailSuffixWhitelistInputHint")),1)]),e("div",Fx,[e("div",null,[e("label",Lx,n(a(t)("admin.settings.registration.emailDomainQuota")),1),e("p",Hx,n(a(t)("admin.settings.registration.emailDomainQuotaHint")),1)]),g(T,{modelValue:s.registration_email_domain_quota_enabled,"onUpdate:modelValue":i[19]||(i[19]=o=>s.registration_email_domain_quota_enabled=o)},null,8,["modelValue"])]),e("div",Ix,[e("div",null,[e("label",Rx,n(a(t)("admin.settings.registration.promoCode")),1),e("p",Bx,n(a(t)("admin.settings.registration.promoCodeHint")),1)]),g(T,{modelValue:s.promo_code_enabled,"onUpdate:modelValue":i[20]||(i[20]=o=>s.promo_code_enabled=o)},null,8,["modelValue"])]),e("div",jx,[e("div",null,[e("label",Dx,n(a(t)("admin.settings.registration.invitationCode")),1),e("p",Ox,n(a(t)("admin.settings.registration.invitationCodeHint")),1)]),g(T,{modelValue:s.invitation_code_enabled,"onUpdate:modelValue":i[21]||(i[21]=o=>s.invitation_code_enabled=o)},null,8,["modelValue"])]),s.email_verify_enabled?(r(),d("div",zx,[e("div",null,[e("label",qx,n(a(t)("admin.settings.registration.passwordReset")),1),e("p",Nx,n(a(t)("admin.settings.registration.passwordResetHint")),1)]),g(T,{modelValue:s.password_reset_enabled,"onUpdate:modelValue":i[22]||(i[22]=o=>s.password_reset_enabled=o)},null,8,["modelValue"])])):h("",!0),s.email_verify_enabled&&s.password_reset_enabled?(r(),d("div",Kx,[e("label",Wx,n(a(t)("admin.settings.registration.frontendUrl")),1),c(e("input",{"onUpdate:modelValue":i[23]||(i[23]=o=>s.frontend_url=o),type:"url",class:"input",placeholder:a(t)("admin.settings.registration.frontendUrlPlaceholder")},null,8,Gx),[[u,s.frontend_url]]),e("p",Qx,n(a(t)("admin.settings.registration.frontendUrlHint")),1)])):h("",!0),e("div",Yx,[e("div",null,[e("label",Jx,n(a(t)("admin.settings.registration.totp")),1
12),e("p",Xx,n(a(t)("admin.settings.registration.totpHint")),1),s.totp_encryption_key_configured?h("",!0):(r(),d("p",Zx,n(a(t)("admin.settings.registration.totpKeyNotConfigured")),1))]),g(T,{modelValue:s.totp_enabled,"onUpdate:modelValue":i[24]||(i[24]=o=>s.totp_enabled=o),disabled:!s.totp_encryption_key_configured},null,8,["modelValue","disabled"])]),e("div",eh,[e("div",th,[e("div",null,[e("label",ah,n(a(t)("admin.settings.security.passkey")),1),e("p",sh,n(a(t)("admin.settings.security.passkeyHint")),1)]),g(T,{modelValue:s.passkey_enabled,"onUpdate:modelValue":i[25]||(i[25]=o=>s.passkey_enabled=o),"data-testid":"passkey-toggle",disabled:!s.passkey_configured},null,8,["modelValue","disabled"])]),e("div",{class:X(["mt-3 rounded-lg border px-3 py-2 text-sm",s.passkey_configured?"border-green-200 bg-green-50 text-green-800 dark:border-green-900 dark:bg-green-950/40 dark:text-green-300":"border-amber-200 bg-amber-50 text-amber-800 dark:border-amber-900 dark:bg-amber-950/40 dark:text-amber-300"]),"data-testid":"passkey-config-status"},[e("p",nh,n(s.passkey_configured?a(t)("admin.settings.security.passkeyConfigured"):a(t)("admin.settings.security.passkeyNotConfigured")),1),e("p",ih,n(a(t)("admin.settings.security.passkeyRPID"))+": "+n(s.passkey_rp_id||a(t)("admin.settings.security.passkeyValueNotConfigured")),1),e("p",oh,n(a(t)("admin.settings.security.passkeyOrigins"))+": "+n(s.passkey_rp_origins.length>0?s.passkey_rp_origins.join(", "):a(t)("admin.settings.security.passkeyValueNotConfigured")),1),s.passkey_configured?h("",!0):(r(),d("p",lh,n(a(t)("admin.settings.security.passkeyDeploymentHint")),1))],2)]),e("div",rh,[e("div",null,[e("label",dh,n(a(t)("admin.settings.security.stepUp")),1),e("p",ch,n(a(t)("admin.settings.security.stepUpHint")),1)]),g(T,{modelValue:s.step_up_enabled,"onUpdate:modelValue":i[26]||(i[26]=o=>s.step_up_enabled=o)},null,8,["modelValue"])]),e("div",uh,[e("div",null,[e("label",_h,n(a(t)("admin.settings.security.sessionBinding")),1),e("p",mh,n(a(t)("admin.settings.security.sessionBindingHint")),1)]),g(T,{modelValue:s.session_binding_enabled,"onUpdate:modelValue":i[27]||(i[27]=o=>s.session_binding_enabled=o)},null,8,["modelValue"])]),e("div",ph,[e("div",null,[e("label",gh,n(a(t)("admin.settings.security.auditRetention")),1),e("p",yh,n(a(t)("admin.settings.security.auditRetentionHint")),1)]),c(e("input",{"onUpdate:modelValue":i[28]||(i[28]=o=>s.audit_log_retention_days=o),type:"number",min:"0",class:"input w-28 text-right"},null,512),[[u,s.audit_log_retention_days,void 0,{number:!0}]])])])]),e("div",bh,[e("div",xh,[e("h2",hh,n(a(t)("admin.settings.apiKeyAcl.title")),1),e("p",fh,n(a(t)("admin.settings.apiKeyAcl.description")),1)]),e("div",kh,[e("div",vh,[e("div",null,[e("label",wh,n(a(t)("admin.settings.apiKeyAcl.trustForwardedIp")),1),e("p",Ch,n(a(t)("admin.settings.apiKeyAcl.trustForwardedIpHint")),1)]),g(T,{modelValue:s.api_key_acl_trust_forwarded_ip,"onUpdate:modelValue":i[29]||(i[29]=o=>s.api_key_acl_trust_forwarded_ip=o)},null,8,["modelValue"])]),s.api_key_acl_trust_forwarded_ip?(r(),d("div",Vh,[e("label",Uh,n(a(t)("admin.settings.apiKeyAcl.forwardedClientIpHeaders")),1),e("p",Sh,n(a(t)("admin.settings.apiKeyAcl.forwardedClientIpHeadersHint")),1),e("div",$h,[e("div",Ph,[(r(!0),d(R,null,N(s.forwarded_client_ip_headers,o=>(r(),d("span",{key:o,"data-testid":"forwarded-client-ip-header-tag",class:"inline-flex items-center gap-1 rounded bg-gray-100 px-2 py-1 text-xs font-mono text-gray-700 dark:bg-dark-600 dark:text-gray-200"},[e("span",null,n(o),1),e("button",{type:"button",class:"rounded-full text-gray-500 hover:bg-gray-200 hover:text-gray-700 dark:text-gray-300 dark:hover:bg-dark-500 dark:hover:text-white","aria-label":a(t)("admin.settings.apiKeyAcl.removeForwardedClientIpHeader",{header:o}),onClick:m=>Kn(o)},[g(de,{name:"x",size:"xs",class:"h-3.5 w-3.5","stroke-width":2})],8,Eh)]))),128)),e("div",Th,[c(e("input",{id:"forwarded-client-ip-headers","onUpdate:modelValue":i[30]||(i[30]=o=>j.value=o),"data-testid":"forwarded-client-ip-headers-input",type:"text",class:"w-full bg-transparent text-sm font-mono text-gray-900 outline-none placeholder:text-gray-400 dark:text-white dark:placeholder:text-gray-500",placeholder:a(t)("admin.settings.apiKeyAcl.forwardedClientIpHeadersPlaceholder"),onKeydown:Wn,onBlur:_s,onPaste:Gn},null,40,Ah),[[u,j.value]])])])]),e("p",Mh,n(a(t)("admin.settings.apiKeyAcl.forwardedClientIpHeadersRiskHint")),1)])):h("",!0)])]),e("div",Fh,[e("div",Lh,[e("div",Hh,[g(de,{name:"shield",size:"md",class:"text-primary-500"}),e("h2",Ih,n(a(t)("admin.settings.panelRateLimit.title")),1)]),e("p",Rh,n(a(t)("admin.settings.panelRateLimit.description")),1)]),e("div",Bh,[ie.value?(r(),d("div",jh,[i[348]||(i[348]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),I(" "+n(a(t)("common.loading")),1)])):(r(),d(R,{key:1},[e("div",Dh,[e("div",Oh,[g(de,{name:"infoCircle",size:"md",class:"mt-0.5 flex-shrink-0 text-sky-500"}),e("p",zh,n(a(t)("admin.settings.panelRateLimit.proxySafeNote")),1)])]),e("div",qh,[e("div",null,[e("label",Nh,n(a(t)("admin.settings.panelRateLimit.enabled")),1),e("p",Kh,n(a(t)("admin.settings.panelRateLimit.enabledHint")),1)]),g(T,{modelValue:fe.enabled,"onUpdate:modelValue":i[31]||(i[31]=o=>fe.enabled=o)},null,8,["modelValue"])]),fe.enabled?(r(),d("div",Wh,[e("div",Gh,[e("div",null,[e("label",Qh,n(a(t)("admin.settings.panelRateLimit.userRpm")),1),e("div",Yh,[c(e("input",{"onUpdate:modelValue":i[32]||(i[32]=o=>fe.user_rpm=o),"data-testid":"panel-rate-limit-user-rpm",type:"number",min:"0",max:"100000",class:"input w-32"},null,512),[[u,fe.user_rpm,void 0,{number:!0}]]),e("span",Jh,n(a(t)("admin.settings.panelRateLimit.perMinute")),1)]),e("p",Xh,n(a(t)("admin.settings.panelRateLimit.userRpmHint")),1)]),e("div",null,[e("label",Zh,n(a(t)("admin.settings.panelRateLimit.heavyRpm")),1),e("div",e1,[c(e("input",{"onUpdate:modelValue":i[33]||(i[33]=o=>fe.heavy_rpm=o),type:"number",min:"0",max:"100000",class:"input w-32"},null,512),[[u,fe.heavy_rpm,void 0,{number:!0}]]),e("span",t1,n(a(t)("admin.settings.panelRateLimit.perMinute")),1)]),e("p",a1,n(a(t)("admin.settings.panelRateLimit.heavyRpmHint")),1)]),e("div",null,[e("label",s1,n(a(t)("admin.settings.panelRateLimit.publicIpRpm")),1),e("div",n1,[c(e("input",{"onUpdate:modelValue":i[34]||(i[34]=o=>fe.public_ip_rpm=o),type:"number",min:"0",max:"100000",class:"input w-32"},null,512),[[u,fe.public_ip_rpm,void 0,{number:!0}]]),e("span",i1,n(a(t)("admin.settings.panelRateLimit.perMinute")),1)]),e("p",o1,n(a(t)("admin.settings.panelRateLimit.publicIpRpmHint")),1)])]),e("div",l
121,[e("div",null,[e("label",r1,n(a(t)("admin.settings.panelRateLimit.exemptAdmin")),1),e("p",d1,n(a(t)("admin.settings.panelRateLimit.exemptAdminHint")),1)]),g(T,{modelValue:fe.exempt_admin,"onUpdate:modelValue":i[35]||(i[35]=o=>fe.exempt_admin=o)},null,8,["modelValue"])])])):h("",!0),e("div",c1,[e("button",{type:"button","data-testid":"panel-rate-limit-save",onClick:Wi,disabled:Ve.value,class:"btn btn-primary btn-sm"},[Ve.value?(r(),d("svg",_1,[...i[349]||(i[349]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):h("",!0),I(" "+n(Ve.value?a(t)("common.saving"):a(t)("common.save")),1)],8,u1)])],64))])]),e("div",m1,[e("div",p1,[e("h2",g1,n(a(t)("admin.settings.captcha.title")),1),e("p",y1,n(a(t)("admin.settings.captcha.description")),1)]),e("div",b1,[e("div",x1,[e("div",null,[e("label",h1,n(a(t)("admin.settings.captcha.enable")),1),e("p",f1,n(a(t)("admin.settings.captcha.enableHint")),1)]),g(T,{modelValue:aa.value,"onUpdate:modelValue":i[36]||(i[36]=o=>aa.value=o),"data-testid":"captcha-enabled-toggle"},null,8,["modelValue"])]),aa.value?(r(),d("div",k1,[e("div",v1,[e("label",w1,n(a(t)("admin.settings.captcha.provider")),1),e("div",C1,[e("button",{type:"button","data-testid":"captcha-provider-turnstile",class:X(["inline-flex items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",st.value==="turnstile"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[37]||(i[37]=o=>sa("turnstile"))},n(a(t)("admin.settings.captcha.providerTurnstile")),3),e("button",{type:"button","data-testid":"captcha-provider-tencent",class:X(["inline-flex items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",st.value==="tencent"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[38]||(i[38]=o=>sa("tencent"))},n(a(t)("admin.settings.captcha.providerTencent")),3),e("button",{type:"button","data-testid":"captcha-provider-aliyun",class:X(["inline-flex items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",st.value==="aliyun"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[39]||(i[39]=o=>sa("aliyun"))},n(a(t)("admin.settings.captcha.providerAliyun")),3)])]),st.value==="turnstile"?(r(),d("div",V1,[e("div",null,[e("label",U1,n(a(t)("admin.settings.turnstile.siteKey")),1),c(e("input",{"onUpdate:modelValue":i[40]||(i[40]=o=>s.turnstile_site_key=o),type:"text",class:"input font-mono text-sm",placeholder:"0x4AAAAAAA..."},null,512),[[u,s.turnstile_site_key]]),e("p",S1,[I(n(a(t)("admin.settings.turnstile.siteKeyHint"))+" ",1),e("a",$1,n(a(t)("admin.settings.turnstile.cloudflareDashboard")),1)])]),e("div",null,[e("label",P1,n(a(t)("admin.settings.turnstile.secretKey")),1),c(e("input",{"onUpdate:modelValue":i[41]||(i[41]=o=>s.turnstile_secret_key=o),type:"password",class:"input font-mono text-sm",placeholder:"0x4AAAAAAA..."},null,512),[[u,s.turnstile_secret_key]]),e("p",E1,n(s.turnstile_secret_key_configured?a(t)("admin.settings.turnstile.secretKeyConfiguredHint"):a(t)("admin.settings.turnstile.secretKeyHint")),1)])])):st.value==="tencent"?(r(),d("div",T1,[e("div",A1,[e("label",M1,n(a(t)("admin.settings.tencentCaptcha.region")),1),e("div",F1,[e("button",{type:"button","data-testid":"tencent-captcha-region-cn",class:X(["inline-flex items-center justify-center rounded-md px-3 py-1.5 text-sm font-medium transition",s.tencent_captcha_region!=="intl"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[42]||(i[42]=o=>s.tencent_captcha_region="cn")},n(a(t)("admin.settings.tencentCaptcha.regionCn")),3),e("button",{type:"button","data-testid":"tencent-captcha-region-intl",class:X(["inline-flex items-center justify-center rounded-md px-3 py-1.5 text-sm font-medium transition",s.tencent_captcha_region==="intl"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[43]||(i[43]=o=>s.tencent_captcha_region="intl")},n(a(t)("admin.settings.tencentCaptcha.regionIntl")),3)]),e("p",L1,n(a(t)("admin.settings.tencentCaptcha.regionHint")),1)]),e("div",H1,[e("div",I1,[e("h3",R1,n(a(t)("admin.settings.tencentCaptcha.appCredentialsTitle")),1),e("p",B1,n(a(t)("admin.settings.tencentCaptcha.appCredentialsHint")),1)]),e("div",null,[e("label",j1,n(a(t)("admin.settings.tencentCaptcha.appId")),1),c(e("input",{"onUpdate:modelValue":i[44]||(i[44]=o=>s.tencent_captcha_app_id=o),type:"text",inputmode:"numeric",class:"input font-mono text-sm",placeholder:"123456789"},null,512),[[u,s.tencent_captcha_app_id]])]),e("div",null,[e("label",D1,n(a(t)("admin.settings.tencentCaptcha.appSecretKey")),1),c(e("input",{"onUpdate:modelValue":i[45]||(i[45]=o=>s.tencent_captcha_app_secret_key=o),type:"password",autocomplete:"new-password",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.tencentCaptcha.keepExisting")},null,8,O1),[[u,s.tencent_captcha_app_secret_key]]),e("p",z1,n(s.tencent_captcha_app_secret_key_configured?a(t)("admin.settings.tencentCaptcha.configured"):a(t)("admin.settings.tencentCaptcha.required")),1)]),e("div",q1,[e("h3",N1,n(a(t)("admin.settings.tencentCaptcha.cloudCredentialsTitle")),1),e("p",K1,n(a(t)("admin.settings.tencentCaptcha.cloudCredentialsHint")),1)]),e("div",null,[e("label",W1,n(a(t)("admin.settings.tencentCaptcha.cloudSecretId")),1),c(e("input",{"onUpdate:modelValue":i[46]||(i[46]=o=>s.tencent_captcha_cloud_secret_id=o),type:"password",autocomplete:"new-password",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.tencentCaptcha.keepExisting")},null,8,G1),[[u,s.tencent_captcha_cloud_secret_id]]),e("p",Q1,n(s.tencent_captcha_cloud_secret_id_configured?a(t)("admin.settings.tencentCaptcha.configured"):a(t)("admin.settings.tencentCaptcha.required")),1)]),e("div",null,[e("label",Y1,n(a(t)("admin.settings.tencentCaptcha.cloudSecretKey")),1),c(e("input",{"onUpdate:modelValue":i[47]||(i[47]=o=>s.tencent_captcha_cloud_secret_key=o),type:"password",autocomplete:"new-password",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.tencentCaptcha.keepExisting")},null,8,J1),[[u,s.tencent_captcha_cloud_secret_key]]),e("p",X1,n(s.tencent_captcha_cloud_secret_key_configured?a(t)("admin.settings.tencentCaptcha.configured"):a(t)("admin.settings.tencentCaptcha.required")),1)])]),e("p",Z1,n(a(t)("admin.settings.tencentCaptcha.camPermissionHint")),1),e("p",ef,n(a(t)("admin.settings.tencentCaptcha.aidEncryptedHint")),1),e("div",tf,[e
12("a",{href:na.value.console,target:"_blank",rel:"noopener noreferrer",class:"text-primary-600 hover:text-primary-500"},n(a(t)("admin.settings.tencentCaptcha.openCaptchaConsole")),9,af),e("a",{href:na.value.cloudKeys,target:"_blank",rel:"noopener noreferrer",class:"text-primary-600 hover:text-primary-500"},n(a(t)("admin.settings.tencentCaptcha.createCloudKeys")),9,sf),e("a",{href:na.value.webDocs,target:"_blank",rel:"noopener noreferrer",class:"text-primary-600 hover:text-primary-500"},n(a(t)("admin.settings.tencentCaptcha.openWebDocs")),9,nf)])])):(r(),d("div",of,[e("div",lf,[e("div",null,[e("label",rf,n(a(t)("admin.settings.aliyunCaptcha.region")),1),e("div",df,[e("button",{type:"button",class:X(["inline-flex items-center justify-center rounded-md px-3 py-1.5 text-sm font-medium transition",s.aliyun_captcha_region!=="sgp"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[48]||(i[48]=o=>s.aliyun_captcha_region="cn")},n(a(t)("admin.settings.aliyunCaptcha.regionCn")),3),e("button",{type:"button",class:X(["inline-flex items-center justify-center rounded-md px-3 py-1.5 text-sm font-medium transition",s.aliyun_captcha_region==="sgp"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[49]||(i[49]=o=>s.aliyun_captcha_region="sgp")},n(a(t)("admin.settings.aliyunCaptcha.regionSgp")),3)]),e("p",cf,n(a(t)("admin.settings.aliyunCaptcha.regionHint")),1)]),e("div",null,[e("label",uf,n(a(t)("admin.settings.aliyunCaptcha.prefix")),1),c(e("input",{"onUpdate:modelValue":i[50]||(i[50]=o=>s.aliyun_captcha_prefix=o),type:"text",class:"input font-mono text-sm",placeholder:"14xxxxx"},null,512),[[u,s.aliyun_captcha_prefix]]),e("p",_f,n(a(t)("admin.settings.aliyunCaptcha.prefixHint")),1)])]),e("div",null,[e("label",mf,n(a(t)("admin.settings.aliyunCaptcha.sceneId")),1),c(e("input",{"onUpdate:modelValue":i[51]||(i[51]=o=>s.aliyun_captcha_scene_id=o),type:"text",class:"input font-mono text-sm",placeholder:"1cxxxxxx"},null,512),[[u,s.aliyun_captcha_scene_id]]),e("p",pf,n(a(t)("admin.settings.aliyunCaptcha.sceneIdHint")),1)]),e("div",null,[e("label",gf,n(a(t)("admin.settings.aliyunCaptcha.accessKeyId")),1),c(e("input",{"onUpdate:modelValue":i[52]||(i[52]=o=>s.aliyun_captcha_access_key_id=o),type:"text",class:"input font-mono text-sm",placeholder:"LTAI..."},null,512),[[u,s.aliyun_captcha_access_key_id]]),e("p",yf,n(a(t)("admin.settings.aliyunCaptcha.accessKeyIdHint")),1)]),e("div",null,[e("label",bf,n(a(t)("admin.settings.aliyunCaptcha.accessKeySecret")),1),c(e("input",{"onUpdate:modelValue":i[53]||(i[53]=o=>s.aliyun_captcha_access_key_secret=o),type:"password",autocomplete:"new-password",class:"input font-mono text-sm",placeholder:"â¢â¢â¢â¢â¢â¢â¢â¢"},null,512),[[u,s.aliyun_captcha_access_key_secret]]),e("p",xf,n(s.aliyun_captcha_access_key_secret_configured?a(t)("admin.settings.aliyunCaptcha.accessKeySecretConfiguredHint"):a(t)("admin.settings.aliyunCaptcha.accessKeySecretHint")),1)])]))])):h("",!0)])]),e("div",hf,[e("div",ff,[e("h2",kf,n(a(t)("admin.settings.linuxdo.title")),1),e("p",vf,n(a(t)("admin.settings.linuxdo.description")),1)]),e("div",wf,[e("div",Cf,[e("div",null,[e("label",Vf,n(a(t)("admin.settings.linuxdo.enable")),1),e("p",Uf,n(a(t)("admin.settings.linuxdo.enableHint")),1)]),g(T,{modelValue:s.linuxdo_connect_enabled,"onUpdate:modelValue":i[54]||(i[54]=o=>s.linuxdo_connect_enabled=o)},null,8,["modelValue"])]),s.linuxdo_connect_enabled?(r(),d("div",Sf,[e("div",$f,[e("div",null,[e("label",Pf,n(a(t)("admin.settings.linuxdo.clientId")),1),c(e("input",{"onUpdate:modelValue":i[55]||(i[55]=o=>s.linuxdo_connect_client_id=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.linuxdo.clientIdPlaceholder")},null,8,Ef),[[u,s.linuxdo_connect_client_id]]),e("p",Tf,n(a(t)("admin.settings.linuxdo.clientIdHint")),1)]),e("div",null,[e("label",Af,n(a(t)("admin.settings.linuxdo.clientSecret")),1),c(e("input",{"onUpdate:modelValue":i[56]||(i[56]=o=>s.linuxdo_connect_client_secret=o),type:"password",class:"input font-mono text-sm",placeholder:s.linuxdo_connect_client_secret_configured?a(t)("admin.settings.linuxdo.clientSecretConfiguredPlaceholder"):a(t)("admin.settings.linuxdo.clientSecretPlaceholder")},null,8,Mf),[[u,s.linuxdo_connect_client_secret]]),e("p",Ff,n(s.linuxdo_connect_client_secret_configured?a(t)("admin.settings.linuxdo.clientSecretConfiguredHint"):a(t)("admin.settings.linuxdo.clientSecretHint")),1)]),e("div",null,[e("label",Lf,n(a(t)("admin.settings.linuxdo.redirectUrl")),1),c(e("input",{"onUpdate:modelValue":i[57]||(i[57]=o=>s.linuxdo_connect_redirect_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.linuxdo.redirectUrlPlaceholder")},null,8,Hf),[[u,s.linuxdo_connect_redirect_url]]),e("div",If,[e("button",{type:"button",class:"btn btn-secondary btn-sm w-fit",onClick:Yn},n(a(t)("admin.settings.linuxdo.quickSetCopy")),1),da.value?(r(),d("code",Rf,n(da.value),1)):h("",!0)]),e("p",Bf,n(a(t)("admin.settings.linuxdo.redirectUrlHint")),1)])])])):h("",!0)])]),e("div",jf,[e("div",Df,[e("h2",Of,n(x("é®ç®±å¿«æ·ç»å½","Email OAuth Sign-in")),1
12),e("p",zf,n(x("å¼å¯ GitHub æ Google é®ç®±ææç»å½åï¼ç³»ç»ä¼è¯»åå·²éªè¯é®ç®±ï¼åå¨åç´æ¥ç»å½ï¼ä¸åå¨åèªå¨æ³¨åã","After GitHub or Google email OAuth is enabled, the system reads a verified email, signs in matching users, and auto-registers missing users.")),1)]),e("div",qf,[e("div",Nf,[e("div",Kf,[e("div",Wf,[e("div",null,[i[350]||(i[350]=e("h3",{class:"font-medium text-gray-900 dark:text-white"}," GitHub ",-1)),e("p",Gf,n(x("GitHub OAuth App éè¦ read:user user:email æéï¼åè°å°åå¡«å䏿¹å端å°åã","GitHub OAuth App needs read:user user:email scopes. Use the backend callback URL below.")),1)]),g(T,{modelValue:s.github_oauth_enabled,"onUpdate:modelValue":i[58]||(i[58]=o=>s.github_oauth_enabled=o)},null,8,["modelValue"])]),s.github_oauth_enabled?(r(),d("div",Qf,[e("div",Yf,[H.value?(r(),d(R,{key:0},[i[351]||(i[351]=I(" å¼éå¼å¯¼ï¼GitHub Settings â Developer settings â ",-1)),i[352]||(i[352]=e("a",{"data-testid":"github-oauth-apps-guide-link",href:"https://github.com/settings/developers",target:"_blank",rel:"noopener noreferrer",class:"font-medium text-primary-600 hover:underline dark:text-primary-400"},"OAuth Apps",-1)),i[353]||(i[353]=I(" â New OAuth Appï¼Homepage URL å¡«ç«ç¹ååï¼Authorization callback URL å¡«ä¸é¢çå端åè°å°åã ",-1))],64)):(r(),d(R,{key:1},[i[354]||(i[354]=I(" Setup guide: GitHub Settings â Developer settings â ",-1)),i[355]||(i[355]=e("a",{"data-testid":"github-oauth-apps-guide-link",href:"https://github.com/settings/developers",target:"_blank",rel:"noopener noreferrer",class:"font-medium text-primary-600 hover:underline dark:text-primary-400"},"OAuth Apps",-1)),i[356]||(i[356]=I(" â New OAuth App. Use your site origin as Homepage URL and the backend callback URL below as Authorization callback URL. ",-1))],64))]),e("div",Jf,[e("div",null,[i[357]||(i[357]=e("label",{class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},"Client ID",-1)),c(e("input",{"onUpdate:modelValue":i[59]||(i[59]=o=>s.github_oauth_client_id=o),type:"text",class:"input font-mono text-sm",placeholder:"GitHub OAuth Client ID"},null,512),[[u,s.github_oauth_client_id]])]),e("div",null,[i[358]||(i[358]=e("label",{class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},"Client Secret",-1)),c(e("input",{"onUpdate:modelValue":i[60]||(i[60]=o=>s.github_oauth_client_secret=o),type:"password",class:"input font-mono text-sm",placeholder:s.github_oauth_client_secret_configured?x("å¯é¥å·²é
ç½®ï¼ç空以ä¿çå½åå¼ã","Secret configured. Leave empty to keep the current value."):"GitHub OAuth Client Secret"},null,8,Xf),[[u,s.github_oauth_client_secret]])])]),e("div",null,[e("label",Zf,n(x("å端åè°å°å","Backend Callback URL")),1),c(e("input",{"onUpdate:modelValue":i[61]||(i[61]=o=>s.github_oauth_redirect_url=o),type:"url",class:"input font-mono text-sm",placeholder:"https://your-domain.com/api/v1/auth/oauth/github/callback"},null,512),[[u,s.github_oauth_redirect_url]]),e("div",ek,[e("button",{type:"button",class:"btn btn-secondary btn-sm w-fit",onClick:i[62]||(i[62]=o=>ms("github"))},n(x("çæå¹¶å¤å¶","Generate and copy")),1),ca.value?(r(),d("code",tk,n(ca.value),1)):h("",!0)])]),e("div",null,[e("label",ak,n(x("å端åè·³å°å","Frontend Callback URL")),1),c(e("input",{"onUpdate:modelValue":i[63]||(i[63]=o=>s.github_oauth_frontend_redirect_url=o),type:"text",class:"input font-mono text-sm",placeholder:"/auth/oauth/callback"},null,512),[[u,s.github_oauth_frontend_redirect_url]])])])):h("",!0)]),e("div",sk,[e("div",nk,[e("div",null,[i[359]||(i[359]=e("h3",{class:"font-medium text-gray-900 dark:text-white"}," Google ",-1)),e("p",ik,n(x("Google OAuth 客æ·ç«¯éè¦ openid email profile èå´ï¼å¹¶å¨åæ®éç»è®°å端åè°å°åã","Google OAuth client needs openid email profile scopes and the backend callback URL registered in credentials.")),1)]),g(T,{modelValue:s.google_oauth_enabled,"onUpdate:modelValue":i[64]||(i[64]=o=>s.google_oauth_enabled=o)},null,8,["modelValue"])]),s.google_oauth_enabled?(r(),d("div",ok,[e("div",lk,n(x("å¼éå¼å¯¼ï¼Google Cloud Console â APIs & Services â OAuth consent screen 宿åæ
12å±å¹ï¼Credentials â Create Credentials â OAuth client IDï¼ç±»åéæ© Web applicationï¼å¹¶æä¸é¢å°åå å
¥ Authorized redirect URIsã","Setup guide: Google Cloud Console â APIs & Services â OAuth consent screen, then Credentials â Create Credentials â OAuth client ID, choose Web application, and add the URL below to Authorized redirect URIs.")),1),e("div",rk,[e("div",null,[i[360]||(i[360]=e("label",{class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},"Client ID",-1)),c(e("input",{"onUpdate:modelValue":i[65]||(i[65]=o=>s.google_oauth_client_id=o),type:"text",class:"input font-mono text-sm",placeholder:"Google OAuth Client ID"},null,512),[[u,s.google_oauth_client_id]])]),e("div",null,[i[361]||(i[361]=e("label",{class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},"Client Secret",-1)),c(e("input",{"onUpdate:modelValue":i[66]||(i[66]=o=>s.google_oauth_client_secret=o),type:"password",class:"input font-mono text-sm",placeholder:s.google_oauth_client_secret_configured?x("å¯é¥å·²é
ç½®ï¼ç空以ä¿çå½åå¼ã","Secret configured. Leave empty to keep the current value."):"Google OAuth Client Secret"},null,8,dk),[[u,s.google_oauth_client_secret]])])]),e("div",null,[e("label",ck,n(x("å端åè°å°å","Backend Callback URL")),1),c(e("input",{"onUpdate:modelValue":i[67]||(i[67]=o=>s.google_oauth_redirect_url=o),type:"url",class:"input font-mono text-sm",placeholder:"https://your-domain.com/api/v1/auth/oauth/google/callback"},null,512),[[u,s.google_oauth_redirect_url]]),e("div",uk,[e("button",{type:"button",class:"btn btn-secondary btn-sm w-fit",onClick:i[68]||(i[68]=o=>ms("google"))},n(x("çæå¹¶å¤å¶","Generate and copy")),1),ua.value?(r(),d("code",_k,n(ua.value),1)):h("",!0)])]),e("div",null,[e("label",mk,n(x("å端åè·³å°å","Frontend Callback URL")),1),c(e("input",{"onUpdate:modelValue":i[69]||(i[69]=o=>s.google_oauth_frontend_redirect_url=o),type:"text",class:"input font-mono text-sm",placeholder:"/auth/oauth/callback"},null,512),[[u,s.google_oauth_frontend_redirect_url]])])])):h("",!0)])])])]),e("div",pk,[e("div",gk,[e("h2",yk,n(a(t)("admin.settings.wechatConnect.title")),1),e("p",bk,n(a(t)("admin.settings.wechatConnect.description")),1)]),e("div",xk,[e("div",hk,[e("div",null,[e("label",fk,n(a(t)("admin.settings.wechatConnect.enabledLabel")),1),e("p",kk,n(a(t)("admin.settings.wechatConnect.enabledHint")),1)]),g(T,{modelValue:s.wechat_connect_enabled,"onUpdate:modelValue":i[70]||(i[70]=o=>s.wechat_connect_enabled=o),"data-testid":"wechat-connect-enabled"},null,8,["modelValue"])]),s.wechat_connect_enabled?(r(),d("div",vk,[e("div",wk,[e("div",Ck,[e("div",Vk,[e("div",null,[e("h3",Uk,n(x("PC åºç¨","PC App")),1),e("p",Sk,n(x("æ¡é¢æµè§å¨éè¿å¾®ä¿¡å¼æ¾å¹³å°æ«ç ç»å½ãå¯ä¸å
¬ä¼å·æç§»å¨åºç¨åæ¶åå¨ã","Desktop browsers sign in through WeChat Open Platform QR login. This can coexist with Official Account or Mobile App.")),1)]),g(T,{"model-value":s.wechat_connect_open_enabled,"data-testid":"wechat-connect-open-enabled","onUpdate:modelValue":Jn},null,8,["model-value"])]),s.wechat_connect_open_enabled?(r(),d("div",$k,[e("div",null,[e("label",Pk,n(x("PC AppID","PC App ID")),1),c(e("input",{"onUpdate:modelValue":i[71]||(i[71]=o=>s.wechat_connect_open_app_id=o),"data-testid":"wechat-connect-open-app-id",type:"text",class:"input font-mono text-sm",placeholder:x("å¾®ä¿¡å¼æ¾å¹³å° PC åºç¨ AppID","WeChat Open Platform PC App ID")},null,8,Ek),[[u,s.wechat_connect_open_app_id]])]),e("div",null,[e("label",Tk,n(x("PC AppSecret","PC App Secret")),1),c(e("input",{"onUpdate:modelValue":i[72]||(i[72]=o=>s.wechat_connect_open_app_secret=o),"data-testid":"wechat-connect-open-app-secret",type:"password",class:"input font-mono text-sm",placeholder:s.wechat_connect_open_app_secret_configured?x("å¯é¥å·²é
ç½®ï¼ç空以ä¿çå½åå¼ã","Secret configured. Leave empty to keep the current value."):x("å¾®ä¿¡å¼æ¾å¹³å° PC åºç¨ AppSecret","WeChat Open Platform PC App Secret")},null,8,Ak),[[u,s.wechat_connect_open_app_secret]])])])):h("",!0)]),e("div",Mk,[e("div",Fk,[e("div",null,[e("h3",Lk,n(x("å
¬ä¼å·","Official Account")),1),e("p",Hk,n(x("ä»
å¨å¾®ä¿¡å
æµè§å¨å¯ç¨ï¼é微信ç¯å¢ä¸ä¼æ¾ç¤ºä¸å¯ç¨ã","Only available inside the WeChat browser. It is shown as unavailable outside WeChat.")),1)]),g(T,{"model-value":s.wechat_connect_mp_enabled,"data-testid":"wechat-connect-mp-enabled","onUpdate:modelValue":Xn},null,8,["model-value"])]),s.wechat_connect_mp_enabled?(r(),d("div",Ik,[e("div",null,[e("label",Rk,n(x("å
¬ä¼å· AppID","Official Account App ID")),1),c(e("input",{"onUpdate:modelValue":i[73]||(i[73]=o=>s.wechat_connect_mp_app_id=o),"data-testid":"wechat-connect-mp-app-id",type:"text",class:"input font-mono text-sm",placeholder:x("å
¬ä¼å· AppID","Official Account App ID")},null,8,Bk),[[u,s.wechat_connect_mp_app_id]])]),e("div",null,[e("label",jk,n(x("å
¬ä¼å· AppSecret","Official Account App Secret")),1),c(e("input",{"onUpdate:modelValue":i[74]||(i[74]=o=>s.wechat_connect_mp_app_secret=o),"data-testid":"wechat-connect-mp-app-secret",type:"password",class:"input font-mono text-sm",placeholder:s.wechat_connect_mp_app_secret_configured?x("å¯é¥å·²é
ç½®ï¼ç空以ä¿çå½åå¼ã","Secret configured. Leave empty to keep the current value."):x("å
¬ä¼å· AppSecret","Official Account App Secret")},null,8,Dk),[[u,s.wechat_connect_mp_app_secret]])])])):h("",!0)]),e("div",Ok,[e("div",zk,[e("div",null,[e("h3",qk,n(x("ç§»å¨åºç¨","Mobile App")),1),e("p",Nk,n(x("åçç§»å¨ç«¯éè¿å¾®ä¿¡ SDK å¤èµ·ææï¼ç½é¡µç«¯ä¸ä¼ç´æ¥å起该æµç¨ã","Native mobile clients start authorization through the WeChat SDK. The web UI does not launch this flow directly.")),1)]),g(T,{"model-value":s.wechat_connect_mobile_enabled,"data-testid":"wechat-connect-mobile-enabled","onUpdate:modelValue":Zn},null,8,["model-value"])]),s.wechat_connect_mobile_enabled?(r(),d("div",Kk,[e("div",null,[e("label",Wk,n(x("ç§»å¨åºç¨ AppID","Mobile App ID")),1),c(e("input",{"onUpdate:modelValue":i[75]||(i[75]=o=>s.wechat_connect_mobile_app_id=o),"data-testid":"wechat-connect-mobile-app-id",type:"text",class:"input font-mono text-sm",placeholder:x("ç§»å¨åºç¨ AppID","Mobile App ID")},null,8,Gk),[[u,s.wechat_connect_mobile_app_id]])]),e("div",null,[e("label",Qk,n(x("ç§»å¨åºç¨ AppSecret","Mobile App Secret")),1),c(e("input",{"onUpdate:modelValue":i[76]||(i[76]=o=>s.wechat_connect_mobile_app_secret=o),"data-testid":"wechat-connect-mobile-app-secret",type:"password",class:"input font-mono text-sm",placeholder:s.wechat_connect_mobile_app_secret_configured?x("å¯é¥å·²é
ç½®ï¼ç空以ä¿çå½åå¼ã","Secret configured. Leave empty to keep the current value."):x("ç§»å¨åºç¨ AppSecret","Mobile App Secret")},null,8,Yk),[[u,s.wechat_connect_mobile_app_secret]])])])):h("",!0)])]),s.wechat_connect_open_enabled&&(s.wechat_connect_mp_enabled||s.wechat_connect_mobile_enabled)?(r(),d("div",Jk,n(x("妿忶å¯ç¨ PC åºç¨åå
¬ä¼å·/ç§»å¨åºç¨ï¼è¿äºåºç¨éè¦æå¨åä¸ä¸ªå¾®ä¿¡å¼æ¾å¹³å°ä¸»ä½ä¸ï¼å¦å UnionID æ æ³ç¨³å®å½å¹¶è´¦å·ã","When PC App is enabled together with Official Account or Mobile App, they should belong to the same WeChat Open Platform account so UnionID can merge identities reliably.")),1)):h("",!0),e("div",Xk,[e("div",null,[e("label",Zk,n(x("æµè§å¨åè°å°å","Browser Redirect URL")),1),c(e("input",{"data-testid":"wechat-connect-redirect-url","onUpdate:modelValue":i[77]||(i[77]=o=>s.wechat_connect_redirect_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.wechatConnect.redirectUrlPlaceholder")},null,8,ev),[[u,s.wechat_connect_redirect_url]]),e("p",tv,n(x("ç¨äº PC åºç¨åå
¬ä¼å·çç½é¡µåè°ãç§»å¨åºç¨èµ°åç SDK æ¶ä¸ç´æ¥ä½¿ç¨è¿ä¸ªæµè§å¨åè°ã","Used by PC App and Official Account browser callbacks. Native mobile SDK flows do not start from this browser callback directly.")),1),e("div",av,[e("button",{type:"button",class:"btn btn-secondary btn-sm w-fit",onClick:ei},n(a(t)("admin.settings.wechatConnect.generateAndCopy")),1),_a.value?(r(),d("code",sv,n(_a.value),1)):h("",!0)])])]),e("div",null,[e("label",nv,n(a(t)("admin.settings.wechatConnect.frontendRedirectUrlLabel")),1),c(e("input",{"data-testid":"wechat-connect-frontend-redirect-url","onUpdate:modelValue":i[78]||(i[78]=o=>s.wechat_connect_frontend_redirect_url=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.wechatConnect.frontendRedirectUrlPlaceholder")},null,8,iv),[[u,s.wechat_connect_frontend_redirect_url]]),e("p",ov,n(a(t)("admin.settings.wechatConnect.frontendRedirectUrlHint")),1)])])):h("",!0)])]),e("div",lv,[e("div",rv,[e("h2",dv,n(a(t)("admin.settings.dingtalk.title")),1),e("p",cv,n(a(t)("admin.settings.dingtalk.description")),1)]),e("div",uv,[e("div",_v,[e("div",null,[e("label",mv,n(a(t)("admin.settings.dingtalk.enable")),1),e("p",pv,n(a(t)("admin.settings.dingtalk.enableHint")),1)]),g(T,{modelValue:s.dingtalk_connect_enabled,"onUpdate:modelValue":i[79]||(i[79]=o=>s.dingtalk_connect_enabled=o)},null,8,["modelValue"])]),s.dingtalk_connect_enabled?(r(),d("div",gv,[e("div",yv,[e("div",null,[e("label",bv,n(a(t)("admin.settings.dingtalk.clientId")),1),c(e("input",{"onUpdate:modelValue":i[80]||(i[80]=o=>s.dingtalk_connect_client_id=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.dingtalk.clientIdPlaceholder")},null,8,xv),[[u,s.dingtalk_connect_client_id]]),e("p",hv,n(a(t)("admin.settings.dingtalk.clientIdHint")),1)]),e("div",null,[e("label",fv,n(a(t)("admin.settings.dingtalk.clientSecret")),1),c(e("input",{"onUpdate:modelValue":i[81]||(i[81]=o=>s.dingtalk_connect_client_secret=o),type:"password",class:"input font-mono text-sm",placeholder:s.dingtalk_connect_client_secret_configured?a(t)("admin.settings.dingtalk.clientSecretConfiguredPlaceholder"):a(t)("admin.settings.dingtalk.clientSecretPlaceholder")},null,8,kv),[[u,s.dingtalk_connect_client_secret]]),e("p",vv,n(s.dingtalk_connect_client_secret_configured?a(t)("admin.settings.dingtalk.clientSecretConfiguredHint"):a(t)("admin.settings.dingtalk.clientSecretHint")),1)]),e("div",null,[e("label",wv,n(a(t)("admin.settings.dingtalk.redirectUrl")),1),c(e("input",{"onUpdate:modelValue":i[82]||(i[82]=o=>s.dingtalk_connect_redirect_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.dingtalk.redirectUrlPlaceholder")},null,8,Cv),[[u,s.dingtalk_connect_redirect_url]]),e("p",Vv,n(a(t)("admin.settings.dingtalk.redirectUrlHint")),1)]),e("div",Uv,[e("label",Sv,n(a(t)("admin.settings.dingtalk.corpPolicy.label")),1),e("p",$v,n(a(t)("admin.settings.dingtalk.corpPolicy.hint")),1),e("div",Pv,[e("label",Ev,[c(e("input",{"onUpdate:modelValue":i[83]||(i[83]=o=>s.dingtalk_connect_corp_restriction_policy=o),type:"radio",value:"none",class:"h-4 w-4 text-primary-600"},null,512),[[Ks,s.dingtalk_connect_corp_restriction_policy]]),e("span",Tv,n(a(t)("admin.settings.dingtalk.corpPolicy.none")),1)]),e("label",Av,[c(e("input",{"onUpdate:modelValue":i[84]||(i[84]=o=>s.dingtalk_connect_corp_restriction_policy=o),type:"radio",value:"internal_only",class:"h-4 w-4 text-primary-600"},null,512),[[Ks,s.dingtalk_connect_corp_restriction_policy]]),e("span",Mv,n(a(t)("admin.settings.dingtalk.corpPolicy.internalOnly")),1)])])]),s.dingtalk_connect_corp_restriction_policy==="internal_only"?(r(),d("div",Fv,[e("div",null,[e("label",Lv,n(a(t)("admin.settings.dingtalk.bypassRegistration")),1),e("p",Hv,n(a(t)("admin.settings.dingtalk.bypassRegistrationHint")),1)]),g(T,{modelValue:s.dingtalk_connect_bypass_registration,"onUpdate:modelValue":i[85]||(i[85]=o=>s.dingtalk_connect_bypass_registration=o)},null,8,["modelValue"])])):h("",!0),s.dingtalk_connect_corp_restriction_policy==="internal_only"?(r(),d("div",Iv,[e
12("div",Rv,[e("div",null,[e("label",Bv,n(a(t)("admin.settings.dingtalk.syncDisplayName")),1),e("p",jv,n(a(t)("admin.settings.dingtalk.syncDisplayNameHint")),1)]),g(T,{modelValue:s.dingtalk_connect_sync_display_name,"onUpdate:modelValue":i[86]||(i[86]=o=>s.dingtalk_connect_sync_display_name=o)},null,8,["modelValue"])]),s.dingtalk_connect_sync_display_name?(r(),d("div",Dv,[e("div",Ov,[e("label",zv,n(a(t)("admin.settings.dingtalk.syncDisplayNameTarget")),1),c(e("input",{"onUpdate:modelValue":i[87]||(i[87]=o=>s.dingtalk_connect_sync_display_name_attr_key=o),type:"text",placeholder:"dingtalk_name",class:"input text-sm flex-1 max-w-xs"},null,512),[[u,s.dingtalk_connect_sync_display_name_attr_key]])]),e("div",qv,[e("label",Nv,n(a(t)("admin.settings.dingtalk.syncAttrDisplayName")),1),c(e("input",{"onUpdate:modelValue":i[88]||(i[88]=o=>s.dingtalk_connect_sync_display_name_attr_name=o),type:"text",placeholder:x("ééå§å","DingTalk Name"),class:"input text-sm flex-1 max-w-xs"},null,8,Kv),[[u,s.dingtalk_connect_sync_display_name_attr_name]])])])):h("",!0),s.dingtalk_connect_sync_display_name?(r(),d("p",Wv,n(a(t)("admin.settings.dingtalk.syncDisplayNameTargetHint")),1)):h("",!0)])):h("",!0),s.dingtalk_connect_corp_restriction_policy==="internal_only"?(r(),d("div",Gv,[e("div",Qv,[e("div",null,[e("label",Yv,n(a(t)("admin.settings.dingtalk.syncCorpEmail")),1),e("p",Jv,n(a(t)("admin.settings.dingtalk.syncCorpEmailHint")),1),e("p",Xv,n(a(t)("admin.settings.dingtalk.syncCorpEmailPermissionHint")),1)]),g(T,{modelValue:s.dingtalk_connect_sync_corp_email,"onUpdate:modelValue":i[89]||(i[89]=o=>s.dingtalk_connect_sync_corp_email=o)},null,8,["modelValue"])]),s.dingtalk_connect_sync_corp_email?(r(),d("div",Zv,[e("div",e2,[e("label",t2,n(a(t)("admin.settings.dingtalk.syncCorpEmailTarget")),1),c(e("input",{"onUpdate:modelValue":i[90]||(i[90]=o=>s.dingtalk_connect_sync_corp_email_attr_key=o),type:"text",placeholder:"dingtalk_email",class:"input text-sm flex-1 max-w-xs"},null,512),[[u,s.dingtalk_connect_sync_corp_email_attr_key]])]),e("div",a2,[e("label",s2,n(a(t)("admin.settings.dingtalk.syncAttrDisplayName")),1),c(e("input",{"onUpdate:modelValue":i[91]||(i[91]=o=>s.dingtalk_connect_sync_corp_email_attr_name=o),type:"text",placeholder:x("ééä¼ä¸é®ç®±","DingTalk Corporate Email"),class:"input text-sm flex-1 max-w-xs"},null,8,n2),[[u,s.dingtalk_connect_sync_corp_email_attr_name]])])])):h("",!0),s.dingtalk_connect_sync_corp_email?(r(),d("p",i2,n(a(t)("admin.settings.dingtalk.syncCorpEmailTargetHint")),1)):h("",!0)])):h("",!0),s.dingtalk_connect_corp_restriction_policy==="internal_only"?(r(),d("div",o2,[e("div",l2,[e("div",null,[e("label",r2,n(a(t)("admin.settings.dingtalk.syncDept")),1),e("p",d2,n(a(t)("admin.settings.dingtalk.syncDeptHint")),1),e("p",c2,n(a(t)("admin.settings.dingtalk.syncDeptPermissionHint")),1)]),g(T,{modelValue:s.dingtalk_connect_sync_dept,"onUpdate:modelValue":i[92]||(i[92]=o=>s.dingtalk_connect_sync_dept=o)},null,8,["modelValue"])]),s.dingtalk_connect_sync_dept?(r(),d("div",u2,[e("div",_2,[e("label",m2,n(a(t)("admin.settings.dingtalk.syncDeptTarget")),1),c(e("input",{"onUpdate:modelValue":i[93]||(i[93]=o=>s.dingtalk_connect_sync_dept_attr_key=o),type:"text",placeholder:"dingtalk_department",class:"input text-sm flex-1 max-w-xs"},null,512),[[u,s.dingtalk_connect_sync_dept_attr_key]])]),e("div",p2,[e("label",g2,n(a(t)("admin.settings.dingtalk.syncAttrDisplayName")),1),c(e("input",{"onUpdate:modelValue":i[94]||(i[94]=o=>s.dingtalk_connect_sync_dept_attr_name=o),type:"text",placeholder:x("ééé¨é¨","DingTalk Department"),class:"input text-sm flex-1 max-w-xs"},null,8,y2),[[u,s.dingtalk_connect_sync_dept_attr_name]])])])):h("",!0),s.dingtalk_connect_sync_dept?(r(),d("p",b2,n(a(t)("admin.settings.dingtalk.syncDeptTargetHint")),1)):h("",!0)])):h("",!0)])])):h("",!0)])]),e("div",x2,[e("div",h2,[e("h2",f2,n(a(t)("admin.settings.oidc.title")),1),e("p",k2,n(a(t)("admin.settings.oidc.description")),1)]),e("div",v2,[e("div",w2,[e("div",null,[e("label",C2,n(a(t)("admin.settings.oidc.enable")),1),e("p",V2,n(a(t)("admin.settings.oidc.enableHint")),1)]),g(T,{modelValue:s.oidc_connect_enabled,"onUpdate:modelValue":i[95]||(i[95]=o=>s.oidc_connect_enabled=o)},null,8,["modelValue"])]),s.oidc_connect_enabled?(r(),d("div",U2,[e("div",S2,[e("div",null,[e("label",$2,n(a(t)("admin.settings.oidc.providerName")),1),c(e("input",{"onUpdate:modelValue":i[96]||(i[96]=o=>s.oidc_connect_provider_name=o),type:"text",class:"input",placeholder:a(t)("admin.settings.oidc.providerNamePlaceholder")},null,8,P2),[[u,s.oidc_connect_provider_name]])]),e("div",null,[e("label",E2,n(a(t)("admin.settings.oidc.clientId")),1),c(e("input",{"onUpdate:modelValue":i[97]||(i[97]=o=>s.oidc_connect_client_id=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.clientIdPlaceholder")},null,8,T2),[[u,s.oidc_connect_client_id]])]),e("div",null,[e("label",A2,n(a(t)("admin.settings.oidc.clientSecret")),1),c(e("input",{"onUpdate:modelValue":i[98]||(i[98]=o=>s.oidc_connect_client_secret=o),type:"password",class:"input font-mono text-sm",placeholder:s.oidc_connect_client_secret_configured?a(t)("admin.settings.oidc.clientSecretConfiguredPlaceholder"):a(t)("admin.settings.oidc.clientSecretPlaceholder")},null,8,M2),[[u,s.oidc_connect_client_secret]]),e("p",F2,n(s.oidc_connect_client_secret_configured?a(t)("admin.settings.oidc.clientSecretConfiguredHint"):a(t)("admin.settings.oidc.clientSecretHint")),1)])]),e("div",L2,[e("div",null,[e("label",H2,n(a(t)("admin.settings.oidc.issuerUrl")),1),c(e("input",{"onUpdate:modelValue":i[99]||(i[99]=o=>s.oidc_connect_issuer_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.issuerUrlPlaceholder")},null,8,I2),[[u,s.oidc_connect_issuer_url]])]),e("div",null,[e("label",R2,n(a(t)("admin.settings.oidc.discoveryUrl")),1),c(e("input",{"onUpdate:modelValue":i[100]||(i[100]=o=>s.oidc_connect_discovery_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.discoveryUrlPlaceholder")},null,8,B2),[[u,s.oidc_connect_discovery_url]])]),e("div",null,[e("label",j2,n(a(t)("admin.settings.oidc.authorizeUrl")),1),c(e("input",{"onUpdate:modelValue":i[101]||(i[101]=o=>s.oidc_connect_authorize_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.authorizeUrlPlaceholder")},null,8,D2),[[u,s.oidc_connect_authorize_url]])]),e("div",null,[e("label",O2,n(a(t)("admin.settings.oidc.tokenUrl")),1),c(e("input",{"onUpdate:modelValue":i[102]||(i[102]=o=>s.oidc_connect_token_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.tokenUrlPlaceholder")},null,8,z2),[[u,s.oidc_connect_token_url]])]),e("div",null,[e("label",q2,n(a(t)("admin.settings.oidc.userinfoUrl")),1),c(e("input",{"onUpdate:modelValue":i[103]||(i[103]=o=>s.oidc_connect_userinfo_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.userinfoUrlPlaceholder")},null,8,N2),[[u,s.oidc_connect_userinfo_url]])]),e("div",null,[e("label",K2,n(a(t)("admin.settings.oidc.jwksUrl")),1),c(e("input",{"onUpdate:modelValue":i[104]||(i[104]=o=>s.oidc_connect_jwks_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.jwksUrlPlaceholder")},null,8,W2),[[u,s.oidc_connect_jwks_url]])])]),e("div",G2,[e("div",null,[e("label",Q2,n(a(t)("admin.settings.oidc.scopes")),1),c(e("input",{"onUpdate:modelValue":i[105]||(i[105]=o=>s.oidc_connect_scopes=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.scopesPlaceholder")},null,8,Y2),[[u,s.oidc_connect_scopes]]),e("p",J2,n(a(t)("admin.settings.oidc.scopesHint")),1)]),e("div",null,[e("label",X2,n(a(t)("admin.settings.oidc.redirectUrl")),1),c(e("input",{"onUpdate:modelValue":i[106]||(i[106]=o=>s.oidc_connect_redirect_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.redirectUrlPlaceholder")},null,8,Z2),[[u,s.oidc_connect_redirect_url]]),e("div",ew,[e("button",{type:"button",class:"btn btn-secondary btn-sm w-fit",onClick:ti},n(a(t)("admin.settings.oidc.quickSetCopy")),1),ma.value?(r(),d("code",tw,n(ma.value),1)):h("",!0)]),e("p",aw,n(a(t)("admin.settings.oidc.redirectUrlHint")),1)]),e("div",sw,[e("label",nw,n(a(t)("admin.settings.oidc.frontendRedirectUrl")),1),c(e("input",{"onUpdate:modelValue":i[107]||(i[107]=o=>s.oidc_connect_frontend_redirect_url=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.frontendRedirectUrlPlaceholder")},null,8,iw),[[u,s.oidc_connect_frontend_redirect_url]]),e("p",ow,n(a(t)("admin.settings.oidc.frontendRedirectUrlHint")),1)])]),e("div",lw,[e("div",null,[e("label",rw,n(a(t)("admin.settings.oidc.tokenAuthMethod")),1),c(e("select",{"onUpdate:modelValue":i[108]||(i[108]=o=>s.oidc_connect_token_auth_method=o),class:"input font-mono text-sm"},[...i[362]||(i[362]=[e("option",{value:"client_secret_post"}," client_secret_post ",-1),e("option",{value:"client_secret_basic"}," client_secret_basic ",-1),e("option",{value:"none"},"none",-1)])],512),[[Ie,s.oidc_connect_token_auth_method]])]),e("div",null,[e("label",dw,n(a(t)("admin.settings.oidc.clockSkewSeconds")),1),c(e("input",{"onUpdate:modelValue":i[109]||(i[109]=o=>s.oidc_connect_clock_skew_seconds=o),type:"number",min:"0",max:"600",class:"input"},null,512),[[u,s.oidc_connect_clock_skew_seconds,void 0,{number:!0}]])]),e("div",null,[e("label",cw,n(a(t)("admin.settings.oidc.allowedSigningAlgs")),1),c(e("input",{"onUpdate:modelValue":i[110]||(i[110]=o=>s.oidc_connect_allowed_signing_algs=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.allowedSigningAlgsPlaceholder")},null,8,uw),[[u,s.oidc_connect_allowed_signing_algs]])])]),e("div",_w,[e("div",mw,[e("div",null,[e("label",pw,n(a(t)("admin.settings.oidc.usePkce")),1)]),g(T,{modelValue:s.oidc_connect_use_pkce,"onUpdate:modelValue":i[111]||(i[111]=o=>s.oidc_connect_use_pkce=o),"data-testid":"oidc-connect-use-pkce"},null,8,["modelValue"])]),e("div",gw,[e("div",null,[e("label",yw,n(a(t)("admin.settings.oidc.validateIdToken")),1)]),g(T,{modelValue:s.oidc_connect_validate_id_token,"onUpdate:modelValue":i[112]||(i[112]=o=>s.oidc_connect_validate_id_token=o),"data-testid":"oidc-connect-validate-id-token"},null,8,["modelValue"])]),e("div",bw,[e("div",null,[e("label",xw,n(a(t)("admin.settings.oidc.requireEmailVerified")),1)]),g(T,{modelValue:s.oidc_connect_require_email_verified,"onUpdate:modelValue":i[113]||(i[113]=o=>s.oidc_connect_require_email_verified=o)},null,8,["modelValue"])])]),e("div",hw,[e("div",null,[e("label",fw,n(a(t)("admin.settings.oidc.userinfoEmailPath")),1
12),c(e("input",{"onUpdate:modelValue":i[114]||(i[114]=o=>s.oidc_connect_userinfo_email_path=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.userinfoEmailPathPlaceholder")},null,8,kw),[[u,s.oidc_connect_userinfo_email_path]])]),e("div",null,[e("label",vw,n(a(t)("admin.settings.oidc.userinfoIdPath")),1),c(e("input",{"onUpdate:modelValue":i[115]||(i[115]=o=>s.oidc_connect_userinfo_id_path=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.userinfoIdPathPlaceholder")},null,8,ww),[[u,s.oidc_connect_userinfo_id_path]])]),e("div",null,[e("label",Cw,n(a(t)("admin.settings.oidc.userinfoUsernamePath")),1),c(e("input",{"onUpdate:modelValue":i[116]||(i[116]=o=>s.oidc_connect_userinfo_username_path=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.userinfoUsernamePathPlaceholder")},null,8,Vw),[[u,s.oidc_connect_userinfo_username_path]])])])])):h("",!0)])])],512),[[Se,S.value==="security"]]),c(e("div",Uw,[e("div",Sw,[e("div",$w,[e("h2",Pw,n(a(t)("admin.settings.defaults.title")),1),e("p",Ew,n(a(t)("admin.settings.defaults.description")),1)]),e("div",Tw,[e("div",Aw,[e("div",null,[e("label",Mw,n(a(t)("admin.settings.defaults.defaultBalance")),1),c(e("input",{"onUpdate:modelValue":i[117]||(i[117]=o=>s.default_balance=o),type:"number",step:"0.01",min:"0",class:"input",placeholder:"0.00"},null,512),[[u,s.default_balance,void 0,{number:!0}]]),e("p",Fw,n(a(t)("admin.settings.defaults.defaultBalanceHint")),1)]),e("div",null,[e("label",Lw,n(a(t)("admin.settings.defaults.defaultConcurrency")),1),c(e("input",{"onUpdate:modelValue":i[118]||(i[118]=o=>s.default_concurrency=o),type:"number",min:"1",class:"input",placeholder:"1"},null,512),[[u,s.default_concurrency,void 0,{number:!0}]]),e("p",Hw,n(a(t)("admin.settings.defaults.defaultConcurrencyHint")),1)]),e("div",null,[e("label",Iw,n(a(t)("admin.settings.defaults.defaultUserRpmLimit")),1),c(e("input",{"onUpdate:modelValue":i[119]||(i[119]=o=>s.default_user_rpm_limit=o),type:"number",min:"0",step:"1",class:"input",placeholder:"0"},null,512),[[u,s.default_user_rpm_limit,void 0,{number:!0}]]),e("p",Rw,n(a(t)("admin.settings.defaults.defaultUserRpmLimitHint")),1)])]),e("div",Bw,[e("div",jw,[e("div",null,[e("label",Dw,n(a(t)("admin.settings.defaults.defaultSubscriptions")),1),e("p",Ow,n(a(t)("admin.settings.defaults.defaultSubscriptionsHint")),1)]),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:Pi,disabled:Pe.value.length===0},n(a(t)("admin.settings.defaults.addDefaultSubscription")),9,zw)]),s.default_subscriptions.length===0?(r(),d("div",qw,n(a(t)("admin.settings.defaults.defaultSubscriptionsEmpty")),1)):(r(),d("div",Nw,[(r(!0),d(R,null,N(s.default_subscriptions,(o,m)=>(r(),d("div",{key:`default-sub-${m}`,class:"grid grid-cols-1 gap-3 rounded border border-gray-200 p-3 md:grid-cols-[1fr_160px_auto] dark:border-dark-600"},[e("div",null,[e("label",Kw,n(a(t)("admin.settings.defaults.subscriptionGroup")),1),g(ke,{modelValue:o.group_id,"onUpdate:modelValue":_=>o.group_id=_,class:"default-sub-group-select",options:ns.value,placeholder:a(t)("admin.settings.defaults.subscriptionGroup")},{selected:$e(({option:_})=>[_?(r(),Xe(Js,{key:0,name:_.label,platform:_.platform,"subscription-type":_.subscriptionType,"rate-multiplier":_.rate},null,8,["name","platform","subscription-type","rate-multiplier"])):(r(),d("span",Ww,n(a(t)("admin.settings.defaults.subscriptionGroup")),1))]),option:$e(({option:_,selected:G})=>[g(Xs,{name:_.label,platform:_.platform,"subscription-type":_.subscriptionType,"rate-multiplier":_.rate,description:_.description,selected:G},null,8,["name","platform","subscription-type","rate-multiplier","description","selected"])]),_:1},8,["modelValue","onUpdate:modelValue","options","placeholder"])]),e("div",null,[e("label",Gw,n(a(t)("admin.settings.defaults.subscriptionValidityDays")),1),c(e("input",{"onUpdate:modelValue":_=>o.validity_days=_,type:"number",min:"1",max:"36500",class:"input h-[42px]"},null,8,Qw),[[u,o.validity_days,void 0,{number:!0}]])]),e("div",Yw,[e("button",{type:"button",class:"btn btn-secondary default-sub-delete-btn w-full text-red-600 hover:text-red-700 dark:text-red-400",onClick:_=>Ei(m)},n(a(t)("common.delete")),9,Jw)])]))),128))]))]),e("div",Xw,[e("div",Zw,[e("label",e4,n(a(t)("admin.settings.defaults.defaultPlatformQuotas")),1),e("p",t4,n(a(t)("admin.settings.defaults.defaultPlatformQuotasHint")),1),e("p",a4,n(a(t)("admin.settings.defaults.platformQuotaNotice")),1)]),e("div",s4,[e("table",n4,[e("thead",null,[e("tr",i4,[e("th",o4,n(a(t)("admin.settings.platformQuota.platform")),1),e("th",l4,n(a(t)("admin.settings.platformQuota.daily")),1),e("th",r4,n(a(t)("admin.settings.platformQuota.weekly")),1),e("th",d4,n(a(t)("admin.settings.platformQuota.monthly")),1)])]),e("tbody",c4,[(r(!0),d(R,null,N(a(Gs),o=>(r(),d("tr",{key:o,class:"align-top"}
12,[e("td",u4,[e("span",_4,n(o),1)]),e("td",m4,[c(e("input",{"onUpdate:modelValue":m=>s.default_platform_quotas[o].daily=m,type:"number",step:"0.01",min:"0",class:"input h-8 w-28 text-sm",placeholder:a(t)("admin.settings.platformQuota.placeholder")},null,8,p4),[[u,s.default_platform_quotas[o].daily,void 0,{number:!0}]])]),e("td",g4,[c(e("input",{"onUpdate:modelValue":m=>s.default_platform_quotas[o].weekly=m,type:"number",step:"0.01",min:"0",class:"input h-8 w-28 text-sm",placeholder:a(t)("admin.settings.platformQuota.placeholder")},null,8,y4),[[u,s.default_platform_quotas[o].weekly,void 0,{number:!0}]])]),e("td",b4,[c(e("input",{"onUpdate:modelValue":m=>s.default_platform_quotas[o].monthly=m,type:"number",step:"0.01",min:"0",class:"input h-8 w-28 text-sm",placeholder:a(t)("admin.settings.platformQuota.placeholder")},null,8,x4),[[u,s.default_platform_quotas[o].monthly,void 0,{number:!0}]])])]))),128))])])])])])]),e("div",h4,[e("div",f4,[e("h2",k4,n(a(t)("admin.settings.authSourceDefaults.title")),1),e("p",v4,n(a(t)("admin.settings.authSourceDefaults.description")),1)]),e("div",w4,[e("div",C4,[e("div",null,[e("label",V4,n(a(t)("admin.settings.authSourceDefaults.requireEmailLabel")),1),e("p",U4,n(a(t)("admin.settings.authSourceDefaults.requireEmailHint")),1)]),g(T,{modelValue:s.force_email_on_third_party_signup,"onUpdate:modelValue":i[120]||(i[120]=o=>s.force_email_on_third_party_signup=o)},null,8,["modelValue"])]),e("div",S4,[(r(!0),d(R,null,N(ts.value,o=>(r(),d("div",{key:o.source,class:"rounded-xl border border-gray-200 p-4 dark:border-dark-700"},[e("div",$4,[e("div",null,[e("div",P4,n(o.title),1),e("p",E4,n(o.description),1)]),g(T,{modelValue:be[o.source].grant_on_signup,"onUpdate:modelValue":m=>be[o.source].grant_on_signup=m,"data-testid":`auth-source-${o.source}-enabled`},null,8,["modelValue","onUpdate:modelValue","data-testid"])]),be[o.source].grant_on_signup?(r(),d("div",{key:0,"data-testid":`auth-source-${o.source}-panel`,class:"mt-4 space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},[e("p",A4,n(a(t)("admin.settings.authSourceDefaults.enabledHint")),1),e("div",M4,[e("div",null,[e("label",F4,n(a(t)("admin.settings.defaults.defaultBalance")),1),c(e("input",{"onUpdate:modelValue":m=>be[o.source].balance=m,type:"number",step:"0.01",min:"0",class:"input",placeholder:"0.00"},null,8,L4),[[u,be[o.source].balance,void 0,{number:!0}]])]),e("div",null,[e("label",H4,n(a(t)("admin.settings.defaults.defaultConcurrency")),1),c(e("input",{"onUpdate:modelValue":m=>be[o.source].concurrency=m,type:"number",min:"1",class:"input",placeholder:"5"},null,8,I4),[[u,be[o.source].concurrency,void 0,{number:!0}]])])]),e("div",R4,[e("div",null,[e("label",B4,n(a(t)("admin.settings.authSourceDefaults.grantOnFirstBindLabel")),1),e("p",j4,n(a(t)("admin.settings.authSourceDefaults.grantOnFirstBindHint")),1)]),g(T,{modelValue:be[o.source].grant_on_first_bind,"onUpdate:modelValue":m=>be[o.source].grant_on_first_bind=m},null,8,["modelValue","onUpdate:modelValue"])]),e("div",D4,[e("div",null,[e("label",O4,n(a(t)("admin.settings.authSourceDefaults.defaultSubscriptionsLabel")),1),e("p",z4,n(a(t)("admin.settings.authSourceDefaults.defaultSubscriptionsHint")),1)]),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:m=>Ti(o.source),disabled:Pe.value.length===0},n(a(t)("admin.settings.defaults.addDefaultSubscription")),9,q4)]),be[o.source].subscriptions.length===0?(r(),d("div",N4,n(a(t)("admin.settings.authSourceDefaults.noSourceSubscriptions")),1)):(r(),d("div",K4,[(r(!0),d(R,null,N(be[o.source].subscriptions,(m,_)=>(r(),d("div",{key:`${o.source}-sub-${_}`,class:"grid grid-cols-1 gap-3 rounded border border-gray-200 p-3 md:grid-cols-[1fr_160px_auto] dark:border-dark-600"},[e("div",null,[e("label",W4,n(a(t)("admin.settings.defaults.subscriptionGroup")),1),g(ke,{modelValue:m.group_id,"onUpdate:modelValue":G=>m.group_id=G,class:"default-sub-group-select",options:ns.value,placeholder:a(t)("admin.settings.defaults.subscriptionGroup")},{selected:$e(({option:G})=>[G?(r(),Xe(Js,{key:0,name:G.label,platform:G.platform,"subscription-type":G.subscriptionType,"rate-multiplier":G.rate},null,8,["name","platform","subscription-type","rate-multiplier"])):(r(),d("span",G4,n(a(t)("admin.settings.defaults.subscriptionGroup")),1))]),option:$e(({option:G,selected:Ce})=>[g(Xs,{name:G.label,platform:G.platform,"subscription-type":G.subscriptionType,"rate-multiplier":G.rate,de
12scription:G.description,selected:Ce},null,8,["name","platform","subscription-type","rate-multiplier","description","selected"])]),_:1},8,["modelValue","onUpdate:modelValue","options","placeholder"])]),e("div",null,[e("label",Q4,n(a(t)("admin.settings.defaults.subscriptionValidityDays")),1),c(e("input",{"onUpdate:modelValue":G=>m.validity_days=G,type:"number",min:"1",max:"36500",class:"input h-[42px]"},null,8,Y4),[[u,m.validity_days,void 0,{number:!0}]])]),e("div",J4,[e("button",{type:"button",class:"btn btn-secondary w-full text-red-600 hover:text-red-700 dark:text-red-400",onClick:G=>Ai(o.source,_)},n(a(t)("common.delete")),9,X4)])]))),128))])),e("div",Z4,[e("div",e5,[e("label",t5,n(a(t)("admin.settings.authSourceDefaults.platformQuotasOverride")),1),e("p",a5,n(a(t)("admin.settings.authSourceDefaults.platformQuotasOverrideHint")),1)]),e("div",s5,[e("table",n5,[e("thead",null,[e("tr",i5,[e("th",o5,n(a(t)("admin.settings.platformQuota.platform")),1),e("th",l5,n(a(t)("admin.settings.platformQuota.daily")),1),e("th",r5,n(a(t)("admin.settings.platformQuota.weekly")),1),e("th",d5,n(a(t)("admin.settings.platformQuota.monthly")),1)])]),e("tbody",null,[(r(!0),d(R,null,N(a(Gs),m=>(r(),d("tr",{key:`${o.source}-pq-${m}`,class:"align-top"},[e("td",c5,[e("span",u5,n(m),1)]),e("td",_5,[c(e("input",{"onUpdate:modelValue":_=>be[o.source].platform_quotas[m].daily=_,type:"number",step:"0.01",min:"0",class:"input h-8 w-28 text-sm",placeholder:a(t)("admin.settings.platformQuota.placeholder")},null,8,m5),[[u,be[o.source].platform_quotas[m].daily,void 0,{number:!0}]])]),e("td",p5,[c(e("input",{"onUpdate:modelValue":_=>be[o.source].platform_quotas[m].weekly=_,type:"number",step:"0.01",min:"0",class:"input h-8 w-28 text-sm",placeholder:a(t)("admin.settings.platformQuota.placeholder")},null,8,g5),[[u,be[o.source].platform_quotas[m].weekly,void 0,{number:!0}]])]),e("td",y5,[c(e("input",{"onUpdate:modelValue":_=>be[o.source].platform_quotas[m].monthly=_,type:"number",step:"0.01",min:"0",class:"input h-8 w-28 text-sm",placeholder:a(t)("admin.settings.platformQuota.placeholder")},null,8,b5),[[u,be[o.source].platform_quotas[m].monthly,void 0,{number:!0}]])])]))),128))])])])])],8,T4)):h("",!0)]))),128))])])])],512),[[Se,S.value==="users"]]),c(e("div",x5,[e("div",h5,[e("div",f5,[e("h2",k5,n(a(t)("admin.settings.claudeCode.title")),1),e("p",v5,n(a(t)("admin.settings.claudeCode.description")),1)]),e("div",w5,[e("div",null,[e("label",C5,n(a(t)("admin.settings.claudeCode.minVersion")),1),c(e("input",{"onUpdate:modelValue":i[121]||(i[121]=o=>s.min_claude_code_version=o),type:"text",class:"input max-w-xs font-mono text-sm",placeholder:a(t)("admin.settings.claudeCode.minVersionPlaceholder")},null,8,V5),[[u,s.min_claude_code_version]]),e("p",U5,n(a(t)("admin.settings.claudeCode.minVersionHint")),1)]),e("div",S5,[e("label",$5,n(a(t)("admin.settings.claudeCode.maxVersion")),1),c(e("input",{"onUpdate:modelValue":i[122]||(i[122]=o=>s.max_claude_code_version=o),type:"text",class:"input max-w-xs font-mono text-sm",placeholder:a(t)("admin.settings.claudeCode.maxVersionPlaceholder")},null,8,P5),[[u,s.max_claude_code_version]]),e("p",E5,n(a(t)("admin.settings.claudeCode.maxVersionHint")),1)])])]),e("div",T5,[e("div",A5,[e("h2",M5,n(a(t)("admin.settings.gatewayForwarding.codexHardeningTitle")),1)]),e("div",F5,[e("div",L5,[e("div",H5,[e("h3",I5,n(a(t)("admin.settings.gatewayForwarding.codexTicketEnabled")),1),e("p",R5,n(a(t)("admin.settings.gatewayForwarding.codexTicketEnabledDesc")),1)]),g(T,{id:"codex-ticket-enabled",modelValue:s.openai_codex_ticket_enabled,"onUpdate:modelValue":i[123]||(i[123]=o=>s.openai_codex_ticket_enabled=o)},null,8,["modelValue"])]),e("div",B5,[e("div",j5,[e("h3",D5,n(a(t)("admin.settings.gatewayForwarding.codexTicketFailClosed")),1),e("p",O5,n(a(t)("admin.settings.gatewayForwarding.codexTicketFailClosedDesc")),1)]),g(T,{id:"codex-ticket-fail-closed",modelValue:s.openai_codex_ticket_fail_closed,"onUpdate:modelValue":i[124]||(i[124]=o=>s.openai_codex_ticket_fail_closed=o)},null,8,["modelValue"])]),e("div",z5,[e("h3",q5,n(a(t)("admin.settings.gatewayForwarding.codexTicketModels")),1),e("p",N5,n(a(t)("admin.settings.gatewayForwarding.codexTicketModelsDesc")),1
12),e("p",K5,n(a(t)("admin.settings.gatewayForwarding.codexTicketShapeNotice")),1),e("fieldset",W5,[e("legend",G5,n(x("èªå¨æç¥¨èå´","Automatic harvest scope")),1),c(e("select",{id:"codex-ticket-harvest-scope","onUpdate:modelValue":i[125]||(i[125]=o=>s.openai_codex_ticket_harvest_scope.mode=o),class:"input"},[e("option",Q5,n(x("å
¨é¨ OpenAI è´¦å·ï¼å
¼å®¹å设置ï¼","All OpenAI accounts (legacy default)")),1),e("option",Y5,n(x("ä»
æå®åç»","Selected groups only")),1)],512),[[Ie,s.openai_codex_ticket_harvest_scope.mode]]),e("label",J5,n(x("è´¦å·ééçç¥","Account harvest policy")),1),c(e("select",{id:"codex-ticket-account-policy","onUpdate:modelValue":i[126]||(i[126]=o=>s.openai_codex_ticket_harvest_scope.account_policy=o),class:"input mt-2"},[e("option",X5,n(x("ä»
å¯è°åº¦è´¦å·ï¼é»è®¤ï¼","Schedulable accounts only (default)")),1),e("option",Z5,n(x("å¯è°åº¦ä¼å
ï¼æå¨åè°è´¦å·æé","Prioritize schedulable; queue manually disabled accounts")),1)],512),[[Ie,s.openai_codex_ticket_harvest_scope.account_policy]]),s.openai_codex_ticket_harvest_scope.mode==="selected"?(r(),d("div",e3,[Ne.value?(r(),d("p",t3,n(x("åç»å 载失败ï¼å·²éèå´ä¿çï¼è¯·å·æ°åéè¯ã","Could not load groups. Saved selection is preserved; refresh to retry.")),1)):h("",!0),(r(!0),d(R,null,N(Re.value,o=>(r(),d("label",{key:o.id,class:"flex items-center gap-2 text-sm"},[c(e("input",{id:"codex-ticket-group-"+o.id,"onUpdate:modelValue":i[127]||(i[127]=m=>s.openai_codex_ticket_harvest_scope.group_ids=m),type:"checkbox",value:o.id},null,8,a3),[[ze,s.openai_codex_ticket_harvest_scope.group_ids]]),e("span",null,n(o.name)+" (#"+n(o.id)+")",1)]))),128)),s.openai_codex_ticket_harvest_scope.group_ids.length===0?(r(),d("p",s3,n(x("æªéæ©åç»ï¼ä¸ä¼èªå¨æç¥¨ï¼ä¸ä¼éåå
¨é¨è´¦å·ã","No groups selected: automatic harvesting is paused, not broadened to all accounts.")),1)):h("",!0)])):h("",!0),e("p",n3,n(x("æ§å¶åå°ééãèå´å¤è´¦å·ä¸åèªå¨è¡¥ç¥¨ï¼ç¼ºç¥¨æ¦æªå¼å¯æ¶ï¼èå´å¤éçé¨ç¥¨ä¹ä¸ååä¸é¨æ§éå·ãè´¦å·çº§ãä¸æç¥¨ãåªåééï¼ä¸åè°åº¦ï¼ä¹ä¸çäºéæºãéæµãè¿è½½ã临æ¶å·å´ãè¿æåé
é¢è尽账å·å§ç»è·³è¿ãå
¼å®¹æ¨¡å¼åªä¼ææå¨å
³éãåä¸è°åº¦ãçè´¦å·æ¾å°åæãä¿ååä¸è½®çæã","Controls background harvesting. Out-of-scope accounts are not probed, and fail-closed routing will not spend leftover tickets on them. Per-account skip-harvest only stops probing â the account stays schedulable and is not treated as paused or éæº. Rate-limited, overloaded, cooling-down, expired, and quota-exhausted accounts are always skipped. Compatibility mode only defers accounts whose scheduling switch was manually disabled. Changes apply next round.")),1)]),e("label",i3,n(x("票æ®å·æ°çç¥","Ticket refresh strategy")),1),c(e("select",{id:"codex-ticket-strategy","onUpdate:modelValue":i[128]||(i[128]=o=>s.openai_codex_ticket_strategy=o),class:"input mt-2"},[e("option",o3,n(x("æååå¤å¤ç¨ï¼é»è®¤ï¼","Prepare standby (default)")),1),e("option",l3,n(x("åºå®ä¸»ç¨ï¼å¤±æååéé","Keep primary until invalid")),1)],512),[[Ie,s.openai_codex_ticket_strategy]]),e("label",r3,[c(e("input",{id:"codex-ticket-strict",type:"checkbox","onUpdate:modelValue":i[129]||(i[129]=o=>s.openai_codex_ticket_strict_response=o)},null,512),[[ze,s.openai_codex_ticket_strict_response]]),I(n(x("ä¸¥æ ¼æ¦æªç¥¨æ®ååºä¸å¹é
ï¼é»è®¤å
³éï¼","Reject mismatched ticket responses (off by default)")),1)]),e("p",d3,n(x("ä»
å¨ HTTP ååºå¤´æç¡®ä¸å¹é
æ¶æ¦æªæ£æï¼å½å请æ±å¯è½å·²è®¡è´¹ï¼ä¸ä¼èªå¨éæ¾ãå
³éæ¶åªæ´æ°åç»ç¥¨æ®è°åº¦ã","Rejects the body when HTTP response state headers mismatch. The upstream may have charged; the request is not replayed. When off, only future ticket scheduling changes.")),1),e("p",c3,n(x("忢çç¥ä¿çææä¸»å¤ç¥¨æ®åå·å´ãåºå®ä¸»ç¨å¯è½å¨å¤±æåçæçå¾
æ°ç¥¨ã","Switching preserves valid tickets and cooldowns. Fixed primary may briefly wait for a new ticket after expiry.")),1),e("div",u3,[e("label",_3,[e("input",{id:"codex-ticket-model-astra",type:"checkbox",checked:s.openai_codex_ticket_models.includes("gpt-6-astra"),onChange:i[130]||(i[130]=o=>Cs("gpt-6-astra",o.target.checked))},null,40,m3),i[363]||(i[363]=e("span",null,"Astra (gpt-6-astra)",-1))]),e("label",p3,[e("input",{id:"codex-ticket-model-sol",type:"checkbox",checked:s.openai_codex_ticket_models.includes("gpt-5.6-sol"),onChange:i[131]||(i[131]=o=>Cs("gpt-5.6-sol",o.target.checked))},null,40,g3),i[364]||(i[364]=e("span",null,"Sol (gpt-5.6-sol)",-1))])])]),e("div",null,[e("h3",y3,n(a(t)("admin.settings.gatewayForwarding.codexTicketHarvestProxy")),1),e("p",b3,n(a(t)("admin.settings.gatewayForwarding.codexTicketHarvestProxyDesc")),1
12),e("div",{class:"mt-3 flex flex-wrap gap-2",role:"radiogroup","aria-label":a(t)("admin.settings.gatewayForwarding.codexTicketProxyMode")},[e("label",{class:X(["inline-flex cursor-pointer items-center gap-2 rounded-md border px-3 py-2 text-sm transition-colors",Ye.value==="mihomo"?"border-primary-500 bg-primary-50 text-primary-700 dark:bg-primary-900/30 dark:text-primary-300":"border-gray-200 text-gray-600 hover:border-primary-300 dark:border-dark-600 dark:text-gray-400"])},[e("input",{class:"sr-only",type:"radio",name:"codex-ticket-proxy-mode",value:"mihomo",checked:Ye.value==="mihomo",onChange:i[132]||(i[132]=o=>ga("mihomo"))},null,40,h3),e("span",null,n(a(t)("admin.settings.gatewayForwarding.codexTicketProxyModeMihomo")),1)],2),e("label",{class:X(["inline-flex cursor-pointer items-center gap-2 rounded-md border px-3 py-2 text-sm transition-colors",Ye.value==="static"?"border-primary-500 bg-primary-50 text-primary-700 dark:bg-primary-900/30 dark:text-primary-300":"border-gray-200 text-gray-600 hover:border-primary-300 dark:border-dark-600 dark:text-gray-400"])},[e("input",{class:"sr-only",type:"radio",name:"codex-ticket-proxy-mode",value:"static",checked:Ye.value==="static",onChange:i[133]||(i[133]=o=>ga("static"))},null,40,f3),e("span",null,n(a(t)("admin.settings.gatewayForwarding.codexTicketProxyModeStatic")),1)],2),e("label",{class:X(["inline-flex cursor-pointer items-center gap-2 rounded-md border px-3 py-2 text-sm transition-colors",Ye.value==="ip_pool"?"border-primary-500 bg-primary-50 text-primary-700 dark:bg-primary-900/30 dark:text-primary-300":"border-gray-200 text-gray-600 hover:border-primary-300 dark:border-dark-600 dark:text-gray-400"])},[e("input",{class:"sr-only",type:"radio",name:"codex-ticket-proxy-mode",value:"ip_pool",checked:Ye.value==="ip_pool",onChange:i[134]||(i[134]=o=>ga("ip_pool"))},null,40,k3),e("span",null,n(a(t)("admin.settings.gatewayForwarding.codexTicketProxyModeIPPool")),1)],2)],8,x3),Ye.value==="mihomo"?(r(),d("div",v3,[e("div",w3,[e("span",null,n(a(t)("admin.settings.gatewayForwarding.codexTicketProxyMihomoEndpoint")),1),e("code",{class:"rounded bg-white/70 px-1.5 py-0.5 font-mono text-xs dark:bg-dark-800/70"},n(sn))]),g(Ag,{onReady:Vi})])):Ye.value==="ip_pool"?(r(),d("p",C3,n(a(t)("admin.settings.gatewayForwarding.codexTicketProxyIPPoolHint")),1)):c((r(),d("input",{key:2,id:"codex-ticket-harvest-proxy","onUpdate:modelValue":i[135]||(i[135]=o=>s.openai_codex_ticket_harvest_proxy_url=o),type:"text",class:"input mt-3 w-full font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.codexTicketHarvestProxyPlaceholder"),autocomplete:"off"},null,8,V3)),[[u,s.openai_codex_ticket_harvest_proxy_url]]),s.openai_codex_ticket_harvest_proxy_configured&&Ye.value==="static"?(r(),d("p",U3,n(a(t)("admin.settings.gatewayForwarding.codexTicketHarvestProxyConfigured")),1)):h("",!0)]),e("div",null,[e("h3",S3,n(a(t)("admin.settings.gatewayForwarding.codexClientRestrictionTitle")),1),e("p",$3,n(a(t)("admin.settings.gatewayForwarding.codexHardeningDesc")),1)]),e("div",P3,[e("div",null,[e("label",E3,n(a(t)("admin.settings.gatewayForwarding.minCodexVersion")),1),c(e("input",{"onUpdate:modelValue":i[136]||(i[136]=o=>s.min_codex_version=o),type:"text",class:"input w-full font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.minCodexVersionPlaceholder")},null,8,T3),[[u,s.min_codex_version]])]),e("div",null,[e("label",A3,n(a(t)("admin.settings.gatewayForwarding.maxCodexVersion")),1),c(e("input",{"onUpdate:modelValue":i[137]||(i[137]=o=>s.max_codex_version=o),type:"text",class:"input w-full font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.maxCodexVersionPlaceholder")},null,8,M3),[[u,s.max_codex_version]])])]),e("p",F3,n(a(t)("admin.settings.gatewayForwarding.codexVersionHint")),1),e("div",null,[e("label",L3,n(a(t)("admin.settings.gatewayForwarding.codexFingerprintSignals")),1),e("p",H3,n(a(t)("admin.settings.gatewayForwarding.codexFingerprintSignalsDesc")),1),(r(!0),d(R,null,N(bt.value,(o,m)=>(r(),d("div",{key:`codex-fp-${m}`,class:"mb-2 flex items-center gap-2"},[c(e("select",{"onUpdate:modelValue":_=>o.type=_,class:"input w-32 text-sm"},[e("option",R3,n(a(t)("admin.settings.gatewayForwarding.codexFpTypeHeaderExact")),1),e("option",B3,n(a(t)("admin.settings.gatewayForwarding.codexFpTypeHeaderPrefix")),1),e("option",j3,n(a(t)("admin.settings.gatewayForwarding.codexFpTypeBodyPath")),1
12)],8,I3),[[Ie,o.type]]),c(e("input",{"onUpdate:modelValue":_=>o.match=_,type:"text",class:"input flex-1 font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.codexFpMatchPlaceholder")},null,8,D3),[[u,o.match]]),e("label",O3,[c(e("input",{"onUpdate:modelValue":_=>o.required=_,type:"checkbox"},null,8,z3),[[ze,o.required]]),I(" "+n(a(t)("admin.settings.gatewayForwarding.codexFpRequired")),1)]),e("button",{type:"button",class:"btn btn-secondary btn-sm shrink-0 text-red-600 hover:text-red-700 dark:text-red-400",onClick:_=>xi(m)},n(a(t)("admin.settings.gatewayForwarding.codexRemoveRow")),9,q3)]))),128)),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:bi},n(a(t)("admin.settings.gatewayForwarding.codexAddRow")),1),yi.value?(r(),d("p",N3,n(a(t)("admin.settings.gatewayForwarding.codexFingerprintNoRequiredWarn")),1)):h("",!0)]),e("div",K3,[e("div",W3,[e("label",G3,n(a(t)("admin.settings.gatewayForwarding.codexAllowAppServer")),1),e("p",Q3,n(a(t)("admin.settings.gatewayForwarding.codexAllowAppServerDesc")),1)]),g(T,{modelValue:s.codex_cli_only_allow_app_server_clients,"onUpdate:modelValue":i[138]||(i[138]=o=>s.codex_cli_only_allow_app_server_clients=o)},null,8,["modelValue"])]),e("div",null,[e("label",Y3,n(a(t)("admin.settings.gatewayForwarding.codexBlacklist")),1),e("p",J3,n(a(t)("admin.settings.gatewayForwarding.codexBlacklistDesc")),1),(r(!0),d(R,null,N(Pt.value,(o,m)=>(r(),d("div",{key:`codex-bl-${m}`,class:"mb-2 flex gap-2"},[c(e("input",{"onUpdate:modelValue":_=>o.originator=_,type:"text",class:"input w-1/3 font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.codexOriginatorPlaceholder")},null,8,X3),[[u,o.originator]]),c(e("input",{"onUpdate:modelValue":_=>o.uaContains=_,type:"text",class:"input flex-1 font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.codexUaContainsPlaceholder")},null,8,Z3),[[u,o.uaContains]]),e("button",{type:"button",class:"btn btn-secondary btn-sm shrink-0 text-red-600 hover:text-red-700 dark:text-red-400",onClick:_=>fi(m)},n(a(t)("admin.settings.gatewayForwarding.codexRemoveRow")),9,e6)]))),128)),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:hi},n(a(t)("admin.settings.gatewayForwarding.codexAddRow")),1)]),e("div",null,[e("label",t6,n(a(t)("admin.settings.gatewayForwarding.codexWhitelist")),1),e("p",a6,n(a(t)("admin.settings.gatewayForwarding.codexWhitelistDesc")),1),(r(!0),d(R,null,N(Et.value,(o,m)=>(r(),d("div",{key:`codex-wl-${m}`,class:"mb-2 flex gap-2"},[c(e("input",{"onUpdate:modelValue":_=>o.originator=_,type:"text",class:"input w-1/3 font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.codexOriginatorPlaceholder")},null,8,s6),[[u,o.originator]]),c(e("input",{"onUpdate:modelValue":_=>o.uaContains=_,type:"text",class:"input flex-1 font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.codexUaContainsPlaceholder")},null,8,n6),[[u,o.uaContains]]),e("label",{class:"flex shrink-0 items-center gap-1 text-xs text-gray-600 dark:text-gray-400",title:a(t)("admin.settings.gatewayForwarding.codexWhitelistSkipFingerprintTooltip")},[c(e("input",{"onUpdate:modelValue":_=>o.skipEngineFingerprint=_,type:"checkbox"},null,8,o6),[[ze,o.skipEngineFingerprint]]),I(" "+n(a(t)("admin.settings.gatewayForwarding.codexWhitelistSkipFingerprint")),1)],8,i6),e("button",{type:"button",class:"btn btn-secondary btn-sm shrink-0 text-red-600 hover:text-red-700 dark:text-red-400",onClick:_=>vi(m)},n(a(t)("admin.settings.gatewayForwarding.codexRemoveRow")),9,l6)]))),128)),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:ki},n(a(t)("admin.settings.gatewayForwarding.codexAddRow")),1)])])]),e("div",r6,[e("div",d6,[e("h2",c6,n(a(t)("admin.settings.upstreamBillingProbe.title")),1),e("p",u6,n(a(t)("admin.settings.upstreamBillingProbe.description")),1)]),e("div",_6,[Ze.value?(r(),d("div",m6,[i[365]||(i[365]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),I(" "+n(a(t)("common.loading")),1)])):(r(),d(R,{key:1},[e("div",p6,[e("div",null,[e("label",g6,n(a(t)("admin.settings.upstreamBillingProbe.enabled")),1),e("p",y6,n(a(t)("admin.settings.upstreamBillingProbe.enabledHint")),1)]),g(T,{modelValue:Ee.enabled,"onUpdate:modelValue":i[139]||(i[139]=o=>Ee.enabled=o),"aria-label":a(t)("admin.settings.upstreamBillingProbe.enabled"),"data-testid":"upstream-billing-probe-enabled"},null,8,["modelValue","aria-label"])]),Ee.enabled?(r(),d("div",b6,[e("label",x6,n(a(t)("admin.settings.upstreamBillingProbe.intervalMinutes")),1),c(e("input",{id:"upstream-billing-probe-interval","onUpdate:modelValue":i[140]||(i[140]=o=>Ee.interval_minutes=o),type:"number",min:"5",max:"1440",class:"input w-32","data-testid":"upstream-billing-probe-interval",onKeydown:dt(Me(Ss,["prevent"]),["enter"])},null,40,h6),[[u,Ee.interval_minutes,void 0,{number:!0}]]),e("p",f6,n(a(t)("admin.settings.upstreamBillingProbe.intervalHint")),1)])):h("",!0),e("div",k6,[e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:et.value,"data-testid":"upstream-billing-probe-save",onClick:Ss},n(et.value?a(t)("common.saving"):a(t)("common.save")),9,v6)])],64))])]),e("div",w6,[e("div",C6,[e("h2",V6,n(a(t)("admin.settings.ollamaCloudUsage.title")),1),e("p",U6,n(a(t)("admin.settings.ollamaCloudUsage.description")),1)]),e("div",S6,[Be.value?(r(),d("div",$6,[i[366]||(i[366]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),I(" "+n(a(t)("common.loading")),1)])):(r(),d(R,{key:1},[e("div",P6,[e("div",null,[e("label",E6,n(a(t)("admin.settings.ollamaCloudUsage.enabled")),1),e("p",T6,n(a(t)("admin.settings.ollamaCloudUsage.enabledHint")),1)]),g(T,{modelValue:Te.enabled,"onUpdate:modelValue":i[141]||(i[141]=o=>Te.enabled=o),"aria-label":a(t)("admin.settings.ollamaCloudUsage.enabled"),"data-testid":"ollama-cloud-usage-global-enabled"},null,8,["modelValue","aria-label"])]),Te.enabled?(r(),d("div",A6,[e("div",null,[e("label",M6,n(a(t)("admin.settings.ollamaCloudUsage.debounceMinutes")),1),c(e("input",{id:"ollama-cloud-usage-debounce","onUpdate:modelValue":i[142]||(i[142]=o=>Te.debounce_minutes=o),type:"number",min:"1",max:"60",class:"input w-32","data-testid":"ollama-cloud-usage-global-debounce",onKeydown:dt(Me(ba,["prevent"]),["enter"])},null,40,F6),[[u,Te.debounce_minutes,void 0,{number:!0}]]),e("p",L6,n(a(t)("admin.settings.ollamaCloudUsage.debounceHint")),1)]),e("div",null,[e("label",H6,n(a(t)("admin.settings.ollamaCloudUsage.intervalMinutes")),1),c(e("input",{id:"ollama-cloud-usage-interval","onUpdate:modelValue":i[143]||(i[143]=o=>Te.interval_minutes=o),type:"number",min:"15",max:"1440",class:"input w-32","data-testid":"ollama-cloud-usage-global-interval",onKeydown:dt(Me(ba,["prevent"]),["enter"])},null,40,I6),[[u,Te.interval_minutes,void 0,{number:!0}]]),e("p",R6,n(a(t)("admin.settings.ollamaCloudUsage.intervalHint")),1)])])):h("",!0),e("div",B6,[e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:tt.value,"data-testid":"ollama-cloud-usage-global-save",onClick:ba},n(tt.value?a(t)("common.saving"):a(t)("common.save")),9,j6)])],64))])]),e("div",D6,[e("div",O6,[e("h2",z6,n(a(t)("admin.settings.opencodeGoUsage.title")),1),e("p",q6,n(a(t)("admin.settings.opencodeGoUsage.description")),1)]),e("div",N6,[ot.value?(r(),d("div",K6,[i[367]||(i[367]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),I(" "+n(a(t)("common.loading")),1)])):(r(),d(R,{key:1},[e("div",W6,[e("div",null,[e("label",G6,n(a(t)("admin.settings.opencodeGoUsage.enabled")),1),e("p",Q6,n(a(t)("admin.settings.opencodeGoUsage.enabledHint")),1)]),g(T,{modelValue:we.enabled,"onUpdate:modelValue":i[144]||(i[144]=o=>we.enabled=o),"aria-label":a(t)("admin.settings.opencodeGoUsage.enabled"),"data-testid":"opencode-go-usage-global-enabled"},null,8,["modelValue","aria-label"])]),we.enabled?(r(),d("div",Y6,[e("div",null,[e("label",J6,n(a(t)("admin.settings.opencodeGoUsage.debounceMinutes")),1),c(e("input",{id:"opencode-go-usage-debounce","onUpdate:modelValue":i[145]||(i[145]=o=>we.debounce_minutes=o),type:"number",min:"1",max:"60",class:"input w-32","data-testid":"opencode-go-usage-global-debounce",onKeydown:dt(Me(xa,["prevent"]),["enter"])},null,40,X6),[[u,we.debounce_minutes,void 0,{number:!0}]]),e("p",Z6,n(a(t)("admin.settings.opencodeGoUsage.debounceHint")),1)]),e("div",null,[e("label",e8,n(a(t)("admin.settings.opencodeGoUsage.intervalMinutes")),1),c(e("input",{id:"opencode-go-usage-interval","onUpdate:modelValue":i[146]||(i[146]=o=>we.interval_minutes=o),type:"number",min:"5",max:"1440",class:"input w-32","data-testid":"opencode-go-usage-global-interval",onKeydown:dt(Me(xa,["prevent"]),["enter"])},null,40,t8),[[u,we.interval_minutes,void 0,{number:!0}]]),e("p",a8,n(a(t)("admin.settings.opencodeGoUsage.intervalHint")),1)])])):h("",!0),e("div",s8,[e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:Ke.value,"data-testid":"opencode-go-usage-global-save",onClick:xa},n(Ke.value?a(t)("common.saving"):a(t)("common.save")),9,n8)])],64))])]),e("div",i8,[e("div",o8,[e("h2",l8,n(a(t)("admin.settings.scheduling.title")),1),e("p",r8,n(a(t)("admin.settings.scheduling.description")),1)]),e("div",d8,[e("div",c8,[e("div",null,[e("label",u8,n(a(t)("admin.settings.scheduling.allowUngroupedKey")),1),e("p",_8,n(a(t)("admin.settings.scheduling.allowUngroupedKeyHint")),1)]),g(T,{modelValue:s.allow_ungrouped_key_scheduling,"onUpdate:modelValue":i[147]||(i[147]=o=>
12s.allow_ungrouped_key_scheduling=o)},null,8,["modelValue"])]),e("div",m8,[e("div",p8,[e("label",g8,n(a(t)("admin.settings.scheduling.accountSchedulingThresholdsTitle")),1),e("p",y8,n(a(t)("admin.settings.scheduling.accountSchedulingThresholdsDescription")),1),e("p",b8,n(a(t)("admin.settings.scheduling.accountSchedulingThresholdsGlobalHint")),1),e("p",x8,n(a(t)("admin.settings.scheduling.accountSchedulingThresholdsDisabledHint")),1)]),e("div",h8,[(r(!0),d(R,null,N(a($n),o=>(r(),d("div",{key:o,class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},[e("div",f8,[e("div",null,[e("label",k8,n(o),1),e("p",v8,n(a(t)("admin.settings.scheduling.accountSchedulingThresholdsRangeHint")),1)]),i[368]||(i[368]=e("span",{class:"rounded bg-gray-100 px-2 py-0.5 text-[11px] font-medium text-gray-600 dark:bg-dark-700 dark:text-gray-300"}," % ",-1))]),c(e("input",{"onUpdate:modelValue":m=>s.account_scheduling_thresholds[o]=m,type:"number",min:"1",max:"100",step:"1",class:"input mt-3","data-testid":`account-scheduling-threshold-${o}`,placeholder:"100"},null,8,w8),[[u,s.account_scheduling_thresholds[o],void 0,{number:!0}]])]))),128))])]),s.openai_advanced_scheduler_enabled?h("",!0):(r(),d("div",C8,[e("div",null,[e("label",V8,n(a(t)("admin.settings.openaiExperimentalScheduler.lowRatePriorityTitle")),1),e("p",U8,n(a(t)("admin.settings.openaiExperimentalScheduler.lowRatePriorityDescription")),1)]),g(T,{modelValue:s.openai_low_upstream_rate_priority_enabled,"onUpdate:modelValue":i[148]||(i[148]=o=>s.openai_low_upstream_rate_priority_enabled=o),"data-testid":"openai-low-rate-priority-toggle"},null,8,["modelValue"])])),!s.openai_advanced_scheduler_enabled&&s.openai_low_upstream_rate_priority_enabled?(r(),d("div",S8,[e("div",$8,[e("label",P8,n(a(t)("admin.settings.openaiExperimentalScheduler.oauthRateTitle")),1),e("p",E8,n(a(t)("admin.settings.openaiExperimentalScheduler.oauthRatePriorityDescription")),1)]),e("div",T8,[c(e("input",{id:"openai-oauth-scheduling-rate-multiplier","onUpdate:modelValue":i[149]||(i[149]=o=>s.openai_oauth_scheduling_rate_multiplier=o),class:"input pr-8","data-testid":"openai-oauth-scheduling-rate-multiplier",min:"0",step:"0.01",type:"number"},null,512),[[u,s.openai_oauth_scheduling_rate_multiplier,void 0,{number:!0}]]),i[369]||(i[369]=e("span",{class:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-sm text-gray-400"},"x",-1))])])):h("",!0),e("div",A8,[e("div",null,[e("label",M8,n(a(t)("admin.settings.openaiExperimentalScheduler.title")),1),e("p",F8,n(a(t)("admin.settings.openaiExperimentalScheduler.description")),1)]),g(T,{modelValue:s.openai_advanced_scheduler_enabled,"onUpdate:modelValue":i[150]||(i[150]=o=>s.openai_advanced_scheduler_enabled=o),"data-testid":"openai-advanced-scheduler-toggle"},null,8,["modelValue"])]),s.openai_advanced_scheduler_enabled?(r(),d("div",L8,[e("div",null,[e("label",H8,n(a(t)("admin.settings.openaiExperimentalScheduler.stickyWeightedTitle")),1),e("p",I8,n(a(t)("admin.settings.openaiExperimentalScheduler.stickyWeightedDescription")),1)]),g(T,{modelValue:s.openai_advanced_scheduler_sticky_weighted_enabled,"onUpdate:modelValue":i[151]||(i[151]=o=>s.openai_advanced_scheduler_sticky_weighted_enabled=o)},null,8,["modelValue"])])):h("",!0),s.openai_advanced_scheduler_enabled?(r(),d("div",R8,[e("div",null,[e("label",B8,n(a(t)("admin.settings.openaiExperimentalScheduler.subscriptionPriorityTitle")),1),e("p",j8,n(a(t)("admin.settings.openaiExperimentalScheduler.subscriptionPriorityDescription")),1)]),g(T,{modelValue:s.openai_advanced_scheduler_subscription_priority_enabled,"onUpdate:modelValue":i[152]||(i[152]=o=>s.openai_advanced_scheduler_subscription_priority_enabled=o)},null,8,["modelValue"])])):h("",!0),s.openai_advanced_scheduler_enabled?(r(),d("div",D8,[e("div",O8,[e("label",z8,n(a(t)("admin.settings.openaiExperimentalScheduler.oauthRateTitle")),1),e("p",q8,n(a(t)("admin.settings.openaiExperimentalScheduler.oauthRateWeightedDescription")),1)]),e("div",N8,[c(e("input",{id:"openai-oauth-scheduling-rate-multiplier","onUpdate:modelValue":i[153]||(i[153]=o=>s.openai_oauth_scheduling_rate_multiplier=o),class:"input pr-8","data-testid":"openai-oauth-scheduling-rate-multiplier",min:"0",step:"0.01",type:"number"},null,512),[[u,s.openai_oauth_scheduling_rate_multiplier,void 0,{number:!0}]]),i[370]||(i[370]=e("span",{class:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-sm text-gray-400"}
12,"x",-1))])])):h("",!0),s.openai_advanced_scheduler_enabled?(r(),d("div",K8,[e("div",null,[e("label",W8,n(a(t)("admin.settings.openaiExperimentalScheduler.weightsTitle")),1),e("p",G8,n(a(t)("admin.settings.openaiExperimentalScheduler.weightsDescription")),1)]),e("div",Q8,[(r(!0),d(R,null,N(En.value,o=>(r(),d("label",{key:o.key,class:"block"},[e("span",Y8,n(o.label),1),c(e("input",{"onUpdate:modelValue":m=>s[o.key]=m,class:"input mt-1",inputmode:"decimal",placeholder:o.placeholder,type:"text"},null,8,J8),[[u,s[o.key]]])]))),128))])])):h("",!0)])]),e("div",X8,[e("div",Z8,[e("h2",e7,n(a(t)("admin.settings.gatewayForwarding.title")),1),e("p",t7,n(a(t)("admin.settings.gatewayForwarding.description")),1)]),e("div",a7,[e("div",s7,[e("div",null,[e("label",n7,n(a(t)("admin.settings.gatewayForwarding.grokDefaultTextModel")),1),c(e("input",{id:"grok-default-text-model","onUpdate:modelValue":i[154]||(i[154]=o=>s.grok_default_text_model=o),type:"text",class:"input mt-2 w-full",list:"grok-default-text-model-options","data-testid":"grok-default-text-model",placeholder:"grok-4.5"},null,512),[[u,s.grok_default_text_model,void 0,{trim:!0}]]),i[371]||(i[371]=e("datalist",{id:"grok-default-text-model-options"},[e("option",{value:"grok-4.5"}),e("option",{value:"grok-4.1-fast"}),e("option",{value:"grok-4"})],-1)),e("p",i7,n(a(t)("admin.settings.gatewayForwarding.grokDefaultTextModelHint")),1)]),e("div",o7,[e("div",null,[e("label",l7,n(a(t)("admin.settings.gatewayForwarding.grokCrossClientMap")),1),e("p",r7,n(a(t)("admin.settings.gatewayForwarding.grokCrossClientMapHint")),1)]),g(T,{modelValue:s.grok_cross_client_model_map_enabled,"onUpdate:modelValue":i[155]||(i[155]=o=>s.grok_cross_client_model_map_enabled=o),"data-testid":"grok-cross-client-model-map-toggle"},null,8,["modelValue"])])]),e("div",d7,[e("label",c7,n(a(t)("admin.settings.gatewayForwarding.grokDefaultBaseURLMode")),1),c(e("select",{id:"grok-default-base-url-mode","onUpdate:modelValue":i[156]||(i[156]=o=>s.grok_default_base_url_mode=o),class:"input mt-2 w-full","data-testid":"grok-default-base-url-mode"},[e("option",u7,n(a(t)("admin.settings.gatewayForwarding.grokBaseURLModeCLI")),1),e("option",_7,n(a(t)("admin.settings.gatewayForwarding.grokBaseURLModeAPI")),1),e("option",m7,n(a(t)("admin.settings.gatewayForwarding.grokBaseURLModeUSEast1")),1),e("option",p7,n(a(t)("admin.settings.gatewayForwarding.grokBaseURLModeUSWest2")),1),e("option",g7,n(a(t)("admin.settings.gatewayForwarding.grokBaseURLModeEUWest1")),1)],512),[[Ie,s.grok_default_base_url_mode]]),e("p",y7,n(a(t)("admin.settings.gatewayForwarding.grokDefaultBaseURLModeHint")),1)]),e("div",b7,[e("label",x7,n(a(t)("admin.settings.gatewayForwarding.openaiTTFTMode")),1),c(e("select",{id:"openai-ttft-mode","onUpdate:modelValue":i[157]||(i[157]=o=>s.openai_ttft_mode=o),class:"input mt-2 w-full","data-testid":"openai-ttft-mode"},[e("option",h7,n(a(t)("admin.settings.gatewayForwarding.openaiTTFTModeSemantic")),1),e("option",f7,n(a(t)("admin.settings.gatewayForwarding.openaiTTFTModeVisible")),1)],512),[[Ie,s.openai_ttft_mode]]),e("p",k7,n(a(t)("admin.settings.gatewayForwarding.openaiTTFTModeHint")),1)]),e("div",v7,[e("div",null,[e("label",w7,n(a(t)("admin.settings.gatewayForwarding.fingerprintUnification")),1),e("p",C7,n(a(t)("admin.settings.gatewayForwarding.fingerprintUnificationHint")),1)]),g(T,{modelValue:s.enable_fingerprint_unification,"onUpdate:modelValue":i[158]||(i[158]=o=>s.enable_fingerprint_unification=o)},null,8,["modelValue"])]),e("div",V7,[e("div",null,[e("label",U7,n(a(t)("admin.settings.gatewayForwarding.metadataPassthrough")),1),e("p",S7,n(a(t)("admin.settings.gatewayForwarding.metadataPassthroughHint")),1)]),g(T,{modelValue:s.enable_metadata_passthrough,"onUpdate:modelValue":i[159]||(i[159]=o=>s.enable_metadata_passthrough=o)},null,8,["modelValue"])]),e("div",$7,[e("div",null,[e("label",P7,n(a(t)("admin.settings.gatewayForwarding.cchSigning")),1),e("p",E7,n(a(t)("admin.settings.gatewayForwarding.cchSigningHint")),1)]),g(T,{modelValue:s.enable_cch_signing,"onUpdate:modelValue":i[160]||(i[160]=o=>s.enable_cch_signing=o)},null,8,["modelValue"])]),e("div",T7,[e("div",null,[e("label",A7,n(a(t)("admin.settings.gatewayForwarding.claudeOAuthSystemPromptInjection")),1),e("p",M7,n(a(t)("admin.settings.gatewayForwarding.claudeOAuthSystemPromptInjectionHint")),1)]),g(T,{modelValue:s.enable_claude_oauth_system_prompt_injection,"onUpdate:modelValue":i[161]||(i[161]=o=>s.enable_claude_oauth_system_prompt_injection=o)},null,8,["modelValue"])]),e("div",null,[e("label",F7,n(a(t)("admin.settings.gatewayForwarding.claudeOAuthSystemPromptBlocks")),1),e("div",L7,[(r(!0),d(R,null,N(Qe.value,(o,m)=>(r(),d("div",{key:o.id,class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-dark-700 dark:bg-dark-800/60"},[e("div",{class:X(["flex flex-wrap items-center justify-between gap-3",o.expanded&&"mb-3"])},[e("div",H7,[e("div",I7,n(a(t)("admin.settings.gatewayForwarding.systemBlockTitle",{index:m+1})),1),e("div",R7,n(kn(o.preset)),1)]),e("div",B7,[e("button",{type:"button",class:"btn btn-secondary btn-sm px-2",title:o.expanded?a(t)("admin.settings.gatewayForwarding.systemBlockHide"):a(t)("admin.settings.gatewayForwarding.systemBlockShow"),"aria-label":o.expanded?a(t)("admin.settings.gatewayForwarding.systemBlockHide"):a(t)("admin.settings.gatewayForwarding.systemBlockShow"),onClick:_=>wn(m)},[g(de,{name:o.expanded?"eyeOff":"eye",size:"xs"},null,8,["name"])],8,j7),e("button",{type:"button",class:"btn btn-secondary btn-sm px-2",disabled:m===0,onClick:_=>Ja(m,-1)},[g(de,{name:"arrowUp",size:"xs"})],8,D7),e("button",{type:"button",class:"btn btn-secondary btn-sm px-2",disabled:m===Qe.value.length-1,onClick:_=>Ja(m,1)},[g(de,{name:"arrowDown",size:"xs"})],8,O7),g(T,{modelValue:o.enabled,"onUpdate:modelValue":_=>o.enabled=_},null,8,["modelValue","onUpdate:modelValue"]),e("button",{type:"button",class:"btn btn-secondary btn-sm px-2 text-red-600 hover:text-red-700 dark:text-red-400",onClick:_=>Cn(m)},[g(de,{name:"trash",size:"xs"})],8,z7)])],2),c(e("div",null,[e("div",q7,[e("div",null,[e("label",N7,n(a(t)("admin.settings.gatewayForwarding.systemBlockPreset")),1),g(ke,{modelValue:o.preset,"onUpdate:modelValue":_=>o.preset=_,options:Ya.value,onChange:_=>Vn(m,_)},null,8,["modelValue","onUpdate:modelValue","options","onChange"])]),e("div",null,[e("label",K7,n(a(t)("admin.settings.gatewayForwarding.systemBlockType")),1),g(ke,{modelValue:o.type,"onUpdate:modelValue":_=>o.type=_,options:hn.value},null,8,["modelValue","onUpdate:modelValue","options"])])]),e("div",W7,[e("label",G7,n(a(t)("admin.settings.gatewayForwarding.systemBlockText")),1),c(e("textarea",{"onUpdate:modelValue":_=>o.text=_,rows:"6",class:"input w-full resize-y font-mono text-xs leading-5",onInput:_=>Un(o)},null,40,Q7),[[u,o.text]])]),e("div",Y7,[e("div",J7,[e("div",null,[e("label",X7,n(a(t)("admin.settings.gatewayForwarding.systemBlockCacheControl")),1)]),g(T,{modelValue:o.cacheControlEnabled,"onUpdate:modelValue":_=>o.cacheControlEnabled=_},null,8,["modelValue","onUpdate:modelValue"])]),o.cacheControlEnabled?(r(),d("div",Z7,[g(ke,{modelValue:o.cacheControlTTL,"onUpdate:modelValue":_=>o.cacheControlTTL=_,options:fn.value},null,8,["modelValue","onUpdate:modelValue","options"])])):h("",!0)])],512),[[Se,o.expanded]])]))),128))]),e("div",e9,[e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:vn},[g(de,{name:"plus",size:"xs"}),I(" "+n(a(t)("admin.settings.gatewayForwarding.addSystemBlock")),1)]),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:Sn},[g(de,{name:"refresh",size:"xs"}),I(" "+n(a(t)("admin.settings.gatewayForwarding.resetSystemBlocks")),1)])]),e("p",t9,n(a(t)("admin.settings.gatewayForwarding.claudeOAuthSystemPromptBlocksHint")),1)]),e("div",a9,[e("div",null,[e("label",s9,n(a(t)("admin.settings.gatewayForwarding.anthropicCacheTTL1hInjection")),1),e("p",n9,n(a(t)("admin.settings.gatewayForwarding.anthropicCacheTTL1hInjectionHint")),1)]),g(T,{modelValue:s.enable_anthropic_cache_ttl_1h_injection,"onUpdate:modelValue":i[162]||(i[162]=o=>s.enable_anthropic_cache_ttl_1h_injection=o)},null,8,["modelValue"])]),e("div",i9,[e("div",null,[e("label",o9,n(a(t)("admin.settings.gatewayForwarding.rewriteMessageCacheControl")),1),e("p",l9,n(a(t)("admin.settings.gatewayForwarding.rewriteMessageCacheControlHint")),1)]),g(T,{modelValue:s.rewrite_message_cache_control,"onUpdate:modelValue":i[163]||(i[163]=o=>s.rewrite_message_cache_control=o)},null,8,["modelValue"])]),e("div",r9,[e("div",null,[e("label",d9,n(a(t)("admin.settings.gatewayForwarding.clientDatelineNormalization")),1),e("p",c9,n(a(t)("admin.settings.gatewayForwarding.clientDatelineNormalizationHint")),1)]),g(T,{modelValue:s.enable_client_dateline_normalization,"onUpdate:modelValue":i[164]||(i[164]=o=>s.enable_client_dateline_normalization=o)},null,8,["modelValue"])]),e("div",null,[e("label",u9,n(a(t)("admin.settings.gatewayForwarding.antigravityUserAgentVersion")),1),c(e("input",{"onUpdate:modelValue":i[165]||(i[165]=o=>s.antigravity_user_agent_version=o),type:"text",class:"input max-w-xs font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.antigravityUserAgentVersionPlaceholder")},null,8,_9),[[u,s.antigravity_user_agent_version]]),e("p",m9,n(a(t)("admin.settings.gatewayForwarding.antigravityUserAgentVersionHint")),1)]),e("div",null,[e("label",p9,n(a(t)("admin.settings.gatewayForwarding.openaiCodexUserAgent")),1),c(e("input",{"onUpdate:modelValue":i[166]||(i[166]=o=>s.openai_codex_user_agent=o),type:"text",class:"input w-full font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.openaiCodexUserAgentPlaceholder")},null,8,g9),[[u,s.openai_codex_user_agent]]),e("p",y9,n(a(t)("admin.settings.gatewayForwarding.openaiCodexUserAgentHint")),1)]),e("div",null,[e("label",b9,n(a(t)("admin.settings.gatewayForwarding.openaiCodexClientVersion")),1),c(e("input",{"onUpdate:modelValue":i[167]||(i[167]=o=>s.openai_codex_client_version=o),type:"text",class:"input w-full font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.openaiCodexClientVersionPlaceholder")},null,8,x9),[[u,s.openai_codex_client_version]]),e("p",h9,n(a(t)("admin.settings.gatewayForwarding.openaiCodexClientVersionHint")),1)]),e("div",f9,[e("div",null,[e("label",k9,n(a(t)("admin.settings.gatewayForwarding.openaiCodexVersionAutoSync")),1),e("p",v9,n(a(t)("admin.settings.gatewayForwarding.openaiCodexVersionAutoSyncHint")),1),hs.value?(r(),d("p",w9,n(hs.value),1)):h("",!0)]),g(T,{modelValue:s.openai_codex_version_auto_sync_enabled,"onUpdate:modelValue":i[168]||(i[168]=o=>s.openai_codex_version_auto_sync_enabled=o)},null,8,["modelValue"])]),e("div",null,[e("label",C9,n(a(t)("admin.settings.gatewayForwarding.claudeCodeClientVersion")),1),c(e("input",{"onUpdate:modelValue":i[169]||(i[169]=o=>s.claude_code_client_version=o),type:"text",class:"input w-full font-mono text-sm",placeholder:"2.1.280"},null,512),[[u,s.claude_code_client_version]]),e("p",V9,n(a(t)("admin.settings.gatewayForwarding.claudeCodeClientVersionHint")),1)]),e("div",U9,[e("div",null,[e("label",S9,n(a(t)("admin.settings.gatewayForwarding.claudeCodeVersionAutoSync")),1),e("p",$9,n(a(t)("admin.settings.gatewayForwarding.claudeCodeVersionAutoSyncHint")),1),ks.value?(r(),d("p",P9,n(ks.value),1)):h("",!0)]),g(T,{modelValue:s.claude_code_version_auto_sync_enabled,"onUpdate:modelValue":i[170]||(i[170]=o=>s.claude_code_version_auto_sync_enabled=o)},null,8,["modelValue"])])])]),e("div",E9,[e("div",T9,[e("h2",A9,n(a(t)("admin.settings.webSearchEmulation.title")),1),e("p",M9,n(a(t)("admin.settings.webSearchEmulation.description")),1)]),e("div",F9,[e("div",L9,[e("div",null,[e("label",H9,n(a(t)("admin.settings.webSearchEmulation.enabled")),1),e("p",I9,n(a(t)("admin.settings.webSearchEmulation.enabledHint")),1)]),g(T,{modelValue:Ae.enabled,"onUpdate:modelValue":i[171]||(i[171]=o=>Ae.enabled=o)},null,8,["modelValue"])]),Ae.enabled?(r(),d("div",R9,[e("div",B9,[e("label",j9,n(a(t)("admin.settings.webSearchEmulation.providers")),1),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:Fn},n(a(t)("admin.settings.webSearchEmulation.addProvider")),1)]),Ae.providers.length===0?(r(),d("div",D9,n(a(t)("admin.settings.webSearchEmulation.noProviders")),1)):h("",!0),(r(!0),d(R,null,N(Ae.providers,(o,m)=>(r(),d("div",{key:m,class:"rounded-lg border border-gray-200 dark:border-dark-600"},[e("div",{class:"flex cursor-pointer items-center justify-between px-4 py-3",onClick:_=>An(m)},[e("div",z9,[(r(),d("svg",{class:X(["h-4 w-4 text-gray-400 transition-transform",{"rotate-90":nt[m]}]),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[...i[372]||(i[372]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)])],2)),g(ke,{modelValue:o.type,"onUpdate:modelValue":_=>o.type=_,options:[{value:"brave",label:"Brave Search"},{value:"tavily",label:"Tavily"}],class:"w-36",onClick:i[172]||(i[172]=Me(()=>{},["stop"]))},null,8,["modelValue","onUpdate:modelValue"]),e("span",q9,n(o.quota_used??0)+" / "+n(o.quota_limit!=null&&o.quota_limit>0?o.quota_limit:"â"),1),!nt[m]&&o.api_key_configured?(r(),d("span",N9,n(a(t)("admin.settings.webSearchEmulation.apiKeyConfigured")),1)):h("",!0)]),e("button",{type:"button",class:"text-red-500 hover:text-red-700 text-xs",onClick:Me(_=>Mn(m),["stop"])},n(a(t)("admin.settings.webSearchEmulation.removeProvider")),9,K9)],8,O9),nt[m]?(r(),d("div",W9,[e("div",null,[e("label",G9,n(a(t)("admin.settings.webSearchEmulation.apiKey")),1),e("div",Q9,[c(e("input",{"onUpdate:modelValue":_=>o.api_key=_,type:lt[m]?"text":"password",class:X(["input w-full text-sm",o.api_key||o.api_key_configured?"pr-16":""]),placeholder:o.api_key_configured?"â¢â¢â¢â¢â¢â¢â¢â¢":a(t)("admin.settings.webSearchEmulation.apiKeyPlaceholder")},null,10,Y9),[[on,o.api_key]]),o.api_key||o.api_key_configured?(r(),d("div",J9,[e("button",{type:"button",class:"rounded p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",title:lt[m]?a(t)("admin.settings.webSearchEmulation.hideApiKey"):a(t)("admin.settings.webSearchEmulation.showApiKey"),onClick:_=>lt[m]=!lt[m]},[lt[m]?(r(),d("svg",eC,[...i[374]||(i[374]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.878 9.878L3 3m6.878 6.878L21 21"},null,-1)])])):(r(),d("svg",Z9,[...i[373]||(i[373]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"},null,-1),e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"},null,-1)])]))],8,X9),e("button",{type:"button",class:X(["rounded p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",{"opacity-30 curs
12or-not-allowed":!o.api_key}]),title:a(t)("admin.settings.webSearchEmulation.copyApiKey"),disabled:!o.api_key,onClick:_=>Rn(m)},[...i[375]||(i[375]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})],-1)])],10,tC)])):h("",!0)])]),e("div",aC,[e("div",null,[e("label",sC,n(a(t)("admin.settings.webSearchEmulation.quotaLimit")),1),c(e("input",{"onUpdate:modelValue":_=>o.quota_limit=_,type:"number",min:"1",class:"input text-sm",placeholder:"â"},null,8,nC),[[u,o.quota_limit]]),e("p",iC,n(a(t)("admin.settings.webSearchEmulation.quotaLimitHint")),1)]),e("div",null,[e("label",oC,n(a(t)("admin.settings.webSearchEmulation.subscribedAt")),1),e("input",{value:Ln(o.subscribed_at),type:"date",class:"input text-sm",onInput:_=>o.subscribed_at=Hn(_.target.value)},null,40,lC),e("p",rC,n(a(t)("admin.settings.webSearchEmulation.subscribedAtHint")),1)])]),e("div",dC,[e("span",cC,n(a(t)("admin.settings.webSearchEmulation.quotaUsage"))+":",1),o.quota_limit!=null&&o.quota_limit>0?(r(),d("div",uC,[e("div",{class:X(["h-full rounded-full transition-all",oa(o)>90?"bg-red-500":oa(o)>70?"bg-yellow-500":"bg-green-500"]),style:Wo({width:Math.min(oa(o),100)+"%"})},null,6)])):(r(),d("div",_C)),e("span",mC,n(o.quota_used??0)+" / "+n(o.quota_limit!=null&&o.quota_limit>0?o.quota_limit:"â"),1),(o.quota_used??0)>0?(r(),d("button",{key:2,type:"button",class:"text-xs text-primary-600 hover:text-primary-700",onClick:_=>In(m)},n(a(t)("admin.settings.webSearchEmulation.resetUsage")),9,pC)):h("",!0)]),e("div",gC,[e("div",yC,[e("label",bC,n(a(t)("admin.settings.webSearchEmulation.proxy")),1),g(ml,{modelValue:o.proxy_id,"onUpdate:modelValue":_=>o.proxy_id=_,proxies:as.value},null,8,["modelValue","onUpdate:modelValue","proxies"])]),e("button",{type:"button",class:"btn btn-secondary btn-sm whitespace-nowrap",onClick:i[173]||(i[173]=_=>Tn())},n(a(t)("admin.settings.webSearchEmulation.test")),1)])])):h("",!0)]))),128))])):h("",!0)])]),Bt.value?(r(),d("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:i[178]||(i[178]=Me(o=>Bt.value=!1,["self"]))},[e("div",xC,[e("h3",hC,n(a(t)("admin.settings.webSearchEmulation.testResultTitle")),1),e("div",fC,[c(e("input",{"onUpdate:modelValue":i[174]||(i[174]=o=>ia.value=o),type:"text",class:"input flex-1 text-sm",placeholder:a(t)("admin.settings.webSearchEmulation.testDefaultQuery"),onKeyup:i[175]||(i[175]=dt(o=>ss(),["enter"]))},null,40,kC),[[u,ia.value]]),e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:Rt.value,onClick:i[176]||(i[176]=o=>ss())},n(Rt.value?a(t)("admin.settings.webSearchEmulation.testing"):a(t)("admin.settings.webSearchEmulation.test")),9,vC)]),mt.value?(r(),d("div",wC,[e("p",CC,n(a(t)("admin.settings.webSearchEmulation.testResultProvider"))+": "+n(mt.value.provider),1),mt.value.results.length===0?(r(),d("div",VC,n(a(t)("admin.settings.webSearchEmulation.testNoResults")),1)):h("",!0),(r(!0),d(R,null,N(mt.value.results,(o,m)=>(r(),d("div",{key:m,class:"mt-2 border-t border-gray-200 pt-2 first:mt-0 first:border-0 first:pt-0 dark:border-dark-600"},[e("a",{href:o.url,target:"_blank",class:"text-sm font-medium text-blue-600 hover:underline dark:text-blue-400"},n(o.title),9,UC),e("p",SC,n(o.snippet),1)]))),128))])):h("",!0),e("div",$C,[e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:i[177]||(i[177]=o=>Bt.value=!1)},n(a(t)("common.close")),1)])])])):h("",!0),e("div",PC,[e("div",EC,[e("h2",TC,n(a(t)("admin.settings.usageRecords.title")),1),e("p",AC,n(a(t)("admin.settings.usageRecords.description")),1)]),e("div",MC,[e("div",FC,[e("div",null,[e("label",LC,n(a(t)("admin.settings.user_error_view.label")),1),e("p",HC,n(a(t)("admin.settings.user_error_view.description")),1)]),e("label",IC,[c(e("input",{"onUpdate:modelValue":i[179]||(i[179]=o=>s.allow_user_view_error_requests=o),type:"checkbox"},null,512),[[ze,s.allow_user_view_error_requests]]),i[376]||(i[376]=e("span",{class:"toggle-slider"},null,-1))])]),e("div",RC,[e("div",null,[e("label",BC,n(a(t)("admin.settings.long_context_badge.label")),1),e("p",jC,n(a(t)("admin.settings.long_context_badge.description")),1)]),e("label",DC,[c(e("input",{"onUpdate:modelValue":i[180]||(i[180]=o=>s.usage_show_long_context_badge=o),type:"checkbox"},null,512),[[ze,s.usage_show_long_context_badge]]),i[377]||(i[377]=e("span",{class:"toggle-slider"},null,-1))])])])])],512),[[Se,S.value==="gateway"]]),c(e("div",OC,[e("div",zC,[e("div",qC,[e("h2",NC,n(a(t)("admin.settings.site.title")),1),e("p",KC,n(a(t)("admin.settings.site.description")),1)]),e("div",WC,[e("div",GC,[e("div",null,[e("h3",QC,n(a(t)("admin.settings.site.backendMode")),1),e("p",YC,n(a(t)("admin.settings.site.backendModeDescription")),1)]),g(T,{modelValue:s.backend_mode_enabled,"onUpdate:modelValue":i[181]||(i[181]=o=>s.backend_mode_enabled=o)},null,8,["modelValue"])]),e("div",JC,[e("div",null,[e("label",XC,n(a(t)("admin.settings.site.siteName")),1),c(e("input",{"onUpdate:modelValue":i[182]||(i[182]=o=>s.site_name=o),type:"text",class:"input",placeholder:a(t)("admin.settings.site.siteNamePlaceholder")},null,8,ZC),[[u,s.site_name]]),e("p",eV,n(a(t)("admin.settings.site.siteNameHint")),1)]),e("div",null,[e("label",tV,n(a(t)("admin.settings.site.siteSubtitle")),1),c(e("input",{"onUpdate:modelValue":i[183]||(i[183]=o=>s.site_subtitle=o),type:"text",class:"input",placeholder:a(t)("admin.settings.site.siteSubtitlePlaceholder")},null,8,aV),[[u,s.site_subtitle]]),e("p",sV,n(a(t)("admin.settings.site.siteSubtitleHint")),1)])]),e("div",null,[e("label",nV,n(a(t)("admin.settings.site.apiBaseUrl")),1),c(e("input",{"onUpdate:modelValue":i[184]||(i[184]=o=>s.api_base_url=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.site.apiBaseUrlPlaceholder")},null,8,iV),[[u,s.api_base_url]]),e("p",oV,n(a(t)("admin.settings.site.apiBaseUrlHint")),1)]),e("div",lV,[e("h3",rV,n(a(t)("admin.settings.site.tablePreferencesTitle")),1),e("p",dV,n(a(t)("admin.settings.site.tablePreferencesDescription")),1),e("div",cV,[e("div",null,[e("label",uV,n(a(t)("admin.settings.site.tableDefaultPageSize")),1),c(e("input",{"onUpdate:modelValue":i[185]||(i[185]=o=>s.table_default_page_size=o),type:"number",min:"5",max:"1000",step:"1",class:"input w-40"},null,512),[[u,s.table_default_page_size,void 0,{number:!0}]]),e("p",_V,n(a(t)("admin.settings.site.tableDefaultPageSizeHint")),1)]),e("div",null,[e("label",mV,n(a(t)("admin.settings.site.tablePageSizeOptions")),1),c(e("input",{"onUpdate:modelValue":i[186]||(i[186]=o=>se.value=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.site.tablePageSizeOptionsPlaceholder")},null,8,pV),[[u,se.value]]),e("p",gV,n(a(t)("admin.settings.site.tablePageSizeOptionsHint")),1)])])]),e("div",null,[e("label",yV,n(a(t)("admin.settings.site.customEndpoints.title")),1),e("p",bV,n(a(t)("admin.settings.site.customEndpoints.description")),1),e("div",xV,[(r(!0),d(R,null,N(s.custom_endpoints,(o,m)=>(r(),d("div",{key:m,class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},[e("div",hV,[e("span",fV,n(a(t)("admin.settings.site.customEndpoints.itemLabel",{n:m+1})),1),e("button",{type:"button",class:"rounded p-1 text-red-400 hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20",onClick:_=>ci(m)},[...i[378]||(i[378]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,kV)]),e("div",vV,[e("div",null,[e("label",wV,n(a(t)("admin.settings.site.customEndpoints.name")),1),c(e("input",{"onUpdate:modelValue":_=>o.name=_,type:"text",class:"input text-sm",placeholder:a(t)("admin.settings.site.customEndpoints.namePlaceholder")},null,8,CV),[[u,o.name]])]),e("div",null,[e("label",VV,n(a(t)("admin.settings.site.customEndpoints.endpointUrl")),1),c(e("input",{"onUpdate:modelValue":_=>o.endpoint=_,type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.site.customEndpoints.endpointUrlPlaceholder")},null,8,UV),[[u,o.endpoint]])]),e("div",SV,[e("label",$V,n(a(t)("admin.settings.site.customEndpoints.descriptionLabel")),1),c(e("input",{"onUpdate:modelValue":_=>o.description=_,type:"text",class:"input text-sm",placeholder:a(t)("admin.settings.site.customEndpoints.descriptionPlaceholder")},null,8,PV),[[u,o.description]])])])]))),128))]),e("button",{type:"button",class:"mt-3 flex w-full items-center justify-center gap-2 rounded-lg border-2 border-dashed border-gray-300 px-4 py-2.5 text-sm text-gray-500 transition-colors hover:border-primary-400 hover:text-primary-600 dark:border-dark-600 dark:text-gray-400 dark:hover:border-primary-500 dark:hover:text-primary-400",onClick:di},[i[379]||(i[379]=e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4v16m8-8H4"})],-1)),I(" "+n(a(t)("admin.settings.site.customEndpoints.add")),1)])]),e("div",null,[e("label",EV,n(a(t)("admin.settings.site.contactInfo")),1),c(e("input",{"onUpdate:modelValue":i[187]||(i[187]=o=>s.contact_info=o),type:"text",class:"input",placeholder:a(t)("admin.settings.site.contactInfoPlaceholder")},null,8,TV),[[u,s.contact_info]]),e("p",AV,n(a(t)("admin.settings.site.contactInfoHint")),1)]),e("div",null,[e("label",MV,n(a(t)("admin.settings.site.docUrl")),1),c(e("input",{"onUpdate:modelValue":i[188]||(i[188]=o=>s.doc_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.site.docUrlPlaceholder")},null,8,FV),[[u,s.doc_url]]),e("p",LV,n(a(t)("admin.settings.site.docUrlHint")),1)]),e("div",null,[e("label",HV,n(a(t)("admin.settings.site.siteLogo")),1),g(Qt,{modelValue:s.site_logo,"onUpdate:modelValue":i[189]||(i[189]=o=>s.site_logo=o),mode:"image","upload-label":a(t)("admin.settings.site.uploadImage"),"remove-label":a(t)("admin.settings.site.remove"),hint:a(t)("admin.settings.site.logoHint"),"max-size":300*1024},null,8,["modelValue","upload-label","remove-label","hint"])]),e("div",null,[e("label",IV,n(a(t)("admin.settings.site.homeContent")),1),c(e("textarea",{"onUpdate:modelValue":i[190]||(i[190]=o=>s.home_content=o),rows:"6",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.site.homeContentPlaceholder")},null,8,RV),[[u,s.home_content]]),e("p",BV,n(a(t)("admin.settings.site.homeContentHint")),1),e("p",jV,n(a(t)("admin.settings.site.homeContentIframeWarning")),1)]),e("div",DV,[e("div",null,[e("label",OV,n(a(t)("admin.settings.site.compactHome")),1),e("p",zV,n(a(t)("admin.settings.site.compactHomeHint")),1)]),g(T,{modelValue:s.compact_home_enabled,"onUpdate:modelValue":i[191]||(i[191]=o=>s.compact_home_enabled=o),"data-testid":"compact-home-toggle"},null,8,["modelValue"])]),e("div",qV,[e("div",null,[e("label",NV,n(a(t)("admin.settings.site.hideCcsImportButton")),1
12),e("p",KV,n(a(t)("admin.settings.site.hideCcsImportButtonHint")),1)]),g(T,{modelValue:s.hide_ccs_import_button,"onUpdate:modelValue":i[192]||(i[192]=o=>s.hide_ccs_import_button=o)},null,8,["modelValue"])])])]),e("div",WV,[e("div",GV,[e("h2",QV,n(a(t)("admin.settings.customMenu.title")),1),e("p",YV,n(a(t)("admin.settings.customMenu.description")),1)]),e("div",JV,[(r(!0),d(R,null,N(s.custom_menu_items,(o,m)=>(r(),d("div",{key:o.id||m,class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},[e("div",XV,[e("span",ZV,n(a(t)("admin.settings.customMenu.itemLabel",{n:m+1})),1),e("div",eU,[m>0?(r(),d("button",{key:0,type:"button",class:"rounded p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-dark-700",title:a(t)("admin.settings.customMenu.moveUp"),onClick:_=>ps(m,-1)},[...i[380]||(i[380]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M5 15l7-7 7 7"})],-1)])],8,tU)):h("",!0),m<s.custom_menu_items.length-1?(r(),d("button",{key:1,type:"button",class:"rounded p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-dark-700",title:a(t)("admin.settings.customMenu.moveDown"),onClick:_=>ps(m,1)},[...i[381]||(i[381]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19 9l-7 7-7-7"})],-1)])],8,aU)):h("",!0),e("button",{type:"button",class:"rounded p-1 text-red-400 hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20",title:a(t)("admin.settings.customMenu.remove"),onClick:_=>si(m)},[...i[382]||(i[382]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,sU)])]),e("div",nU,[e("div",null,[e("label",iU,n(a(t)("admin.settings.customMenu.name")),1),c(e("input",{"onUpdate:modelValue":_=>o.label=_,type:"text",class:"input text-sm",placeholder:a(t)("admin.settings.customMenu.namePlaceholder")},null,8,oU),[[u,o.label]])]),e("div",null,[e("label",lU,n(a(t)("admin.settings.customMenu.visibility")),1),c(e("select",{"onUpdate:modelValue":_=>o.visibility=_,class:"input text-sm"},[e("option",dU,n(a(t)("admin.settings.customMenu.visibilityUser")),1),e("option",cU,n(a(t)("admin.settings.customMenu.visibilityAdmin")),1)],8,rU),[[Ie,o.visibility]])]),e("div",uU,[e("label",_U,n(a(t)("admin.settings.customMenu.url")),1),c(e("input",{"onUpdate:modelValue":_=>o.url=_,type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.customMenu.urlPlaceholder")},null,8,mU),[[u,o.url]])]),e("label",pU,[c(e("input",{"onUpdate:modelValue":_=>o.hide_open_button=_,type:"checkbox","data-testid":"custom-menu-hide-open-button"},null,8,gU),[[ze,o.hide_open_button]]),e("span",yU,n(a(t)("admin.settings.customMenu.hideOpenButton")),1)]),e("div",bU,[e("label",xU,n(a(t)("admin.settings.customMenu.iconSvg")),1),g(Qt,{"model-value":o.icon_svg,mode:"svg",size:"sm","upload-label":a(t)("admin.settings.customMenu.uploadSvg"),"remove-label":a(t)("admin.settings.customMenu.removeSvg"),"onUpdate:modelValue":_=>o.icon_svg=_},null,8,["model-value","upload-label","remove-label","onUpdate:modelValue"]),e("div",hU,[e("p",fU,n(a(t)("admin.settings.customMenu.iconPresets")),1),e("div",kU,[(r(),d(R,null,N(Xa,_=>e("button",{key:_.key,type:"button","data-test":"custom-menu-icon-preset","data-preset":_.key,"aria-pressed":o.icon_svg===_.svg,title:_.label,class:"flex h-10 min-w-0 items-center gap-2 rounded-lg border px-2 text-left text-xs font-medium transition-colors",onClick:G=>ii(o,_.svg)},[e("span",{class:"flex h-5 w-5 shrink-0 items-center justify-center [&>svg]:h-5 [&>svg]:w-5",innerHTML:_.svg},null,8,wU),e("span",CU,n(_.label),1)],8,vU)),64))])])])])]))),128)),e("button",{type:"button",class:"flex w-full items-center justify-center gap-2 rounded-lg border-2 border-dashed border-gray-300 py-3 text-sm text-gray-500 transition-colors hover:border-primary-400 hover:text-primary-600 dark:border-dark-600 dark:text-gray-400 dark:hover:border-primary-500 dark:hover:text-primary-400",onClick:ai},[i[383]||(i[383]=e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4v16m8-8H4"})],-1)),I(" "+n(a(t)("admin.settings.customMenu.add")),1)])])]),e("div",VU,[e("div",UU,[e("h2",SU,n(a(t)("admin.settings.homeProducts.title")),1),e("p",$U,n(a(t)("admin.settings.homeProducts.description")),1)]),e("div",PU,[(r(!0),d(R,null,N(s.home_product_menu_items,(o,m)=>(r(),d("div",{key:o.id||m,class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},[e("div",EU,[e("span",TU,n(a(t)("admin.settings.homeProducts.itemLabel",{n:m+1})),1),e("button",{type:"button",class:"rounded p-1 text-red-400 hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20",title:a(t)("admin.settings.homeProducts.remove"),onClick:_=>ri(m)},[g(de,{name:"trash",size:"sm"})],8,AU)]),e("div",MU,[e("div",null,[e("label",FU,n(a(t)("admin.settings.homeProducts.name")),1),c(e("input",{"onUpdate:modelValue":_=>o.label=_,type:"text",class:"input text-sm"},null,8,LU),[[u,o.label]])]),e("div",null,[e("label",HU,n(a(t)("admin.settings.homeProducts.action")),1),c(e("select",{"onUpdate:modelValue":_=>o.action=_,class:"input text-sm"},[e("option",RU,n(a(t)("admin.settings.customMenu.actionSameTab")),1),e("option",BU,n(a(t)("admin.settings.customMenu.actionNewTab")),1)],8,IU),[[Ie,o.action]])]),e("div",jU,[e("label",DU,n(a(t)("admin.settings.homeProducts.url")),1),c(e("input",{"onUpdate:modelValue":_=>o.url=_,type:"url",class:"input font-mono text-sm"},null,8,OU),[[u,o.url]])]),e("div",zU,[e("label",qU,n(a(t)("admin.settings.customMenu.iconSvg")),1),g(Qt,{"model-value":o.icon_svg,mode:"svg",size:"sm","upload-label":a(t)("admin.settings.customMenu.uploadSvg"),"remove-label":a(t)("admin.settings.customMenu.removeSvg"),"onUpdate:modelValue":_=>o.icon_svg=_},null,8,["model-value","upload-label","remove-label","onUpdate:modelValue"]),e("div",NU,[(r(),d(R,null,N(Xa,_=>e("button",{key:_.key,type:"button","data-test":"home-product-icon-preset","data-preset":_.key,"aria-pressed":o.icon_svg===_.svg,title:_.label,class:"flex h-10 min-w-0 items-center gap-2 rounded-lg border px-2 text-left text-xs font-medium transition-colors",onClick:G=>li(o,_.svg)},[e("span",{class:"flex h-5 w-5 shrink-0 items-center justify-center [&>svg]:h-5 [&>svg]:w-5",innerHTML:_.svg},null,8,WU),e("span",GU,n(_.label),1)],8,KU)),64))])])])]))),128)),e("button",{type:"button",class:"flex w-full items-center justify-center gap-2 rounded-lg border-2 border-dashed border-gray-300 py-3 text-sm text-gray-500 hover:border-primary-400 hover:text-primary-600 dark:border-dark-600 dark:text-gray-400",onClick:oi},[g(de,{name:"plus",size:"sm"}),I(" "+n(a(t)("admin.settings.homeProducts.add")),1)])])])],512),[[Se,S.value==="general"]]),c(e("div",QU,[e("div",YU,[e("div",JU,[e("div",XU,[e("div",null,[e("h2",ZU,n(x("ç»å½æ¡æ¬¾ç¡®è®¤","Login agreement")),1),e("p",eS,n(x("æ§å¶ç»å½é¡µæ¯å¦è¦æ±ç¨æ·å
é
è¯»å¹¶åææå¡æ¡æ¬¾ãéç§æ¿çæå
¶ä» Markdown ææ¡£ã","Control whether the login page requires users to accept Markdown policy documents first.")),1)]),e("div",tS,[e("span",aS,n(s.login_agreement_enabled?x("å·²å¯ç¨","Enabled"):x("æªå¯ç¨","Disabled")),1),g(T,{modelValue:s.login_agreement_enabled,"onUpdate:modelValue":i[193]||(i[193]=o=>s.login_agreement_enabled=o)},null,8,["modelValue"])])])]),e("div",sS,[e("div",nS,[e("div",null,[e("label",iS,n(x("å±ç¤ºå½¢å¼","Display mode")),1),e("div",oS,[e("button",{type:"button",class:X(["inline-flex items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",s.login_agreement_mode==="modal"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[194]||(i[194]=o=>s.login_agreement_mode="modal")},[g(de,{name:"shield",size:"sm"}),I(" "+n(x("å¼¹çª","Modal")),1)],2),e("button",{type:"button",class:X(["inline-flex items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",s.login_agreement_mode==="checkbox"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[195]||(i[195]=o=>s.login_agreement_mode="checkbox")}
12,[g(de,{name:"checkCircle",size:"sm"}),I(" "+n(x("å¤éæ¡","Checkbox")),1)],2)]),e("p",lS,n(s.login_agreement_mode==="checkbox"?x("å¤éæ¡ä¼æ¾ç¤ºå¨ç»å½æé®ä¸æ¹ï¼æªå¾éåææç»å½å
¥å£ç¦ç¨ã","The checkbox appears below the login button and gates all login actions."):x("å¼¹çªä¼å¨ç»å½é¡µæå¼ï¼ç¨æ·æç»åææç»å½å
¥å£ä¿æç¦ç¨ã","The modal opens on the login page and gates all login actions until accepted.")),1)]),e("div",null,[e("label",rS,n(x("æ¡æ¬¾æ´æ°æ¥æ","Updated date")),1),c(e("input",{"onUpdate:modelValue":i[196]||(i[196]=o=>s.login_agreement_updated_at=o),type:"date",class:"input"},null,512),[[u,s.login_agreement_updated_at]]),e("p",dS,n(x("æ¥ææææ¡£å
容åååï¼ç¨æ·éè¦éæ°åæã","Changing the date or content requires fresh consent.")),1)])]),e("div",null,[e("div",cS,[e("div",null,[e("h3",uS,n(x("åè®®ææ¡£","Agreement documents")),1),e("p",_S,n(x("ææ¡£åç§°å¯èªå®ä¹ï¼å
容æ Markdown ä¿åãå¯åèï¼æå¡æ¡æ¬¾ãä½¿ç¨æ¿çãæ¯æçå½å®¶åå°åºãæå¡ç¹å®æ¡æ¬¾ã","Document titles are customizable and content is saved as Markdown.")),1)]),e("button",{type:"button",class:"btn btn-primary btn-sm inline-flex items-center gap-1.5",onClick:ui},[g(de,{name:"plus",size:"sm"}),I(" "+n(x("æ·»å ææ¡£","Add document")),1)])]),e("div",mS,[(r(!0),d(R,null,N(s.login_agreement_documents,(o,m)=>(r(),d("div",{key:o.id||m,class:"rounded-lg border border-gray-200 bg-white p-4 dark:border-dark-700 dark:bg-dark-800/60"},[e("div",pS,[e("div",gS,[e("span",yS,[g(de,{name:m===1?"shield":m===2?"globe":m===3?"cog":"document",size:"sm"},null,8,["name"])]),e("div",bS,[e("p",xS,n(o.title||x("æªå½åææ¡£","Untitled document")),1),e("p",hS,n(pn(o,m)),1)])]),e("button",{type:"button",class:"rounded-md p-2 text-red-400 transition hover:bg-red-50 hover:text-red-600 disabled:cursor-not-allowed disabled:opacity-40 dark:hover:bg-red-900/20",disabled:s.login_agreement_enabled&&s.login_agreement_documents.length<=1,onClick:_=>_i(m)},[g(de,{name:"trash",size:"sm"})],8,fS)]),e("div",kS,[e("div",null,[e("label",vS,n(x("ææ¡£åç§°","Document title")),1),c(e("input",{"onUpdate:modelValue":_=>o.title=_,type:"text",class:"input text-sm",placeholder:x("ä¾å¦ï¼æå¡æ¡æ¬¾","Example: Terms of Service")},null,8,wS),[[u,o.title]])]),e("div",null,[e("label",CS,n(x("è·¯ç±æ è¯","Route slug")),1),e("div",VS,[i[384]||(i[384]=e("span",{class:"inline-flex flex-shrink-0 items-center border-r border-gray-200 bg-gray-50 px-3 text-sm text-gray-500 dark:border-dark-700 dark:bg-dark-800 dark:text-dark-400"}," /legal/ ",-1)),c(e("input",{"onUpdate:modelValue":_=>o.id=_,type:"text",class:"min-w-0 flex-1 border-0 bg-transparent px-3 py-2 text-sm text-gray-900 outline-none placeholder:text-gray-400 focus:ring-0 dark:text-white dark:placeholder:text-dark-500",placeholder:"usage-policy"},null,8,US),[[u,o.id]])])])]),e("div",SS,[e("label",$S,n(x("Markdown å
容","Markdown content")),1),c(e("textarea",{"onUpdate:modelValue":_=>o.content_md=_,rows:"8",class:"input font-mono text-sm",placeholder:x("å¨è¿éå¡«åæ£å¼ Markdown å
容ã","Write the final Markdown content here.")},null,8,PS),[[u,o.content_md]])])]))),128))])])])])],512),[[Se,S.value==="agreement"]]),c(e("div",ES,[e("div",TS,[e("div",AS,[e("h2",MS,n(a(t)("admin.requestCapture.title")),1),e("p",FS,n(a(t)("admin.requestCapture.description")),1)]),e("div",LS,[e("div",HS,[e("label",IS,n(a(t)("admin.requestCapture.enabled")),1),g(T,{id:"request-capture-enabled",modelValue:s.request_capture_enabled,"onUpdate:modelValue":i[197]||(i[197]=o=>s.request_capture_enabled=o)},null,8,["modelValue"])]),e("div",RS,[e("label",BS,[e("span",jS,n(a(t)("admin.requestCapture.quota")),1),c(e("input",{"onUpdate:modelValue":i[198]||(i[198]=o=>s.request_capture_quota_mib=o),class:"input",type:"number",min:"1",step:"1",required:""},null,512),[[u,s.request_capture_quota_mib,void 0,{number:!0}]])]),e("label",DS,[e("span",OS,n(a(t)("admin.requestCapture.retention")),1),c(e("input",{"onUpdate:modelValue":i[199]||(i[199]=o=>s.request_capture_retention_days=o),class:"input",type:"number",min:"1",max:"30",step:"1",required:""},null,512),[[u,s.request_capture_retention_days,void 0,{number:!0}]])])]),e("p",zS,n(a(t)("admin.requestCapture.limitsHint")),1),e("p",qS,n(a(t)("admin.requestCapture.privacy")),1
12)])]),e("div",NS,[e("div",KS,[e("h2",WS,n(a(t)("admin.settings.features.excelBpsImages.title")),1),e("p",GS,n(a(t)("admin.settings.features.excelBpsImages.description")),1)]),e("div",QS,[e("div",YS,[e("div",null,[e("label",JS,n(a(t)("admin.settings.features.excelBpsImages.enabled")),1),e("p",XS,n(a(t)("admin.settings.features.excelBpsImages.enabledHint")),1)]),g(T,{id:"excel-bps-image-enabled",modelValue:s.excel_bps_image_relay_enabled,"onUpdate:modelValue":i[200]||(i[200]=o=>s.excel_bps_image_relay_enabled=o)},null,8,["modelValue"])]),s.excel_bps_image_relay_enabled?(r(),d("div",ZS,[e("label",e$,n(a(t)("admin.settings.features.excelBpsImages.mode")),1),c(e("select",{id:"excel-bps-image-mode","onUpdate:modelValue":i[201]||(i[201]=o=>s.excel_bps_image_mode=o),class:"input"},[e("option",t$,n(a(t)("admin.settings.features.excelBpsImages.modeRelay")),1),e("option",a$,n(a(t)("admin.settings.features.excelBpsImages.modeNative")),1)],512),[[Ie,s.excel_bps_image_mode]]),s.excel_bps_image_mode==="native"?(r(),d("p",s$,n(a(t)("admin.settings.features.excelBpsImages.nativeHint")),1)):h("",!0),s.excel_bps_image_mode==="relay"?(r(),d("div",n$,[e("label",i$,n(a(t)("admin.settings.features.excelBpsImages.baseUrl")),1),c(e("input",{id:"excel-bps-image-base-url","onUpdate:modelValue":i[202]||(i[202]=o=>s.excel_bps_image_base_url=o),type:"url",class:"input",placeholder:"https://your-api.example.com",required:""},null,512),[[u,s.excel_bps_image_base_url,void 0,{trim:!0}]]),e("p",o$,n(a(t)("admin.settings.features.excelBpsImages.baseUrlHint")),1)])):h("",!0),e("div",l$,[e("label",r$,n(a(t)("admin.settings.features.excelBpsImages.policyTitle")),1),c(e("select",{id:"bps-image-limit-policy","onUpdate:modelValue":i[203]||(i[203]=o=>s.excel_bps_image_limit_policy=o),class:"input"},[e("option",d$,n(a(t)("admin.settings.features.excelBpsImages.policyOff")),1),e("option",c$,n(a(t)("admin.settings.features.excelBpsImages.policyAuto")),1),e("option",u$,n(a(t)("admin.settings.features.excelBpsImages.policyWarn")),1)],512),[[Ie,s.excel_bps_image_limit_policy]]),e("p",_$,n(a(t)("admin.settings.features.excelBpsImages.policyHint")),1),s.excel_bps_image_limit_policy==="warn"?(r(),d("div",m$,[e("label",p$,[e("span",g$,n(a(t)("admin.settings.features.excelBpsImages.policyWarning")),1),c(e("input",{id:"bps-image-warning-remaining","onUpdate:modelValue":i[204]||(i[204]=o=>s.excel_bps_image_warning_remaining=o),class:"input",type:"number",min:"1",max:a(ue).images,required:""},null,8,y$),[[u,s.excel_bps_image_warning_remaining,void 0,{number:!0}]])]),e("label",b$,[e("span",x$,n(a(t)("admin.settings.features.excelBpsImages.policyReserve")),1),c(e("input",{id:"bps-image-compact-reserve","onUpdate:modelValue":i[205]||(i[205]=o=>s.excel_bps_image_compact_reserve=o),class:"input",type:"number",min:"1",max:a(ue).images,required:""},null,8,h$),[[u,s.excel_bps_image_compact_reserve,void 0,{number:!0}]])]),e("p",f$,n(a(t)("admin.settings.features.excelBpsImages.policyMarginsHint")),1)])):h("",!0)]),e("h4",k$,n(a(t)("admin.settings.features.excelBpsImages.requestLimitsTitle")),1),e("div",v$,[e("div",w$,[e("label",C$,n(a(t)("admin.settings.features.excelBpsImages.bodyLimit")),1),c(e("input",{id:"excel-bps-image-body-limit","onUpdate:modelValue":i[206]||(i[206]=o=>s.excel_bps_image_body_limit_mib=o),class:"input",type:"number",min:"1",max:a(ue).bodyMiB,step:"1",required:""},null,8,V$),[[u,s.excel_bps_image_body_limit_mib,void 0,{number:!0}]])]),e("div",U$,[e("label",S$,n(a(t)("admin.settings.features.excelBpsImages.budget")),1),c(e("input",{id:"excel-bps-image-budget","onUpdate:modelValue":i[207]||(i[207]=o=>s.excel_bps_image_budget_mib=o),class:"input",type:"number",min:a(ue).minBudgetMiB,max:a(ue).budgetMiB,step:"1",required:""},null,8,$$),[[u,s.excel_bps_image_budget_mib,void 0,{number:!0}]])]),e("div",P$,[e("label",E$,n(a(t)("admin.settings.features.excelBpsImages.maxRequests")),1),c(e("input",{id:"excel-bps-image-max-requests","onUpdate:modelValue":i[208]||(i[208]=o=>s.excel_bps_image_max_requests=o),class:"input",type:"number",min:"1",max:a(ue).requests,step:"1",required:""},null,8,T$),[[u,s.excel_bps_image_max_requests,void 0,{number:!0}]])]),e("div",A$,[e("label",M$,n(a(t)("admin.settings.features.excelBpsImages.maxImages")),1),c(e("input",{id:"excel-bps-image-max-images","onUpdate:modelValue":i[209]||(i[209]=o=>s.excel_bps_image_max_images=o),class:"input",type:"number",min:"1",max:a(ue).images,step:"1",required:""},null,8,F$),[[u,s.excel_bps_image_max_images,void 0,{number:!0}]]),e("p",L$,n(a(t)("admin.settings.features.excelBpsImages.limitRange",{max:a(ue).images})),1)])]),e("p",H$,n(a(t)("admin.settings.features.excelBpsImages.budgetHint",a(ue))),1),s.excel_bps_image_mode==="native"?(r(),d("p",I$,n(a(t)("admin.settings.features.excelBpsImages.nativeRetentionHint",{maxImages:s.excel_bps_image_max_images})),1)):h("",!0),s.excel_bps_image_mode==="relay"?(r(),d(R,{key:3}
12,[e("h4",R$,n(a(t)("admin.settings.features.excelBpsImages.imageLimitsTitle")),1),e("div",B$,[e("div",j$,[e("label",D$,n(a(t)("admin.settings.features.excelBpsImages.maxImageMiB")),1),c(e("input",{id:"excel-bps-image-max-image-mib","onUpdate:modelValue":i[210]||(i[210]=o=>s.excel_bps_image_max_image_mib=o),class:"input",type:"number",min:"1",max:a(ue).imageMiB,step:"1",required:""},null,8,O$),[[u,s.excel_bps_image_max_image_mib,void 0,{number:!0}]]),e("p",z$,n(a(t)("admin.settings.features.excelBpsImages.limitRange",{max:a(ue).imageMiB})),1)]),e("div",q$,[e("label",N$,n(a(t)("admin.settings.features.excelBpsImages.maxTotalMiB")),1),c(e("input",{id:"excel-bps-image-max-total-mib","onUpdate:modelValue":i[211]||(i[211]=o=>s.excel_bps_image_max_total_mib=o),class:"input",type:"number",min:"1",max:a(ue).totalMiB,step:"1",required:""},null,8,K$),[[u,s.excel_bps_image_max_total_mib,void 0,{number:!0}]]),e("p",W$,n(a(t)("admin.settings.features.excelBpsImages.limitRange",{max:a(ue).totalMiB})),1)]),e("div",G$,[e("label",Q$,n(a(t)("admin.settings.features.excelBpsImages.storageMiB")),1),c(e("input",{id:"excel-bps-image-storage-mib","onUpdate:modelValue":i[212]||(i[212]=o=>s.excel_bps_image_storage_mib=o),class:"input",type:"number",min:"1",max:a(ue).storageMiB,step:"1",required:""},null,8,Y$),[[u,s.excel_bps_image_storage_mib,void 0,{number:!0}]]),e("p",J$,n(a(t)("admin.settings.features.excelBpsImages.limitRange",{max:a(ue).storageMiB})),1)]),e("div",X$,[e("label",Z$,n(a(t)("admin.settings.features.excelBpsImages.storageEntries")),1),c(e("input",{id:"excel-bps-image-storage-entries","onUpdate:modelValue":i[213]||(i[213]=o=>s.excel_bps_image_storage_entries=o),class:"input",type:"number",min:"1",max:a(ue).storageEntries,step:"1",required:""},null,8,eP),[[u,s.excel_bps_image_storage_entries,void 0,{number:!0}]]),e("p",tP,n(a(t)("admin.settings.features.excelBpsImages.limitRange",{max:a(ue).storageEntries})),1)]),e("div",aP,[e("label",sP,n(a(t)("admin.settings.features.excelBpsImages.ttlMinutes")),1),c(e("input",{id:"excel-bps-image-ttl-minutes","onUpdate:modelValue":i[214]||(i[214]=o=>s.excel_bps_image_ttl_minutes=o),class:"input",type:"number",min:"1",max:a(ue).ttlMinutes,step:"1",required:""},null,8,nP),[[u,s.excel_bps_image_ttl_minutes,void 0,{number:!0}]]),e("p",iP,n(a(t)("admin.settings.features.excelBpsImages.limitRange",{max:a(ue).ttlMinutes})),1)])]),e("p",oP,n(a(t)("admin.settings.features.excelBpsImages.retentionHint")),1)],64)):h("",!0)])):h("",!0)])]),e("div",lP,[e("div",rP,[e("h2",dP,n(a(t)("admin.settings.features.channelMonitor.title")),1),e("p",cP,n(a(t)("admin.settings.features.channelMonitor.description")),1),e("p",uP,[g(p,{to:"/admin/channels/monitor",class:"inline-flex items-center gap-1 text-primary-600 hover:underline dark:text-primary-400"},{default:$e(()=>[I(n(a(t)("admin.settings.features.channelMonitor.configureLink"))+" ",1),i[385]||(i[385]=e("span",{"aria-hidden":"true"},"â",-1))]),_:1})])]),e("div",_P,[e("div",mP,[e("div",null,[e("label",pP,n(a(t)("admin.settings.features.channelMonitor.enabled")),1),e("p",gP,n(a(t)("admin.settings.features.channelMonitor.enabledHint")),1)]),g(T,{modelValue:s.channel_monitor_enabled,"onUpdate:modelValue":i[215]||(i[215]=o=>s.channel_monitor_enabled=o)},null,8,["modelValue"])]),s.channel_monitor_enabled?(r(),d("div",yP,[e("div",null,[e("label",bP,n(a(t)("admin.settings.features.channelMonitor.mode")),1),e("div",xP,[e("button",{type:"button",class:X(["inline-flex flex-1 items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",s.channel_monitor_mode==="v2"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[216]||(i[216]=o=>s.channel_monitor_mode="v2")},n(a(t)("admin.settings.features.channelMonitor.modeV2")),3),e("button",{type:"button",class:X(["inline-flex flex-1 items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",s.channel_monitor_mode==="v1"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[217]||(i[217]=o=>s.channel_monitor_mode="v1")},n(a(t)("admin.settings.features.channelMonitor.modeV1")),3)]),e("p",hP,n(s.channel_monitor_mode==="v1"?a(t)("admin.settings.features.channelMonitor.modeV1Hint"):a(t)("admin.settings.features.channelMonitor.modeV2Hint")),1),e("p",fP,n(a(t)("admin.settings.features.channelMonitor.modeHint")),1)]),s.channel_monitor_mode==="v1"?(r(),d("div",kP,[e("label",vP,[I(n(a(t)("admin.settings.features.channelMonitor.defaultInterval"))+" ",1),i[386]||(i[386]=e("span",{class:"text-red-500"},"*",-1))]),c(e("input",{"onUpdate:modelValue":i[218]||(i[218]=o=>s.channel_monitor_default_interval_seconds=o),type:"number",min:"15",max:"3600",class:"input"},null,512),[[u,s.channel_monitor_default_interval_seconds,void 0,{number:!0}]]),e("p",wP,n(a(t)("admin.settings.features.channelMonitor.defaultIntervalHint")),1)])):h("",!0),s.channel_monitor_mode==="v2"?(r(),d("div",CP,[e("div",VP,[e("div",UP,[e("p",SP,n(a(t)("admin.settings.features.channelMonitor.hideThroughput")),1),e("p",$P,n(a(t)("admin.settings.features.channelMonitor.hideThroughputHint")),1)]),g(T,{modelValue:s.channel_monitor_hide_throughput,"onUpdate:modelValue":i[219]||(i[219]=o=>s.channel_monitor_hide_throughput=o)},null,8,["modelValue"])]),e("div",PP,[e("div",EP,[e("p",TP,n(a(t)("admin.settings.features.channelMonitor.hideUserRanking")),1),e("p",AP,n(a(t)("admin.settings.features.channelMonitor.hideUserRankingHint")),1)]),g(T,{modelValue:s.channel_monitor_hide_user_ranking,"onUpdate:modelValue":i[220]||(i[220]=o=>s.channel_monitor_hide_user_ranking=o)},null,8,["modelValue"])])])):h("",!0),s.channel_monitor_mode==="v1"?(r(),d("div",MP,[e("div",FP,[e("p",LP,n(a(t)("admin.settings.features.channelMonitor.showQuota")),1),e("p",HP,n(a(t)("admin.settings.features.channelMonitor.showQuotaHint")),1)]),g(T,{modelValue:s.channel_monitor_show_quota,"onUpdate:modelValue":i[221]||(i[221]=o=>s.channel_monitor_show_quota=o)},null,8,["modelValue"])])):h("",!0)])):h("",!0)])]),e("div",IP,[e("div",RP,[e("h2",BP,n(a(t)("admin.settings.features.availableChannels.title")),1),e("p",jP,n(a(t)("admin.settings.features.availableChannels.description")),1),e("p",DP,[g(p,{to:"/admin/channels/pricing",class:"inline-flex items-center gap-1 text-primary-600 hover:underline dark:text-primary-400"},{default:$e(()=>[I(n(a(t)("admin.settings.features.availableChannels.configureLink"))+" ",1),i[387]||(i[387]=e("span",{"aria-hidden":"true"},"â",-1))]),_:1})])]),e("div",OP,[e("div",zP,[e("div",null,[e("label",qP,n(a(t)("admin.settings.features.availableChannels.enabled")),1),e("p",NP,n(a(t)("admin.settings.features.availableChannels.enabledHint")),1)]),g(T,{modelValue:s.available_channels_enabled,"onUpdate:modelValue":i[222]||(i[222]=o=>s.available_channels_enabled=o)},null,8,["modelValue"])])])]),e("div",KP,[e("div",WP,[e("h2",GP,n(a(t)("admin.settings.features.pelicanShowcase.title")),1),e("p",QP,[I(n(a(t)("admin.settings.features.pelicanShowcase.movedHint"))+" ",1),g(p,{to:"/admin/pelican-tests",class:"ml-1 inline-flex items-center gap-1 text-primary-600 hover:underline dark:text-primary-400"},{default:$e(()=>[I(n(a(t)("admin.settings.features.pelicanShowcase.movedLink"))+" ",1),i[388]||(i[388]=e("span",{"aria-hidden":"true"},"â",-1))]),_:1})])])]),e("div",YP,[e("div",JP,[e("h2",XP,n(a(t)("admin.settings.features.modelPlaza.title")),1),e("p",ZP,n(a(t)("admin.settings.features.modelPlaza.description")),1)]),e("div",eE,[e("div",tE,[e("div",null,[e("label",aE,n(a(t)("admin.settings.features.modelPlaza.enabled")),1),e("p",sE,n(a(t)("admin.settings.features.modelPlaza.enabledHint")),1)]),g(T,{modelValue:s.model_plaza_enabled,"onUpdate:modelValue":i[223]||(i[223]=o=>s.model_plaza_enabled=o)},null,8,["modelValue"])]),s.model_plaza_enabled?(r(),d("div",nE,[e("div",null,[e("label",iE,n(a(t)("admin.settings.features.modelPlaza.requireAuth")),1),e("p",oE,n(a(t)("admin.settings.features.modelPlaza.requireAuthHint")),1)]),g(T,{modelValue:s.model_plaza_require_auth,"onUpdate:modelValue":i[224]||(i[224]=o=>s.model_plaza_require_auth=o)},null,8,["modelValue"])])):h("",!0),s.model_plaza_enabled?(r(),d("div",lE,[e("label",rE,n(a(t)("admin.settings.features.modelPlaza.priceDescription")),1),e("p",dE,n(a(t)("admin.settings.features.modelPlaza.priceDescriptionHint")),1),c(e("textarea",{"onUpdate:modelValue":i[225]||(i[225]=o=>s.model_plaza_description=o),rows:"6",class:"input font-mono text-sm"},null,512),[[u,s.model_plaza_description]])])):h("",!0)])]),e("div",cE,[e("div",uE,[e("h2",_E,n(a(t)("admin.settings.features.company.title")),1),e("p",mE,n(a(t)("admin.settings.features.company.description")),1)]),e("div",pE,[e("div",gE,[e("div",null,[e("label",yE,n(a(t)("admin.settings.features.company.publicIdsFinalized")),1),e("p",bE,n(a(t)("admin.settings.features.company.publicIdsFinalizedHint")),1)]),g(T,{modelValue:s.company_public_ids_finalized,"onUpdate:modelValue":i[226]||(i[226]=o=>s.company_public_ids_finalized=o)},null,8,["modelValue"])]),e("div",xE,[e("div",null,[e("label",hE,n(a(t)("admin.settings.features.company.billingIntegrationEnabled")),1),e("p",fE,n(a(t)("admin.settings.features.company.billingIntegrationEnabledHint")),1)]),g(T,{modelValue:s.company_billing_integration_enabled,"onUpdate:modelValue":i[227]||
12(i[227]=o=>s.company_billing_integration_enabled=o)},null,8,["modelValue"])]),e("div",kE,[e("div",null,[e("label",vE,n(a(t)("admin.settings.features.company.applicationsEnabled")),1),e("p",wE,n(a(t)("admin.settings.features.company.applicationsEnabledHint")),1)]),g(T,{modelValue:s.company_applications_enabled,"onUpdate:modelValue":i[228]||(i[228]=o=>s.company_applications_enabled=o)},null,8,["modelValue"])]),e("div",CE,[e("div",null,[e("label",VE,n(a(t)("admin.settings.features.company.iamEnabled")),1),e("p",UE,n(a(t)("admin.settings.features.company.iamEnabledHint")),1)]),g(T,{modelValue:s.company_iam_enabled,"onUpdate:modelValue":i[229]||(i[229]=o=>s.company_iam_enabled=o)},null,8,["modelValue"])]),e("div",SE,[e("div",null,[e("label",$E,n(a(t)("admin.settings.features.company.chargeEnabled")),1),e("p",PE,n(a(t)("admin.settings.features.company.chargeEnabledHint")),1)]),g(T,{modelValue:s.company_upgrade_charge_enabled,"onUpdate:modelValue":i[230]||(i[230]=o=>s.company_upgrade_charge_enabled=o)},null,8,["modelValue"])]),s.company_upgrade_charge_enabled?(r(),d("div",EE,[e("label",TE,n(a(t)("admin.settings.features.company.upgradeFee")),1),c(e("input",{"onUpdate:modelValue":i[231]||(i[231]=o=>s.company_upgrade_fee=o),type:"number",min:"0.01",step:"0.01",class:"input"},null,512),[[u,s.company_upgrade_fee,void 0,{number:!0}]])])):h("",!0),e("div",null,[e("label",AE,n(a(t)("admin.settings.features.company.documentationURL")),1),c(e("input",{"onUpdate:modelValue":i[232]||(i[232]=o=>s.company_documentation_url=o),type:"url",class:"input",placeholder:"https://docs.example.com/company"},null,512),[[u,s.company_documentation_url,void 0,{trim:!0}]]),e("p",ME,n(a(t)("admin.settings.features.company.documentationURLHint")),1)])])]),e("div",FE,[e("div",LE,[e("h2",HE,n(a(t)("admin.settings.features.siteBillingMode.title")),1),e("p",IE,n(a(t)("admin.settings.features.siteBillingMode.description")),1)]),e("div",RE,[e("div",BE,[e("div",jE,[e("label",DE,n(a(t)("admin.settings.features.siteBillingMode.label")),1),e("p",OE,n(Fi.value),1)]),e("div",zE,[g(ke,{modelValue:ya.value,options:Mi.value,"onUpdate:modelValue":i[233]||(i[233]=o=>ya.value=o)},null,8,["modelValue","options"])])])])]),e("div",qE,[e("div",NE,[e("h2",KE,n(a(t)("admin.settings.features.pluginManagement.title")),1),e("p",WE,n(a(t)("admin.settings.features.pluginManagement.description")),1)]),e("div",GE,[e("div",QE,[e("div",null,[e("label",YE,n(a(t)("admin.settings.features.pluginManagement.enabled")),1),e("p",JE,n(a(t)("admin.settings.features.pluginManagement.enabledHint")),1)]),g(T,{modelValue:s.plugin_management_enabled,"onUpdate:modelValue":i[234]||(i[234]=o=>s.plugin_management_enabled=o)},null,8,["modelValue"])])])]),e("div",XE,[e("div",ZE,[e("h2",eT,n(a(t)("admin.settings.features.riskControl.title")),1),e("p",tT,n(a(t)("admin.settings.features.riskControl.description")),1),e("p",aT,[g(p,{to:"/admin/risk-control",class:"inline-flex items-center gap-1 text-primary-600 hover:underline dark:text-primary-400"},{default:$e(()=>[I(n(a(t)("admin.settings.features.riskControl.configureLink"))+" ",1),i[389]||(i[389]=e("span",{"aria-hidden":"true"},"â",-1))]),_:1})])]),e("div",sT,[e("div",nT,[e("div",null,[e("label",iT,n(a(t)("admin.settings.features.riskControl.enabled")),1),e("p",oT,n(a(t)("admin.settings.features.riskControl.enabledHint")),1)]),g(T,{modelValue:s.risk_control_enabled,"onUpdate:modelValue":i[235]||(i[235]=o=>s.risk_control_enabled=o)},null,8,["modelValue"])]),e("div",null,[e("label",lT,n(a(t)("admin.settings.features.riskControl.riskControlUserAllowlist")),1),g(an,{modelValue:es.value,"onUpdate:modelValue":i[236]||(i[236]=o=>es.value=o)},null,8,["modelValue"]),e("p",rT,n(a(t)("admin.settings.features.riskControl.riskControlUserAllowlistHint")),1)]),e("div",dT,[e("div",null,[e("label",cT,n(a(t)("admin.settings.features.riskControl.cyberSessionBlock")),1),e("p",uT,n(a(t)("admin.settings.features.riskControl.cyberSessionBlockHint")),1)]),g(T,{modelValue:s.cyber_session_block_enabled,"onUpdate:modelValue":i[237]||(i[237]=o=>s.cyber_session_block_enabled=o)},null,8,["modelValue"])]),s.cyber_session_block_enabled?(r(),d("div",_T,[e("label",mT,[I(n(a(t)("admin.settings.features.riskControl.cyberSessionBlockTTL"))+" ",1),i[390]||(i[390]=e("span",{class:"text-red-500"},"*",-1))]),c(e("input",{"onUpdate:modelValue":i[238]||(i[238]=o=>s.cyber_session_block_ttl_seconds=o),type:"number",min:"1",class:"input"},null,512),[[u,s.cyber_session_block_ttl_seconds,void 0,{number:!0}]])])):h("",!0),s.cyber_session_block_enabled?(r(),d("div",pT,[e
12("div",gT,[e("div",null,[e("label",yT,n(a(t)("admin.settings.features.riskControl.cyberSessionIdentityStrict")),1),e("p",bT,n(a(t)("admin.settings.features.riskControl.cyberSessionIdentityStrictHint")),1)]),g(T,{modelValue:s.cyber_session_identity_strict_enabled,"onUpdate:modelValue":i[239]||(i[239]=o=>s.cyber_session_identity_strict_enabled=o)},null,8,["modelValue"])])])):h("",!0)])]),e("div",xT,[e("div",hT,[e("h2",fT,n(a(t)("admin.settings.features.affiliate.title")),1),e("p",kT,n(a(t)("admin.settings.features.affiliate.description")),1)]),e("div",vT,[e("div",wT,[e("div",null,[e("label",CT,n(a(t)("admin.settings.features.affiliate.enabled")),1),e("p",VT,n(a(t)("admin.settings.features.affiliate.enabledHint")),1)]),g(T,{modelValue:s.affiliate_enabled,"onUpdate:modelValue":i[240]||(i[240]=o=>s.affiliate_enabled=o)},null,8,["modelValue"])]),s.affiliate_enabled?(r(),d("div",UT,[e("div",ST,[e("div",null,[e("label",$T,n(a(t)("admin.settings.features.affiliate.adminRechargeRebate")),1),e("p",PT,n(a(t)("admin.settings.features.affiliate.adminRechargeRebateHint")),1)]),g(T,{modelValue:s.affiliate_admin_recharge_enabled,"onUpdate:modelValue":i[241]||(i[241]=o=>s.affiliate_admin_recharge_enabled=o)},null,8,["modelValue"])]),e("div",null,[e("label",ET,n(a(t)("admin.settings.features.affiliate.rebateRate")),1),e("div",TT,[c(e("input",{"onUpdate:modelValue":i[242]||(i[242]=o=>s.affiliate_rebate_rate=o),type:"number",step:"0.01",min:"0",max:"100",class:"input pr-8",placeholder:"20"},null,512),[[u,s.affiliate_rebate_rate,void 0,{number:!0}]]),i[391]||(i[391]=e("span",{class:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-gray-400"},"%",-1))]),e("p",AT,n(a(t)("admin.settings.features.affiliate.rebateRateHint")),1)]),e("div",null,[e("label",MT,n(a(t)("admin.settings.features.affiliate.freezeHours")),1),c(e("input",{"onUpdate:modelValue":i[243]||(i[243]=o=>s.affiliate_rebate_freeze_hours=o),type:"number",step:"1",min:"0",max:"720",class:"input"},null,512),[[u,s.affiliate_rebate_freeze_hours,void 0,{number:!0}]]),e("p",FT,n(a(t)("admin.settings.features.affiliate.freezeHoursDesc")),1)]),e("div",null,[e("label",LT,n(a(t)("admin.settings.features.affiliate.durationDays")),1),c(e("input",{"onUpdate:modelValue":i[244]||(i[244]=o=>s.affiliate_rebate_duration_days=o),type:"number",step:"1",min:"0",max:"3650",class:"input"},null,512),[[u,s.affiliate_rebate_duration_days,void 0,{number:!0}]]),e("p",HT,n(a(t)("admin.settings.features.affiliate.durationDaysDesc")),1)]),e("div",null,[e("label",IT,n(a(t)("admin.settings.features.affiliate.perInviteeCap")),1),c(e("input",{"onUpdate:modelValue":i[245]||(i[245]=o=>s.affiliate_rebate_per_invitee_cap=o),type:"number",step:"0.01",min:"0",class:"input"},null,512),[[u,s.affiliate_rebate_per_invitee_cap,void 0,{number:!0}]]),e("p",RT,n(a(t)("admin.settings.features.affiliate.perInviteeCapDesc")),1)]),e("div",BT,[e("div",jT,[e("div",null,[e("h3",DT,n(a(t)("admin.settings.features.affiliate.customUsers.title")),1),e("p",OT,n(a(t)("admin.settings.features.affiliate.customUsers.description")),1)]),e("button",{type:"button",class:"btn btn-primary btn-sm",onClick:i[246]||(i[246]=o=>Rs(null))}," + "+n(a(t)("admin.settings.features.affiliate.customUsers.addButton")),1)]),e("div",zT,[c(e("input",{"onUpdate:modelValue":i[247]||(i[247]=o=>ae.search=o),type:"text",class:"input flex-1",placeholder:a(t)("admin.settings.features.affiliate.customUsers.searchPlaceholder"),onInput:Fo},null,40,qT),[[u,ae.search]]),ae.selected.length>0?(r(),d("button",{key:0,type:"button",class:"btn btn-secondary btn-sm",onClick:Oo},n(a(t)("admin.settings.features.affiliate.customUsers.batchButton",{count:ae.selected.length})),1)):h("",!0)]),e("div",NT,[e("table",KT,[e("thead",WT,[e("tr",null,[e("th",GT,[e("input",{type:"checkbox",checked:ae.entries.length>0&&ae.selected.length===ae.entries.length,onChange:Lo},null,40,QT)]),e("th",YT,n(a(t)("admin.settings.features.affiliate.customUsers.col.email")),1),e("th",JT,n(a(t)("admin.settings.features.affiliate.customUsers.col.username")),1),e("th",XT,n(a(t)("admin.settings.features.affiliate.customUsers.col.code")),1),e("th",ZT,n(a(t)("admin.settings.features.affiliate.customUsers.col.rate")),1),e("th",eA,n(a(t)("admin.settings.features.affiliate.customUsers.col.actions")),1)])]),e("tbody",tA,[ae.loading?(r(),d("tr",aA,[e("td",sA,n(a(t)("common.loading")),1)])):ae.entries.length===0?(r(),d("tr",nA,[e("td",iA,n(a(t)("admin.settings.features.affiliate.customUsers.empty")),1)])):h("",!0),(r(!0),d(R,null,N(ae.entries,o=>(r(),d("tr",{key:o.user_id},[e("td",oA,[e("input",{type:"checkbox",checked:ae.selected.includes(o.user_id
12),onChange:m=>Ho(o.user_id)},null,40,lA)]),e("td",rA,n(o.email),1),e("td",dA,n(o.username),1),e("td",cA,[I(n(o.aff_code)+" ",1),o.aff_code_custom?(r(),d("span",uA,n(a(t)("admin.settings.features.affiliate.customUsers.customBadge")),1)):h("",!0)]),e("td",_A,[o.aff_rebate_rate_percent!=null?(r(),d("span",mA,n(o.aff_rebate_rate_percent)+"%",1)):(r(),d("span",pA,n(a(t)("admin.settings.features.affiliate.customUsers.useGlobal")),1))]),e("td",gA,[e("div",yA,[e("button",{type:"button",class:"text-primary-600 hover:underline",onClick:m=>Rs(o)},n(a(t)("common.edit")),9,bA),e("button",{type:"button",class:"text-red-600 hover:underline",onClick:m=>Do(o)},n(a(t)("common.delete")),9,xA)])])]))),128))])])]),ae.total>ae.pageSize?(r(),d("div",hA,[e("span",fA,n(a(t)("admin.settings.features.affiliate.customUsers.totalLabel",{total:ae.total})),1),e("div",kA,[e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:ae.page<=1,onClick:i[248]||(i[248]=o=>Is(ae.page-1))},n(a(t)("pagination.previous")),9,vA),e("span",wA,n(ae.page)+" / "+n(Math.max(1,Math.ceil(ae.total/ae.pageSize))),1),e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:ae.page>=Math.ceil(ae.total/ae.pageSize),onClick:i[249]||(i[249]=o=>Is(ae.page+1))},n(a(t)("pagination.next")),9,CA)])])):h("",!0)])])):h("",!0)])]),W.open?(r(),d("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",onClick:Me(Sa,["self"])},[e("div",VA,[e("h3",UA,n(W.mode==="add"?a(t)("admin.settings.features.affiliate.modal.addTitle"):a(t)("admin.settings.features.affiliate.modal.editTitle")),1),e("div",SA,[W.mode==="add"?(r(),d("div",$A,[e("label",PA,n(a(t)("admin.settings.features.affiliate.modal.userLabel")),1),W.selectedUser?(r(),d("div",EA,[e("div",TA,[e("span",AA,n(W.selectedUser.email),1),e("span",MA,"("+n(W.selectedUser.username)+")",1)]),e("button",{type:"button",class:"text-lg leading-none text-gray-400 hover:text-red-600",title:a(t)("admin.settings.features.affiliate.modal.changeUser"),onClick:Bo}," à ",8,FA)])):(r(),d(R,{key:1},[c(e("input",{"onUpdate:modelValue":i[250]||(i[250]=o=>W.userQuery=o),type:"text",class:"input",placeholder:a(t)("admin.settings.features.affiliate.modal.userPlaceholder"),onInput:Io},null,40,LA),[[u,W.userQuery]]),W.userResults.length>0?(r(),d("div",HA,[(r(!0),d(R,null,N(W.userResults,o=>(r(),d("button",{key:o.id,type:"button",class:"w-full px-3 py-1.5 text-left text-sm hover:bg-gray-100 dark:hover:bg-dark-800",onClick:m=>Ro(o)},[I(n(o.email)+" ",1),e("span",RA,"("+n(o.username)+")",1)],8,IA))),128))])):h("",!0)],64))])):(r(),d("div",BA,[e("label",jA,n(a(t)("admin.settings.features.affiliate.modal.userLabel")),1),e("input",{type:"text",class:"input",value:W.editingEntry?W.editingEntry.email:"",disabled:""},null,8,DA)])),e("div",null,[e("label",OA,n(a(t)("admin.settings.features.affiliate.modal.codeLabel")),1),c(e("input",{"onUpdate:modelValue":i[251]||(i[251]=o=>W.code=o),type:"text",class:"input font-mono",placeholder:a(t)("admin.settings.features.affiliate.modal.codePlaceholder"),maxlength:"32"},null,8,zA),[[u,W.code]]),e("p",qA,n(a(t)("admin.settings.features.affiliate.modal.codeHint")),1)]),e("div",null,[e("label",NA,n(a(t)("admin.settings.features.affiliate.modal.rateLabel")),1),e("div",KA,[c(e("input",{"onUpdate:modelValue":i[252]||(i[252]=o=>W.rate=o),type:"number",step:"0.01",min:"0",max:"100",class:"input pr-8",placeholder:a(t)("admin.settings.features.affiliate.modal.ratePlaceholder")},null,8,WA),[[u,W.rate]]),i[392]||(i[392]=e("span",{class:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-gray-400"},"%",-1))]),e("p",GA,n(a(t)("admin.settings.features.affiliate.modal.rateHint")),1)])]),e("div",QA,[$a.value?(r(),d("span",JA)):(r(),d("p",YA,n(a(t)("admin.settings.features.affiliate.modal.errorEmpty")),1)),e("div",XA,[e("button",{type:"button",class:"btn btn-secondary",onClick:Sa},n(a(t)("common.cancel")),1),e("button",{type:"button",class:"btn btn-primary",disabled:W.saving||!$a.value,onClick:jo},n(W.saving?a(t)("common.saving"):a(t)("common.save")),9,ZA)])])])])):h("",!0),We.open?(r(),d("div",{key:1,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",onClick:i[255]||(i[255]=Me(o=>We.open=!1,["self"]))},[e("div",eM,[e("h3",tM,n(a(t)("admin.settings.features.affiliate.batchModal.title",{count:ae.selected.length})),1),e("p",aM,n(a(t)("admin.settings.features.affiliate.batchModal.hint")),1),e("div",sM,[c(e("input",{"onUpdate:modelValue":i[253]||(i[253]=o=>We.rate=o),type:"number",step:"0.01",min:"0",max:"100",class:"input pr-8",placeholder:a(t)("admin.settings.features.affiliate.batchModal.placeholder")},null,8,nM),[[u,We.rate]]),i[393]||(i[393]=e("span",{class:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-gray-400"},"%",-1))]),e("p",iM,n(a(t)("admin.settings.features.affiliate.batchModal.clearHint")),1),e("div",oM,[e("button",{type:"button",class:"btn btn-secondary",onClick:i[254]||(i[254]=o=>We.open=!1)},n(a(t)("common.cancel")),1),e("button",{type:"button",class:"btn btn-primary",disabled:We.saving,onClick:zo},n(We.saving?a(t)("common.saving"):a(t)("common.save")),9,lM)])])])):h("",!0)],512),[[Se,S.value==="features"]]),c(e("div",rM,[e("div",dM,[e("div",cM,[e("h2",uM,n(x("客æè®¾ç½®","Customer Service")),1),e("p",_M,n(x("客æå·¥åãå®¢ææµ®çªãå¤é¨æ¨¡ååç¥è¯åºé
ç½®ã","Configure support tickets, chat widget, external LLM, and knowledge base.")),1)]),e("div",mM,[e("section",pM,[e("div",gM,[e("div",null,[e("h3",yM,n(x("客æå·¥å","Support Tickets")),1),e("p",bM,n(x("å
è®¸ç¨æ·æäº¤å·¥åå¹¶ç±ç®¡çåå¤çã","Allow users to submit tickets for administrator handling.")),1)]),g(T,{modelValue:s.support_ticket_enabled,"onUpdate:modelValue":i[256]||
12(i[256]=o=>s.support_ticket_enabled=o)},null,8,["modelValue"])]),s.support_ticket_enabled?(r(),d("div",xM,[e("div",null,[e("label",hM,n(x("é»è®¤ä¼å
级","Default Priority")),1),c(e("select",{"onUpdate:modelValue":i[257]||(i[257]=o=>s.support_ticket_default_priority=o),class:"input"},[e("option",fM,n(x("ä½","Low")),1),e("option",kM,n(x("æ®é","Normal")),1),e("option",vM,n(x("é«","High")),1)],512),[[Ie,s.support_ticket_default_priority]])]),e("div",null,[e("label",wM,n(x("å·¥ååç±»","Categories")),1),e("div",CM,[(r(!0),d(R,null,N(s.support_ticket_categories,(o,m)=>(r(),d("div",{key:`ticket-category-${m}`,class:"flex gap-2"},[c(e("input",{"onUpdate:modelValue":_=>s.support_ticket_categories[m]=_,type:"text",maxlength:"32",class:"input flex-1"},null,8,VM),[[u,s.support_ticket_categories[m]]]),e("button",{type:"button",class:"btn btn-secondary px-2",title:a(t)("common.delete"),onClick:_=>s.support_ticket_categories.splice(m,1)},[g(de,{name:"x",size:"xs"})],8,UM)]))),128)),e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:s.support_ticket_categories.length>=32,onClick:i[258]||(i[258]=o=>s.support_ticket_categories.push(""))},"+ "+n(x("æ·»å åç±»","Add Category")),9,SM)])]),e("div",null,[e("label",$M,n(x("éç¥é®ç®±","Notification Emails")),1),e("div",PM,[(r(!0),d(R,null,N(s.support_ticket_notify_emails,(o,m)=>(r(),d("div",{key:`ticket-email-${m}`,class:"flex items-center gap-2"},[c(e("input",{"onUpdate:modelValue":_=>o.email=_,type:"email",class:"input flex-1",placeholder:"[email protected]"},null,8,EM),[[u,o.email]]),g(T,{modelValue:o.disabled,"onUpdate:modelValue":_=>o.disabled=_},null,8,["modelValue","onUpdate:modelValue"]),e("button",{type:"button",class:"btn btn-secondary px-2",title:a(t)("common.delete"),onClick:_=>s.support_ticket_notify_emails.splice(m,1)},[g(de,{name:"x",size:"xs"})],8,TM)]))),128)),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:i[259]||(i[259]=o=>s.support_ticket_notify_emails.push({email:"",disabled:!1,verified:!0}))},"+ "+n(x("æ·»å é®ç®±","Add Email")),1)])])])):h("",!0)]),e("section",AM,[e("div",MM,[e("div",null,[e("h3",FM,n(x("å®¢ææµ®çª","Support Chat Widget")),1),e("p",LM,n(x("é
ç½®åå°å³ä¸è§å®¢ææµ®çªåå¤è½®å¯¹è¯ã","Configure the customer-service chat widget and multi-turn chat.")),1)]),g(T,{modelValue:s.support_chat_enabled,"onUpdate:modelValue":i[260]||(i[260]=o=>s.support_chat_enabled=o)},null,8,["modelValue"])]),s.support_chat_enabled?(r(),d("div",HM,[e("div",IM,[e("div",null,[e("label",RM,n(x("æ é¢","Title")),1),c(e("input",{"onUpdate:modelValue":i[261]||(i[261]=o=>s.support_chat_title=o),type:"text",maxlength:"64",class:"input"},null,512),[[u,s.support_chat_title]])]),e("div",null,[e("label",BM,n(x("徿 ","Icon")),1),c(e("input",{"onUpdate:modelValue":i[262]||(i[262]=o=>s.support_chat_icon=o),type:"text",maxlength:"100",class:"input",placeholder:"ð¬"},null,512),[[u,s.support_chat_icon]])])]),e("div",null,[e("label",jM,n(x("欢è¿è¯","Welcome Message")),1),c(e("textarea",{"onUpdate:modelValue":i[263]||(i[263]=o=>s.support_chat_welcome=o),rows:"2",maxlength:"256",class:"input"},null,512),[[u,s.support_chat_welcome]])]),e("div",null,[e("label",DM,n(x("䏿¾ç¤ºæµ®çªçè·¯ç±","Excluded Routes")),1),e("div",OM,[(r(!0),d(R,null,N(s.support_chat_excluded_routes,(o,m)=>(r(),d("div",{key:`support-route-${m}`,class:"flex gap-2"},[c(e("input",{"onUpdate:modelValue":_=>s.support_chat_excluded_routes[m]=_,type:"text",maxlength:"200",class:"input flex-1",placeholder:"/admin/*"},null,8,zM),[[u,s.support_chat_excluded_routes[m]]]),e("button",{type:"button",class:"btn btn-secondary px-2",title:a(t)("common.delete"),onClick:_=>s.support_chat_excluded_routes.splice(m,1)},[g(de,{name:"x",size:"xs"})],8,qM)]))),128)),e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:s.support_chat_excluded_routes.length>=50,onClick:i[264]||(i[264]=o=>s.support_chat_excluded_routes.push(""))},"+ "+n(x("æ·»å è·¯ç±","Add Route")),9,NM)])]),e("div",KM,[e("div",WM,[e("div",null,[e("h4",GM,n(x("å¤é¨ LLM","External LLM")),1),e("p",QM,n(x("ä½¿ç¨ OpenAI å
¼å®¹æ¥å£å¤ç客æå¯¹è¯ã","Use an OpenAI-compatible endpoint for support chat.")),1)]),g(T,{modelValue:s.support_chat_llm_enabled,"onUpdate:modelValue":i[265]||(i[265]=o=>s.support_chat_llm_enabled=o)},null,8,["modelValue"])]),s.support_chat_llm_enabled?(r(),d("div",YM,[e("div",JM,[e("div",null,[i[394]||(i[394]=e("label",{class:"input-label"},"Base URL",-1)),c(e("input",{"onUpdate:modelValue":i[266]||(i[266]=o=>s.support_chat_llm_base_url=o),type:"url",class:"input"},null,512),[[u,s.support_chat_llm_base_url]])]),e("div",null,[i[395]||(i[395]=e("label",{class:"input-label"},"API Key",-1)),c(e("input",{"onUpdate:modelValue":i[267]||(i[267]=o=>s.support_chat_llm_api_key=o),type:"password",class:"input",autocomplete:"new-password"},null,512),[[u,s.support_chat_llm_api_key]])]),e("div",null,[e("label",XM,n(x("模å","Model")),1),c(e("input",{"onUpdate:modelValue":i[268]||(i[268]=o=>s.support_chat_model=o),type:"text",class:"input"},null,512),[[u,s.support_chat_model]])]),e("div",null,[e("label",ZM,n(x("æå¤§è½®æ°","Max Turns")),1),c(e("input",{"onUpdate:modelValue":i[269]||(i[269]=o=>s.support_chat_max_turns=o),type:"number",min:"1",max:"20",class:"input"},null,512),[[u,s.support_chat_max_turns,void 0,{number:!0}]])]),e("div",null,[e("label",eF,n(x("æå¤§è¯·æ± Token","Max Request Tokens")),1),c(e("input",{"onUpdate:modelValue":i[270]||(i[270]=o=>s.support_chat_max_request_tokens=o),type:"number",min:"1000",max:"200000",class:"input"},null,512),[[u,s.support_chat_max_request_tokens,void 0,{number:!0}]])])]),e("div",null,[e("label",tF,n(x("ç³»ç»æç¤ºè¯","System Prompt")),1),c(e("textarea",{"onUpdate:modelValue":i[271]||
12(i[271]=o=>s.support_chat_system_prompt=o),rows:"5",maxlength:"8000",class:"input font-mono text-xs"},null,512),[[u,s.support_chat_system_prompt]])]),e("div",aF,[e("span",sF,n(x("å
许å¿åç¨æ·ä½¿ç¨ LLM","Allow Anonymous LLM")),1),g(T,{modelValue:s.support_chat_anonymous_llm,"onUpdate:modelValue":i[272]||(i[272]=o=>s.support_chat_anonymous_llm=o)},null,8,["modelValue"])])])):h("",!0)]),e("div",nF,[e("div",null,[e("label",iF,n(x("ç¨æ·æ¯æ¥éé¢","User Daily Limit")),1),c(e("input",{"onUpdate:modelValue":i[273]||(i[273]=o=>s.support_chat_rl_user_per_day=o),type:"number",min:"1",class:"input"},null,512),[[u,s.support_chat_rl_user_per_day,void 0,{number:!0}]])]),e("div",null,[e("label",oF,n(x("ç¨æ·æ¯åééé¢","User Per-Minute Limit")),1),c(e("input",{"onUpdate:modelValue":i[274]||(i[274]=o=>s.support_chat_rl_user_per_min=o),type:"number",min:"1",class:"input"},null,512),[[u,s.support_chat_rl_user_per_min,void 0,{number:!0}]])]),e("div",null,[e("label",lF,n(x("IP æ¯å°æ¶éé¢","IP Hourly Limit")),1),c(e("input",{"onUpdate:modelValue":i[275]||(i[275]=o=>s.support_chat_rl_ip_per_hour=o),type:"number",min:"1",class:"input"},null,512),[[u,s.support_chat_rl_ip_per_hour,void 0,{number:!0}]])])])])):h("",!0)]),e("section",rF,[e("div",dF,[e("div",null,[e("h3",cF,n(x("ç¥è¯åº RAG","Knowledge Base RAG")),1),e("p",uF,n(x("é
置客æç¥è¯åºæååæ£ç´¢åæ°ã","Configure support knowledge-base crawling and retrieval.")),1)]),g(T,{modelValue:s.support_chat_rag_enabled,"onUpdate:modelValue":i[276]||(i[276]=o=>s.support_chat_rag_enabled=o)},null,8,["modelValue"])]),s.support_chat_rag_enabled?(r(),d("div",_F,[e("div",mF,[e("label",pF,n(x("ææ¡£ URL","Document URL")),1),c(e("input",{"onUpdate:modelValue":i[277]||(i[277]=o=>s.support_chat_rag_doc_url=o),type:"url",class:"input"},null,512),[[u,s.support_chat_rag_doc_url]])]),e("div",null,[e("label",gF,n(x("æå深度","Document Depth")),1),c(e("input",{"onUpdate:modelValue":i[278]||(i[278]=o=>s.support_chat_rag_doc_depth=o),type:"number",min:"0",max:"3",class:"input"},null,512),[[u,s.support_chat_rag_doc_depth,void 0,{number:!0}]])]),e("div",null,[e("label",yF,n(x("æå计å","Schedule")),1),c(e("select",{"onUpdate:modelValue":i[279]||(i[279]=o=>s.support_chat_rag_doc_cron=o),class:"input"},[e("option",bF,n(x("æå¨","Manual")),1),e("option",xF,n(x("æ¯æ¥","Daily")),1),e("option",hF,n(x("æ¯å¨","Weekly")),1)],512),[[Ie,s.support_chat_rag_doc_cron]])]),e("div",null,[e("label",fF,n(x("Embedding æä¾å","Embedding Provider")),1),c(e("select",{"onUpdate:modelValue":i[280]||(i[280]=o=>s.support_chat_rag_embed_provider=o),class:"input"},[...i[396]||(i[396]=[e("option",{value:"gemini"},"Gemini",-1),e("option",{value:"openai"},"OpenAI",-1)])],512),[[Ie,s.support_chat_rag_embed_provider]])]),e("div",null,[e("label",kF,n(x("Embedding 模å","Embedding Model")),1),c(e("input",{"onUpdate:modelValue":i[281]||(i[281]=o=>s.support_chat_rag_embed_model=o),type:"text",class:"input"},null,512),[[u,s.support_chat_rag_embed_model]])]),e("div",null,[i[397]||(i[397]=e("label",{class:"input-label"},"Embedding Base URL",-1)),c(e("input",{"onUpdate:modelValue":i[282]||(i[282]=o=>s.support_chat_embedding_base_url=o),type:"url",class:"input"},null,512),[[u,s.support_chat_embedding_base_url]])]),e("div",null,[i[398]||(i[398]=e("label",{class:"input-label"},"Embedding API Key",-1)),c(e("input",{"onUpdate:modelValue":i[283]||(i[283]=o=>s.support_chat_embedding_api_key=o),type:"password",class:"input",autocomplete:"new-password"},null,512),[[u,s.support_chat_embedding_api_key]])]),e("div",null,[i[399]||(i[399]=e("label",{class:"input-label"},"Top K",-1)),c(e("input",{"onUpdate:modelValue":i[284]||(i[284]=o=>s.support_chat_rag_top_k=o),type:"number",min:"1",max:"20",class:"input"},null,512),[[u,s.support_chat_rag_top_k,void 0,{number:!0}]])]),e("div",null,[e("label",vF,n(x("åå大å°","Chunk Size")),1),c(e("input",{"onUpdate:modelValue":i[285]||(i[285]=o=>s.support_chat_rag_chunk_size=o),type:"number",min:"200",max:"4000",class:"input"},null,512),[[u,s.support_chat_rag_chunk_size,void 0,{number:!0}]])]),e("div",null,[e("label",wF,n(x("ååéå ","Chunk Overlap")),1),c(e("input",{"onUpdate:modelValue":i[286]||(i[286]=o=>s.support_chat_rag_chunk_overlap=o),type:"number",min:"0",max:"500",class:"input"},null,512),[[u,s.support_chat_rag_chunk_overlap,void 0,{number:!0}]])])])):h("",!0)])])])],512),[[Se,S.value==="supportChat"]]),c(e("div",CF,[e("div",VF,[e("div",UF,[e("h2",SF,n(a(t)("admin.settings.payment.title")),1),e("p",$F,[I(n(a(t)("admin.settings.payment.description"))+" ",1),e("a",{href:w.value,target:"_blank",rel:"noopener noreferrer",class:"ml-2 inline-flex items-center text-primary-600 hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-300"},[i[400]||(i[400]=e("svg",{class:"mr-0.5 h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})],-1)),I(" "+n(a(t)("admin.settings.payment.configGuide")),1)],8,PF)])]),e("div",EF,[e("div",TF,[e("div",null,[e("label",AF,n(a(t)("admin.settings.payment.enabled")),1),e("p",MF,n(a(t)("admin.settings.payment.enabledHint")),1)]),g(T,{modelValue:s.payment_enabled,"onUpdate:modelValue":i[287]||(i[287]=o=>s.payment_enabled=o)},null,8,["modelValue"])]),s.payment_enabled?(r(),d(R,{key:0},[e("div",FF,[e("div",null,[e("label",LF,n(a(t)("admin.settings.payment.productNamePrefix")),1),c(e("input",{"onUpdate:modelValue":i[288]||(i[288]=o=>s.payment_product_name_prefix=o),type:"text",class:"input",placeholder:"Sub2API"},null,512),[[u,s.payment_product_name_prefix]])]),e("div",null,[e("label",HF,n(a(t)("admin.settings.payment.productNameSuffix")),1),c(e("input",{"onUpdate:modelValue":i[289]||(i[289]=o=>s.payment_product_name_suffix=o),type:"text",class:"input",placeholder:"CNY"},null,512),[[u,s.payment_product_name_suffix]])]),e("div",null,[e("label",IF,n(a(t)("admin.settings.payment.preview")),1),e("div",RF,n((s.payment_product_name_prefix||"Sub2API")+" 100 "+(s.payment_product_name_suffix||"CNY")),1)])]),e("div",BF,[e("div",null,[e("label",jF,n(a(t)("admin.settings.payment.minAmount")),1),e("input",{value:s.payment_min_amount||"",onInput:i[290]||(i[290]=o=>s.payment_min_amount=parseFloat(o.target.value)||0),type:"number",step:"0.01",min:"0",class:"input",placeholder:a(t)("admin.settings.payment.noLimit")},null,40,DF)]),e("div",null,[e("label",OF,n(a(t)("admin.settings.payment.maxAmount")),1),e("input",{value:s.payment_max_amount||"",onInput:i[291]||(i[291]=o=>s.payment_max_amount=parseFloat(o.target.value)||0),type:"number",step:"0.01",min:"0",class:"input",placeholder:a(t)("admin.settings.payment.noLimit")},null,40,zF)]),e("div",null,[e("label",qF,n(a(t)("admin.settings.payment.dailyLimit")),1),e("input",{value:s.payment_daily_limit||"",onInput:i[292]||(i[292]=o=>s.payment_daily_limit=parseFloat(o.target.value)||0),type:"number",step:"0.01",min:"0",class:"input",placeholder:a(t)("admin.settings.payment.noLimit")},null,40,NF)]),e("div",null,[e("label",KF,n(a(t)("admin.settings.payment.balanceRechargeMultiplier")),1),e("input",{value:s.payment_balance_recharge_multiplier||"",onInput:i[293]||(i[293]=o=>s.payment_balance_recharge_multiplier=parseFloat(o.target.value)||1),type:"number",step:"0.01",min:"0.01",class:"input"},null,40,WF),e("p",GF,n(a(t)("admin.settings.payment.balanceRechargeMultiplierHint")),1),e("p",QF,n(a(t)("admin.settings.payment.balanceRechargePreview",{usd:(Number(s.payment_balance_recharge_multiplier)||1).toFixed(2)})),1)]),e("div",null,[e("label",YF,n(a(t)("admin.settings.payment.subscriptionUsdToCnyRate")),1),e("input",{value:s.payment_subscription_usd_to_cny_rate||"",onInput:i[294]||(i[294]=o=>s.payment_subscription_usd_to_cny_rate=parseFloat(o.target.value)||0),type:"number",step:"0.01",min:"0",class:"input",placeholder:a(t)("admin.settings.payment.subscriptionUsdToCnyRateDisabled")},null,40,JF),e("p",XF,n(a(t)("admin.settings.payment.subscriptionUsdToCnyRateHint")),1)]),e("div",null,[e("label",ZF,n(a(t)("admin.settings.payment.rechargeFeeRate")),1),e("div",eL,[e("input",{value:s.payment_recharge_fee_rate??"",onInput:i[295]||(i[295]=o=>s.payment_recharge_fee_rate=Math.min(100,Math.max(0,Math.round(parseFloat(o.target.value||"0")*100)/100))),type:"number",step:"0.01",min:"0",max:"100",class:"input pr-8"},null,40,tL),i[401]||(i[401]=e("span",{class:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400"},"%",-1))]),e("p",aL,n(a(t)("admin.settings.payment.rechargeFeeRateHint")),1),(Number(s.payment_recharge_fee_rate)||0)>0?(r(),d("p",sL,n(a(t)("admin.settings.payment.rechargeFeePreview",{fee:(Number(s.payment_recharge_fee_rate)||0).toFixed(2)})),1)):h("",!0)]),e("div",null,[e("label",nL,[I(n(a(t)("admin.settings.payment.orderTimeout"))+" ",1),i[402]||(i[402]=e("span",{class:"text-red-500"},"*",-1))]),c(e("input",{"onUpdate:modelValue":i[296]||(i[296]=o=>s.payment_order_timeout_minutes=o),type:"number",min:"1",class:"input",required:""},null,512),[[u,s.payment_order_timeout_minutes,void 0,{number:!0}]]),e("p",iL,n(a(t)("admin.settings.payment.orderTimeoutHint")),1)])]),e("div",oL,[e("div",lL,[e("label",rL,n(a(t)("admin.settings.payment.maxPendingOrders")),1),c(e("input",{"onUpdate:modelValue":i[297]||(i[297]=o=>s.payment_max_pending_orders=o),type:"number",min:"1",class:"input"},null,512),[[u,s.payment_max_pending_orders,void 0,{number:!0}]])]),e("div",null,[e("label",dL,n(a(t)("admin.settings.payment.loadBalanceStrategy")),1),g(ke,{modelValue:s.payment_load_balance_strategy,"onUpdate:modelValue":i[298]||(i[298]=o=>s.payment_load_balance_strategy=o),options:fo.value,class:"w-40"},null,8,["modelValue","options"])]),e("div",null,[e("label",cL,n(a(t)("admin.settings.payment.cancelRateLimit")),1),e("div",uL,[e("button",{type:"button",class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",s.payment_cancel_rate_limit_enabled?"bg-primary-500":"bg-gray-300 dark:bg-dark-600"]),onClick:i[299]||(i[299]=o=>s.payment_cancel_rate_limit_enabled=!s.payment_cancel_rate_limit_enabled)},[e("span",{class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",s.payment_cancel_rate_limit_enabled?"translate-x-5":"translate-x-0"])},null,2)],2),g(ke,{modelValue:s.payment_cancel_rate_limit_window_mode,"onUpdate:modelValue":i[300]||(i[300]=o=>s.payment_cancel_rate_limit_window_mode=o),options:vo.value,class:"w-24",disabled:!s.payment_cancel_rate_limit_enabled},null,8,["modelValue","options","disabled"]),e("span",{class:X(["text-sm whitespace-nowrap",s.payment_cancel_rate_limit_enabled?"text-gray-700 dark:text-gray-300":"text-gray-400 dark:text-gray-600"])},n(a(t)("admin.settings.payment.cancelRateLimitEvery")),3),c(e("input",{"onUpdate:modelValue":i[301]||(i[301]=o=>s.payment_cancel_rate_limit_window=o),type:"number",min:"1",required:"",class:"input w-14 text-center",disabled:!s.payment_cancel_rate_limit_enabled},null,8,_L),[[u,s.payment_cancel_rate_limit_window,void 0,{number:!0}]]),g(ke,{modelValue:s.payment_cancel_rate_limit_unit,"onUpdate:modelValue":i[302]||(i[302]=o=>s.payment_cancel_rate_limit_unit=o),options:ko.value,class:"w-28",disabled:!s.payment_cancel_rate_limit_enabled},null,8,["modelValue","options","disabled"]),e("span",{class:X(["text-sm whitespace-nowrap",s.payment_cancel_rate_limit_enabled?"text-gray-700 dark:text-gray-300":"text-gray-400 dark:text-gray-600"])},n(a(t)("admin.settings.payment.cancelRateLimitAllowMax")),3),c(e("input",{"onUpdate:modelValue":i[303]||(i[303]=o=>s.payment_cancel_rate_limit_max=o),type:"number",min:"1",required:"",class:"input w-14 text-center",disabled:!s.payment_cancel_rate_limit_enabled},null,8,mL),[[u,s.payment_cancel_rate_limit_max,void 0,{number:!0}]]),e("span",{class:X(["text-sm whitespace-nowrap",s.payment_cancel_rate_limit_enabled?"text-gray-700 dark:text-gray-300":"text-gray-400 dark:text-gray-600"])}
12,n(a(t)("admin.settings.payment.cancelRateLimitTimes")),3)])]),e("div",null,[e("label",pL,n(a(t)("admin.settings.payment.alipayForceQRCode")),1),e("div",gL,[e("button",{type:"button",class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",s.payment_alipay_force_qrcode?"bg-primary-500":"bg-gray-300 dark:bg-dark-600"]),onClick:i[304]||(i[304]=o=>s.payment_alipay_force_qrcode=!s.payment_alipay_force_qrcode)},[e("span",{class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",s.payment_alipay_force_qrcode?"translate-x-5":"translate-x-0"])},null,2)],2),e("span",yL,n(a(t)("admin.settings.payment.alipayForceQRCodeHint")),1)])]),e("div",null,[e("label",bL,n(a(t)("admin.settings.payment.alipayMobilePrecreateDeepLink")),1),e("div",xL,[e("button",{type:"button",class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",s.payment_alipay_mobile_precreate_deep_link?"bg-primary-500":"bg-gray-300 dark:bg-dark-600"]),onClick:i[305]||(i[305]=o=>s.payment_alipay_mobile_precreate_deep_link=!s.payment_alipay_mobile_precreate_deep_link)},[e("span",{class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",s.payment_alipay_mobile_precreate_deep_link?"translate-x-5":"translate-x-0"])},null,2)],2),e("span",hL,n(a(t)("admin.settings.payment.alipayMobilePrecreateDeepLinkHint")),1)])])]),e("div",null,[e("label",fL,n(a(t)("admin.settings.payment.enabledPaymentTypes")),1),e("div",kL,[(r(!0),d(R,null,N(fa.value,o=>(r(),d("button",{key:o.value,type:"button",onClick:m=>bo(o.value),class:X(["rounded-lg border px-3 py-1.5 text-sm font-medium transition-all",go(o.value)?"border-primary-500 bg-primary-500 text-white shadow-sm":"border-gray-300 bg-white text-gray-600 hover:border-gray-400 hover:bg-gray-50 dark:border-dark-600 dark:bg-dark-800 dark:text-gray-300 dark:hover:border-dark-500"])},n(o.label),11,vL))),128))]),e("p",wL,[I(n(a(t)("admin.settings.payment.enabledPaymentTypesHint"))+" ",1),e("a",{href:f.value,target:"_blank",rel:"noopener noreferrer",class:"ml-1 text-primary-500 hover:text-primary-600 dark:text-primary-400 dark:hover:text-primary-300"},[I(n(a(t)("admin.settings.payment.findProvider"))+" ",1),i[403]||(i[403]=e("svg",{class:"mb-0.5 ml-0.5 inline h-3 w-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})],-1))],8,CL)])]),e("div",VL,[e("div",null,[e("label",UL,n(a(t)("admin.settings.payment.helpImage")),1),g(Qt,{modelValue:s.payment_help_image_url,"onUpdate:modelValue":i[306]||(i[306]=o=>s.payment_help_image_url=o),"upload-label":a(t)("admin.settings.site.uploadImage"),"remove-label":a(t)("admin.settings.site.remove"),placeholder:a(t)("admin.settings.payment.helpImagePlaceholder")},null,8,["modelValue","upload-label","remove-label","placeholder"])]),e("div",null,[e("label",SL,n(a(t)("admin.settings.payment.helpText")),1),c(e("textarea",{"onUpdate:modelValue":i[307]||(i[307]=o=>s.payment_help_text=o),rows:"3",class:"input",placeholder:a(t)("admin.settings.payment.helpTextPlaceholder")},null,8,$L),[[u,s.payment_help_text]])])])],64)):h("",!0)])]),s.payment_enabled?(r(),Xe(Xl,{key:0,providers:Dt.value,loading:ka.value,"can-create":yo.value,"enabled-payment-types":s.payment_enabled_types,"all-payment-types":fa.value,"redirect-label":a(t)("admin.settings.payment.easypayRedirect"),onRefresh:rt,onCreate:wo,onEdit:Co,onDelete:$o,onToggleField:Uo,onToggleType:So,onReorder:Po},null,8,["providers","loading","can-create","enabled-payment-types","all-payment-types","redirect-label"])):h("",!0)],512),[[Se,S.value==="payment"]]),c(e("div",PL,[s.email_verify_enabled?h("",!0):(r(),d("div",EL,[e("div",TL,[e("div",AL,[g(de,{name:"mail",size:"md",class:"mt-0.5 flex-shrink-0 text-gray-400 dark:text-gray-500"}),e("div",null,[e("h3",ML,n(a(t)("admin.settings.emailTabDisabledTitle")),1),e("p",FL,n(a(t)("admin.settings.emailTabDisabledHint")),1)])])])])),s.email_verify_enabled?(r(),d("div",LL,[e("div",HL,[e("div",null,[e("h2",IL,n(a(t)("admin.settings.smtp.title")),1),e("p",RL,n(a(t)("admin.settings.smtp.description")),1)]),e("button",{type:"button",onClick:Li,disabled:Q.value||oe.value,class:"btn btn-secondary btn-sm"},[Q.value?(r(),d("svg",jL,[...i[404]||(i[404]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):h("",!0),I(" "+n(Q.value?a(t)("admin.settings.smtp.testing"):a(t)("admin.settings.smtp.testConnection")),1)],8,BL)]),e("div",DL,[e("div",OL,[e("div",null,[e("label",zL,n(a(t)("admin.settings.smtp.host")),1),c(e("input",{"onUpdate:modelValue":i[308]||(i[308]=o=>s.smtp_host=o),type:"text",class:"input",placeholder:a(t)("admin.settings.smtp.hostPlaceholder")},null,8,qL),[[u,s.smtp_host]])]),e("div",null,[e("label",NL,n(a(t)("admin.settings.smtp.port")),1),c(e("input",{"onUpdate:modelValue":i[309]||(i[309]=o=>s.smtp_port=o),type:"number",min:"1",max:"65535",class:"input",placeholder:a(t)("admin.settings.smtp.portPlaceholder")},null,8,KL),[[u,s.smtp_port,void 0,{number:!0}]])]),e("div",null,[e("label",WL,n(a(t)("admin.settings.smtp.username")),1),c(e("input",{"onUpdate:modelValue":i[310]||(i[310]=o=>s.smtp_username=o),type:"text",class:"input",placeholder:a(t)("admin.settings.smtp.usernamePlaceholder")},null,8,GL),[[u,s.smtp_username]])]),e("div",null,[e("label",QL,n(a(t)("admin.settings.smtp.password")),1),c(e("input",{"onUpdate:modelValue":i[311]||(i[311]=o=>s.smtp_password=o),type:"password",class:"input",autocomplete:"new-password",autocapitalize:"off",spellcheck:"false",onKeydown:i[312]||(i[312]=o=>K.value=!0),onPaste:i[313]||(i[313]=o=>K.value=!0),placeholder:s.smtp_password_configured?a(t)("admin.settings.smtp.passwordConfiguredPlaceholder"):a(t)("admin.settings.smtp.passwordPlaceholder")},null,40,YL),[[u,s.smtp_password]]),e("p",JL,n(s.smtp_password_configured?a(t)("admin.settings.smtp.passwordConfiguredHint"):a(t)("admin.settings.smtp.passwordHint")),1)]),e("div",null,[e("label",XL,n(a(t)("admin.settings.smtp.fromEmail")),1),c(e("input",{"onUpdate:modelValue":i[314]||(i[314]=o=>s.smtp_from_email=o),type:"email",class:"input",placeholder:a(t)("admin.settings.smtp.fromEmailPlaceholder")},null,8,ZL),[[u,s.smtp_from_email]])]),e("div",null,[e("label",eH,n(a(t)("admin.settings.smtp.fromName")),1),c(e("input",{"onUpdate:modelValue":i[315]||(i[315]=o=>s.smtp_from_name=o),type:"text",class:"input",placeholder:a(t)("admin.settings.smtp.fromNamePlaceholder")},null,8,tH),[[u,s.smtp_from_name]])])]),e("div",aH,[e("div",null,[e("label",sH,n(a(t)("admin.settings.smtp.useTls")),1),e("p",nH,n(a(t)("admin.settings.smtp.useTlsHint")),1)]),g(T,{modelValue:s.smtp_use_tls,"onUpdate:modelValue":i[316]||(i[316]=o=>s.smtp_use_tls=o)},null,8,["modelValue"])])])])):h("",!0),s.email_verify_enabled?(r(),d("div",iH,[e("div",oH,[e("h2",lH,n(a(t)("admin.settings.testEmail.title")),1),e("p",rH,n(a(t)("admin.settings.testEmail.description")),1)]),e("div",dH,[e("div",cH,[e("div",uH,[e("label",_H,n(a(t)("admin.settings.testEmail.recipientEmail")),1),c(e("input",{"onUpdate:modelValue":i[317]||(i[317]=o=>Z.value=o),type:"email",class:"input",placeholder:a(t)("admin.settings.testEmail.recipientEmailPlaceholder")},null,8,mH),[[u,Z.value]])]),e("button",{type:"button",onClick:Hi,disabled:z.value||!Z.value||oe.value,class:"btn btn-secondary"},[z.value?(r(),d("svg",gH,[...i[405]||(i[405]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):h("",!0),I(" "+n(z.value?a(t)("admin.settings.testEmail.sending"):a(t)("admin.settings.testEmail.sendTestEmail")),1)],8,pH)])])])):h("",!0),e("div",yH,[e("div",bH,[e("h3",xH,n(a(t)("admin.settings.subscriptionExpiryNotify.title")),1),e("p",hH,n(a(t)("admin.settings.subscriptionExpiryNotify.description")),1)]),e("div",fH,[e("div",kH,[e("div",null,[e("label",vH,n(a(t)("admin.settings.subscriptionExpiryNotify.enabled")),1),e("p",wH,n(a(t)("admin.settings.subscriptionExpiryNotify.enabledHint")),1)]),g(T,{modelValue:s.subscription_expiry_notify_enabled,"onUpdate:modelValue":i[318]||(i[318]=o=>s.subscription_expiry_notify_enabled=o)},null,8,["modelValue"])])])]),g(_g),e("div",CH,[e("div",VH,[e("h3",UH,n(a(t)("admin.settings.balanceNotify.title")),1),e("p",SH,n(a(t)("admin.settings.balanceNotify.description")),1)]),e("div",$H,[e("div",PH,[e("label",EH,n(a(t)("admin.settings.balanceNotify.enabled")),1),g(T,{modelValue:s.balance_low_notify_enabled,"onUpdate:modelValue":i[319]||(i[319]=o=>s.balance_low_notify_enabled=o)},null,8,["modelValue"])]),s.balance_low_notify_enabled?(r(),d("div",TH,[e("label",AH,n(a(t)("admin.settings.balanceNotify.threshold")),1),e("div",MH,[i[406]||(i[406]=e("span",{class:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"},"$",-1)),c(e("input",{"onUpdate:modelValue":i[320]||(i[320]=o=>s.balance_low_notify_threshold=o),type:"number",min:"0",step:"0.01",class:"input pl-7"},null,512),[[u,s.balance_low_notify_threshold,void 0,{number:!0}]])]),e("p",FH,n(a(t)("admin.settings.balanceNotify.thresholdHint")),1)])):h("",!0),e("div",null,[e("label",LH,n(a(t)("admin.settings.balanceNotify.rechargeUrl")),1),c(e("input",{"onUpdate:modelValue":i[321]||(i[321]=o=>s.balance_low_notify_recharge_url=o),type:"url",class:"input",placeholder:a(ra)},null,8,HH),[[u,s.balance_low_notify_recharge_url]]),e("p",IH,n(a(t)("admin.settings.balanceNotify.rechargeUrlHint")),1)])])]),e("div",RH,[e("div",BH,[e("h3",jH,n(a(t)("admin.settings.quotaNotify.title")),1),e("p",DH,n(a(t)("admin.settings.quotaNotify.description")),1)]),e("div",OH,[e("div",zH,[e("label",qH,n(a(t)("admin.settings.quotaNotify.enabled")),1),g(T,{modelValue:s.account_quota_notify_enabled,"onUpdate:modelValue":i[322]||(i[322]=o=>s.account_quota_notify_enabled=o)},null,8,["modelValue"])]),s.account_quota_notify_enabled?(r(),d("div",NH,[e("label",KH,n(a(t)("admin.settings.quotaNotify.emails")),1),e("div",WH,[(r(!0),d(R,null,N(s.account_quota_notify_emails||[],(o,m)=>(r(),d("div",{key:m,class:"flex items-center gap-2"},[e("label",GH,[e("input",{type:"checkbox",checked:!o.disabled,onChange:_=>o.disabled=!o.disabled,class:"sr-only peer"},null,40,QH),i[407]||(i[407]=e("div",{class:"w-9 h-5 bg-gray-200 peer-focus:outline-none rounded-full peer dark:bg-gray-600 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all dark:after:border-gray-500 peer-checked:bg-primary-600"},null,-1))]),c(e("input",{"onUpdate:modelValue":_=>o.email=_,type:"email",class:"input flex-1",placeholder:a(t)("admin.settings.quotaNotify.emailPlaceholder")},null,8,YH),[[u,o.email]]),e("button",{onClick:_=>s.account_quota_notify_emails.splice(m,1),class:"btn btn-secondary px-2",type:"button"},[g(de,{name:"x",size:"xs",class:"h-4 w-4"})],8,JH)]))),128)),e("button",{onClick:Qn,class:"btn btn-secondary btn-sm",type:"button"}," + "+n(a(t)("admin.settings.quotaNotify.addEmail")),1)]),e("p",XH,n(a(t)("admin.settings.quotaNotify.emailsHint")),1)])):h("",!0)])])],512),[[Se,S.value==="email"]]),c(e("div",null,[g(E_)],512),[[Se,S.value==="backup"]]),c(e("div",null,[g(Lm)],512),[[Se,S.value==="oidc"]]),c(e("div",ZH,[g(up),g(Vp)],512),[[Se,S.value==="media"]]),c(e("div",eI,[e("button",{type:"submit",disabled:D.value||oe.value,class:"btn btn-primary"},[D.value?(r(),d("svg",aI,[...i[408]||(i[408]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):h("",!0),I(" "+n(D.value?a(t)("admin.settings.saving"):a(t)("admin.settings.saveSettings")),1)],8,tI)],512),[[Se,S.value!=="backup"&&S.value!=="oidc"&&S.value!=="media"]])],32)),g(vd,{ref_key:"providerDialogRef",ref:Ca,show:Tt.value,saving:va.value,editing:it.value,"all-key-options":As.value,"enabled-key-options":Ms.value,"all-payment-types":fa.value,"redirect-label":a(t)("admin.settings.payment.easypayRedirect"),onClose:i[323]||(i[323]=o=>Tt.value=!1),onSave:Vo},null,8,["show","saving","editing","all-key-options","enabled-key-options","all-payment-types","redirect-label"]),g(wt,{show:Ot.value,title:a(t)("admin.settings.payment.deleteProvider"),message:a(t)("admin.settings.payment.deleteProviderConfirm"),"confirm-text":a(t)("common.delete"),danger:"",onConfirm:Eo,onCancel:i[324]||(i[324]=o=>Ot.value=!1)},null,8,["show","title","message","confirm-text"]),g(wt,{show:De.show,title:De.title,message:De.message,"confirm-text":De.confirmText,danger:"",onConfirm:Ao,onCancel:Mo},null,8,["show","title","message","confirm-text"]),g(cn,{controller:a(L)},null,8,["controller"])])]),_:1})}}}),TI=rn(iI,[["__scopeId","data-v-1ee94fc5"]]);export{TI as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.